dstpabuaran.com/resources/js/pages/auth/login.tsx
Yoga Pangestu 166419134f Refactor component imports for consistency and organization
- Updated import paths for various components to align with new directory structure.
- Changed imports from 'row-actions', 'confirm-dialog', 'image-preview-button', and 'file-upload' to their respective new locations in 'data-display', 'dialogs', and 'inputs'.
- Adjusted imports in multiple pages including purchase, restock, transaction, category, customer, product, raw-material, supplier, roles, and settings.
- Ensured all relevant components are imported from their new locations to maintain functionality.
2026-08-07 13:48:46 +07:00

94 lines
3.8 KiB
TypeScript

import { Form, Head } from '@inertiajs/react';
import { toast } from 'sonner';
import { InputError } from '@/components/ui';
import { PasswordInput } from '@/components/inputs';
import { Button } from '@/components/ui/button';
import { Checkbox } from '@/components/ui/checkbox';
import { Input } from '@/components/ui/input';
import { Label } from '@/components/ui/label';
import { Spinner } from '@/components/ui/spinner';
import { store } from '@/routes/login';
export default function Login() {
return (
<>
<Head title="Masuk Akun" />
<Form
action={store()}
resetOnSuccess={['password']}
className="flex flex-col gap-6"
>
{({ processing, errors }) => (
<>
<div className="grid gap-6">
<div className="grid gap-2">
<Label htmlFor="login">
Email atau Username
<span className="text-destructive">*</span>
</Label>
<Input
id="login"
type="text"
name="login"
required
autoFocus
tabIndex={1}
autoComplete="username"
placeholder="email@example.com or username"
/>
<InputError message={errors.login} />
</div>
<div className="grid gap-2">
<div className="flex items-center">
<Label htmlFor="password">
Kata Sandi
<span className="text-destructive">
*
</span>
</Label>
</div>
<PasswordInput
id="password"
name="password"
required
tabIndex={2}
autoComplete="current-password"
placeholder="********"
/>
<InputError message={errors.password} />
</div>
<div className="flex items-center space-x-3">
<Checkbox
id="remember"
name="remember"
tabIndex={3}
/>
<Label htmlFor="remember">Ingat saya</Label>
</div>
<Button
type="submit"
className="mt-4 w-full"
tabIndex={4}
disabled={processing}
data-test="login-button"
>
{processing && <Spinner />}
Masuk
</Button>
</div>
</>
)}
</Form>
</>
);
}
Login.layout = {
title: 'Selamat Datang',
description: 'Silakan masukkan email dan username untuk akses dasbor.',
};