deployment-talks/chat-app/frontend/components/Login.js

38 lines
817 B
JavaScript

import m from "mithril";
import Cookies from "js-cookie";
export function LoginForm() {
let loggedIn = false;
async function login(e) {
e.preventDefault();
const formData = new FormData(e.target);
const res = await m.request({
method: "POST",
url: "/login",
body: formData
});
if (res.success) {
Cookies.set('logged-in', true);
} else {
Cookies.remove('logged-in');
}
}
return {
oninit: function() {
loggedIn = !!Cookies.get('logged-in');
},
view: function() {
return m("form", { action: "/login", method: "post", onsubmit: login }, [
m("label", { for: "username" }, "Username"),
m("input", { type: "text", name: "username" }),
m("input", { type: "submit", value: "Login" })
]);
}
}
}