Files
myeasycms-v2/apps/web/app/auth/sign-up/page.tsx
giancarlo 19332d124d Update nesting of Button and Link components
The Link component is modified to be nested within the Button component in various JSX files. This change was made with the aid of the 'asChild' property, it ensures that the link remains operable even when wrapped by the button, improving the site's semantics and accessibility.
2024-04-25 10:57:56 +07:00

59 lines
1.4 KiB
TypeScript

import Link from 'next/link';
import { SignUpMethodsContainer } from '@kit/auth/sign-up';
import { Button } from '@kit/ui/button';
import { Heading } from '@kit/ui/heading';
import { Trans } from '@kit/ui/trans';
import authConfig from '~/config/auth.config';
import pathsConfig from '~/config/paths.config';
import { createI18nServerInstance } from '~/lib/i18n/i18n.server';
import { withI18n } from '~/lib/i18n/with-i18n';
export const generateMetadata = async () => {
const i18n = await createI18nServerInstance();
return {
title: i18n.t('auth:signUp'),
};
};
interface Props {
searchParams: {
invite_token?: string;
};
}
const paths = {
callback: pathsConfig.auth.callback,
appHome: pathsConfig.app.home,
};
function SignUpPage({ searchParams }: Props) {
const inviteToken = searchParams.invite_token;
return (
<>
<Heading level={4}>
<Trans i18nKey={'auth:signUpHeading'} />
</Heading>
<SignUpMethodsContainer
providers={authConfig.providers}
inviteToken={inviteToken}
paths={paths}
/>
<div className={'justify-centers flex'}>
<Button asChild variant={'link'} size={'sm'}>
<Link href={pathsConfig.auth.signIn}>
<Trans i18nKey={'auth:alreadyHaveAnAccount'} />
</Link>
</Button>
</div>
</>
);
}
export default withI18n(SignUpPage);