Vercel/app/sign-in/page.tsx
Sam Becker 646f32e642
Rich sort controls (#283)
* Generalize app switcher menus

* Organize sort module

* Build configuration for nav sort control

* Refine sort menu styles

* Upgrade next.js

* Reset custom sort when clicking grid/full a second time

* Light up sort button when overridden
2025-07-15 22:43:36 -05:00

38 lines
983 B
TypeScript

import { auth } from '@/auth/server';
import SignInForm from '@/auth/SignInForm';
import { PATH_ADMIN, PATH_ROOT } from '@/app/path';
import { clsx } from 'clsx/lite';
import { redirect } from 'next/navigation';
import LinkWithStatus from '@/components/LinkWithStatus';
import { IoArrowBack } from 'react-icons/io5';
import { getAppText } from '@/i18n/state/server';
export default async function SignInPage() {
const session = await auth();
if (session?.user) {
redirect(PATH_ADMIN);
}
const appText = await getAppText();
return (
<div className={clsx(
'fixed top-0 left-0 right-0 bottom-0',
'flex items-center justify-center flex-col gap-8',
)}>
<SignInForm />
<LinkWithStatus
href={PATH_ROOT}
className={clsx(
'flex items-center gap-2.5',
'text-lg',
)}
>
<IoArrowBack className="translate-y-[1px]" />
{appText.nav.home}
</LinkWithStatus>
</div>
);
}