️ Cache login page

This commit is contained in:
Luke Vella 2025-02-24 09:09:06 +00:00
parent ca46b18f3a
commit a40f86024e
No known key found for this signature in database
GPG key ID: 469CAD687F0D784C
3 changed files with 11 additions and 25 deletions

View file

@ -1,21 +1,17 @@
"use client";
import { Button } from "@rallly/ui/button";
import { useSearchParams } from "next/navigation";
import { signIn } from "next-auth/react";
import { Trans } from "@/components/trans";
export async function LoginWithOIDC({
name,
redirectTo,
}: {
name: string;
redirectTo?: string;
}) {
export async function LoginWithOIDC({ name }: { name: string }) {
const searchParams = useSearchParams();
return (
<Button
onClick={() => {
signIn("oidc", {
redirectTo,
redirectTo: searchParams?.get("redirectTo") ?? undefined,
});
}}
variant="link"

View file

@ -3,6 +3,7 @@ import { Button } from "@rallly/ui/button";
import { Icon } from "@rallly/ui/icon";
import { UserIcon } from "lucide-react";
import Image from "next/image";
import { useSearchParams } from "next/navigation";
import { signIn } from "next-auth/react";
import { Trans } from "@/components/trans";
@ -40,13 +41,12 @@ function SSOImage({ provider }: { provider: string }) {
export function SSOProvider({
providerId,
name,
redirectTo,
}: {
providerId: string;
name: string;
redirectTo?: string;
}) {
const { t } = useTranslation();
const searchParams = useSearchParams();
return (
<Button
size="lg"
@ -58,7 +58,7 @@ export function SSOProvider({
key={providerId}
onClick={() => {
signIn(providerId, {
redirectTo,
redirectTo: searchParams?.get("redirectTo") ?? undefined,
});
}}
>

View file

@ -20,13 +20,9 @@ import { LoginWithOIDC } from "./components/login-with-oidc";
import { OrDivider } from "./components/or-divider";
import { SSOProvider } from "./components/sso-provider";
export default async function LoginPage({
searchParams,
}: {
searchParams?: {
redirectTo?: string;
};
}) {
export const dynamic = "force-static";
export default async function LoginPage() {
const { t } = await getTranslation();
const oidcProvider = OIDCProvider();
@ -51,12 +47,7 @@ export default async function LoginPage({
<AuthPageContent>
<LoginWithEmailForm />
{hasAlternateLoginMethods ? <OrDivider /> : null}
{oidcProvider ? (
<LoginWithOIDC
name={oidcProvider.name}
redirectTo={searchParams?.redirectTo}
/>
) : null}
{oidcProvider ? <LoginWithOIDC name={oidcProvider.name} /> : null}
{socialProviders ? (
<div className="grid gap-4">
{socialProviders.map((provider) =>
@ -65,7 +56,6 @@ export default async function LoginPage({
key={provider.id}
providerId={provider.id}
name={provider.options?.name || provider.name}
redirectTo={searchParams?.redirectTo}
/>
) : null,
)}