Files
bit/app/javascript/controllers/users_controller.js
T
2021-06-16 10:24:33 -05:00

62 lines
1.2 KiB
JavaScript

import { Controller } from "stimulus"
import Turbolinks from "turbolinks"
export default class extends Controller {
static targets = ["signupModal", "loginModal"]
openLoginModal() {
this.loginModalTarget.classList.remove("hidden")
}
closeLoginModal() {
this.loginModalTarget.classList.add("hidden")
}
openSignupModal() {
this.closeLoginModal()
this.signupModalTarget.classList.remove("hidden")
}
closeSignupModal() {
this.signupModalTarget.classList.add("hidden")
}
onSignupSuccess() {
this.closeSignupModal();
Turbolinks.visit('/')
}
onLoginSuccess() {
this.closeLoginModal();
Turbolinks.visit('/')
}
onError(event) {
const [data, ,] = event.detail
const errors = []
if (data.username) {
errors.push(`Username: ${data.username.join(' ')}`)
}
if (data.password) {
errors.push(`Password: ${data.password.join(' ')}`)
}
alert(errors.join(','))
}
confirmLogout(event) {
if (!window.confirm("Do you really want to leave?")) {
event.stopPropagation()
return
}
}
onSuccessLogout() {
localStorage.removeItem("session-username")
Turbolinks.visit('/')
}
}