mirror of
https://github.com/rustmailer/bichon.git
synced 2026-08-03 07:48:34 +02:00
57 lines
1.8 KiB
TypeScript
57 lines
1.8 KiB
TypeScript
//
|
|
// Copyright (c) 2025-2026 rustmailer.com (https://rustmailer.com)
|
|
//
|
|
// This file is part of the Bichon Email Archiving Project
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
import {
|
|
Card,
|
|
CardContent,
|
|
CardFooter,
|
|
CardHeader,
|
|
CardTitle,
|
|
} from '@/components/ui/card'
|
|
import { UserAuthForm } from './user-auth-form'
|
|
import { useTranslation } from 'react-i18next'
|
|
import { AuthLayout } from './auth-layout'
|
|
|
|
export default function SignIn() {
|
|
const { t } = useTranslation()
|
|
return (
|
|
<AuthLayout>
|
|
<Card className='gap-4'>
|
|
<CardHeader>
|
|
<CardTitle className='text-lg tracking-tight'>{t('auth.welcome')}</CardTitle>
|
|
</CardHeader>
|
|
<CardContent>
|
|
<UserAuthForm />
|
|
</CardContent>
|
|
<CardFooter>
|
|
<p className="text-muted-foreground px-8 text-center text-sm">
|
|
{t('common.project_description')}
|
|
<a
|
|
href="https://github.com/rustmailer/bichon"
|
|
className="hover:text-primary underline underline-offset-4 ml-1"
|
|
>
|
|
{t('common.view_on_github_button')}
|
|
</a>
|
|
.
|
|
</p>
|
|
</CardFooter>
|
|
</Card>
|
|
</AuthLayout>
|
|
)
|
|
}
|