From 9fb3665ced672a2b6c60dfc4c680a204878788d0 Mon Sep 17 00:00:00 2001 From: Darren Clarke Date: Fri, 13 Dec 2024 16:37:20 +0100 Subject: [PATCH] Login, logout and middleware updates --- .../app/(main)/setup/_components/Setup.tsx | 2 +- .../app/(login)/login/_components/Login.tsx | 7 +++-- .../app/(main)/_components/ClientOnly.tsx | 3 +- .../app/(main)/_components/ZammadWrapper.tsx | 6 ---- apps/link/app/(main)/logout/page.tsx | 13 ++++++++- .../_components/TicketCreateDialog.tsx | 5 ++-- .../[overview]/_components/TicketList.tsx | 1 - .../[overview]/_components/ZammadOverview.tsx | 18 +++++++----- .../app/(main)/setup/_components/Setup.tsx | 7 +++++ .../[id]/@edit/_components/TicketEdit.tsx | 9 ++---- apps/link/app/_actions/overviews.ts | 6 ++-- apps/link/app/_actions/tickets.ts | 6 ++-- .../app/_components/ZammadLoginProvider.tsx | 2 +- apps/link/app/_lib/authentication.ts | 2 +- apps/link/app/_lib/zammad.ts | 9 +----- apps/link/app/api/logout/route.ts | 29 +++++++++++++++++++ apps/link/middleware.ts | 14 +++++++-- packages/ui/components/Select.tsx | 7 ++++- 18 files changed, 96 insertions(+), 50 deletions(-) create mode 100644 apps/link/app/api/logout/route.ts diff --git a/apps/leafcutter/app/(main)/setup/_components/Setup.tsx b/apps/leafcutter/app/(main)/setup/_components/Setup.tsx index 1a079ec..7fe08ae 100644 --- a/apps/leafcutter/app/(main)/setup/_components/Setup.tsx +++ b/apps/leafcutter/app/(main)/setup/_components/Setup.tsx @@ -13,7 +13,7 @@ export const Setup: FC = () => { } = useLeafcutterContext(); const router = useRouter(); useLayoutEffect(() => { - setTimeout(() => router.push("/"), 4000); + setTimeout(() => router.push("/"), 2000); }, [router]); return ( diff --git a/apps/link/app/(login)/login/_components/Login.tsx b/apps/link/app/(login)/login/_components/Login.tsx index a1f57cb..05bc199 100644 --- a/apps/link/app/(login)/login/_components/Login.tsx +++ b/apps/link/app/(login)/login/_components/Login.tsx @@ -29,6 +29,7 @@ export const Login: FC = ({ session }) => { typeof window !== "undefined" && window.location.origin ? window.location.origin : ""; + const callbackUrl = `${origin}/setup`; const [provider, setProvider] = useState(undefined); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); @@ -157,7 +158,7 @@ export const Login: FC = ({ session }) => { sx={buttonStyles} onClick={() => signIn("google", { - callbackUrl: `${origin}`, + callbackUrl, }) } > @@ -173,7 +174,7 @@ export const Login: FC = ({ session }) => { sx={buttonStyles} onClick={() => signIn("apple", { - callbackUrl: `${window.location.origin}`, + callbackUrl, }) } > @@ -214,7 +215,7 @@ export const Login: FC = ({ session }) => { signIn("credentials", { email, password, - callbackUrl: `${origin}/setup`, + callbackUrl, }) } > diff --git a/apps/link/app/(main)/_components/ClientOnly.tsx b/apps/link/app/(main)/_components/ClientOnly.tsx index 46e79e8..b669b4f 100644 --- a/apps/link/app/(main)/_components/ClientOnly.tsx +++ b/apps/link/app/(main)/_components/ClientOnly.tsx @@ -1,8 +1,9 @@ "use client"; +import { ReactNode } from "react"; import dynamic from "next/dynamic"; -type ClientOnlyProps = { children: JSX.Element }; +type ClientOnlyProps = { children: ReactNode }; const ClientOnly = (props: ClientOnlyProps) => { const { children } = props; diff --git a/apps/link/app/(main)/_components/ZammadWrapper.tsx b/apps/link/app/(main)/_components/ZammadWrapper.tsx index 1696040..eaa09f1 100644 --- a/apps/link/app/(main)/_components/ZammadWrapper.tsx +++ b/apps/link/app/(main)/_components/ZammadWrapper.tsx @@ -69,7 +69,6 @@ export const ZammadWrapper: FC = ({ }, [session]); if (!session || !authenticated) { - console.log("Not authenticated"); return ( = ({ } if (session && authenticated) { - console.log("Session and authenticated"); return (