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.
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import Link from 'next/link';
|
|
|
|
import { PasswordResetRequestContainer } from '@kit/auth/password-reset';
|
|
import { Button } from '@kit/ui/button';
|
|
import { Heading } from '@kit/ui/heading';
|
|
import { Trans } from '@kit/ui/trans';
|
|
|
|
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 { t } = await createI18nServerInstance();
|
|
|
|
return {
|
|
title: t('auth:passwordResetLabel'),
|
|
};
|
|
};
|
|
|
|
const { callback, passwordUpdate, signIn } = pathsConfig.auth;
|
|
const redirectPath = `${callback}?next=${passwordUpdate}`;
|
|
|
|
function PasswordResetPage() {
|
|
return (
|
|
<>
|
|
<Heading level={4}>
|
|
<Trans i18nKey={'auth:passwordResetLabel'} />
|
|
</Heading>
|
|
|
|
<div className={'flex flex-col space-y-4'}>
|
|
<PasswordResetRequestContainer redirectPath={redirectPath} />
|
|
|
|
<div className={'flex justify-center text-xs'}>
|
|
<Button asChild variant={'link'} size={'sm'}>
|
|
<Link href={signIn}>
|
|
<Trans i18nKey={'auth:passwordRecoveredQuestion'} />
|
|
</Link>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</>
|
|
);
|
|
}
|
|
|
|
export default withI18n(PasswordResetPage);
|