aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/routes/login.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/app/routes/login.tsx')
-rw-r--r--frontend/app/routes/login.tsx31
1 files changed, 31 insertions, 0 deletions
diff --git a/frontend/app/routes/login.tsx b/frontend/app/routes/login.tsx
new file mode 100644
index 0000000..cf5be14
--- /dev/null
+++ b/frontend/app/routes/login.tsx
@@ -0,0 +1,31 @@
+import type { ActionFunctionArgs, LoaderFunctionArgs } from "@remix-run/node";
+import { Form } from "@remix-run/react";
+import { authenticator } from "../services/auth.server";
+
+export async function loader({ request }: LoaderFunctionArgs) {
+ return await authenticator.isAuthenticated(request, {
+ successRedirect: "/dashboard",
+ });
+}
+
+export async function action({ request }: ActionFunctionArgs) {
+ return await authenticator.authenticate("default", request, {
+ successRedirect: "/dashboard",
+ failureRedirect: "/login",
+ });
+}
+
+export default function Login() {
+ return (
+ <Form method="post">
+ <input type="username" name="username" required />
+ <input
+ type="password"
+ name="password"
+ autoComplete="current-password"
+ required
+ />
+ <button>Log In</button>
+ </Form>
+ );
+}