-
-
Explit
-
+ <>
+
+
-
+ >
);
}
diff --git a/app/routes/login.tsx b/app/routes/login.tsx
index ed98832..b8b0b11 100644
--- a/app/routes/login.tsx
+++ b/app/routes/login.tsx
@@ -2,6 +2,7 @@ import type { ActionFunction, LinksFunction, MetaFunction } from "remix";
import { useActionData, json, Link, useSearchParams, Form } from "remix";
import { db } from "~/utils/db.server";
import { login, createUserSession, register } from "~/utils/session.server";
+import Header from "../components/Header";
export const links: LinksFunction = () => {
return [];
@@ -37,14 +38,10 @@ type ActionData = {
fieldErrors?: {
username: string | undefined;
password: string | undefined;
- teamId: string | undefined;
};
fields?: {
- loginType: string;
username: string;
password: string;
- teamId: string;
- icon?: string;
};
};
@@ -52,18 +49,12 @@ const badRequest = (data: ActionData) => json(data, { status: 400 });
export const action: ActionFunction = async ({ request }) => {
const form = await request.formData();
- const loginType = form.get("loginType");
const username = form.get("username");
const password = form.get("password");
- const icon = form.get("icon");
- const teamId = form.get("teamId");
const redirectTo = form.get("redirectTo") || "/expenses";
if (
- typeof loginType !== "string" ||
typeof username !== "string" ||
typeof password !== "string" ||
- typeof icon !== "string" ||
- typeof teamId !== "string" ||
typeof redirectTo !== "string"
) {
return badRequest({
@@ -71,53 +62,22 @@ export const action: ActionFunction = async ({ request }) => {
});
}
- const fields = { loginType, username, password, teamId };
+ const fields = { username, password };
const fieldErrors = {
username: validateUsername(username),
password: validatePassword(password),
- teamId: validateTeamId(teamId),
};
if (Object.values(fieldErrors).some(Boolean))
return badRequest({ fieldErrors, fields });
- switch (loginType) {
- case "login": {
- const user = await login({ username, password, icon, teamId });
- if (!user) {
- return badRequest({
- fields,
- formError: `Username/Password combination is incorrect`,
- });
- }
- return createUserSession(user.id, redirectTo);
- }
- case "register": {
- const userExists = await db.user.findFirst({
- where: { username },
- });
- if (userExists) {
- console.error(userExists);
- return badRequest({
- fields,
- formError: `User with username ${username} already exists`,
- });
- }
- const user = await register({ username, password, icon, teamId });
- if (!user) {
- return badRequest({
- fields,
- formError: `Something went wrong trying to create a new user.`,
- });
- }
- return createUserSession(user.id, redirectTo);
- }
- default: {
- return badRequest({
- fields,
- formError: `Login type invalid`,
- });
- }
+ const user = await login({ username, password });
+ if (!user) {
+ return badRequest({
+ fields,
+ formError: `Username/Password combination is incorrect`,
+ });
}
+ return createUserSession(user.id, redirectTo);
};
export default function Login() {
@@ -125,143 +85,150 @@ export default function Login() {
const [searchParams] = useSearchParams();
return (
-