Version 3 of the kit: - Radix UI replaced with Base UI (using the Shadcn UI patterns) - next-intl replaces react-i18next - enhanceAction deprecated; usage moved to next-safe-action - main layout now wrapped with [locale] path segment - Teams only mode - Layout updates - Zod v4 - Next.js 16.2 - Typescript 6 - All other dependencies updated - Removed deprecated Edge CSRF - Dynamic Github Action runner
34 lines
880 B
TypeScript
34 lines
880 B
TypeScript
'use client';
|
|
|
|
import Link from 'next/link';
|
|
import { useSearchParams } from 'next/navigation';
|
|
|
|
import { ArrowLeftIcon } from 'lucide-react';
|
|
|
|
import { getSafeRedirectPath } from '@kit/shared/utils';
|
|
import { Button } from '@kit/ui/button';
|
|
import { Trans } from '@kit/ui/trans';
|
|
|
|
import appConfig from '~/config/app.config';
|
|
|
|
export function DocsBackButton() {
|
|
const searchParams = useSearchParams();
|
|
const returnPath = searchParams.get('returnPath');
|
|
const parsedPath = getSafeRedirectPath(returnPath, '/');
|
|
|
|
return (
|
|
<Button
|
|
nativeButton={false}
|
|
variant="link"
|
|
render={
|
|
<Link href={parsedPath || '/'}>
|
|
<ArrowLeftIcon className="size-4" />{' '}
|
|
<span className={'hidden sm:block'}>
|
|
<Trans i18nKey="common.back" values={{ product: appConfig.name }} />
|
|
</span>
|
|
</Link>
|
|
}
|
|
/>
|
|
);
|
|
}
|