12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- import { Form, Head } from '@inertiajs/react';
- import { LoaderCircle } from 'lucide-react';
- import NewPasswordController from '@/actions/App/Http/Controllers/Auth/NewPasswordController';
- import { InputError } from '@/common/InputError';
- import AuthLayout from '@/pages/layouts/AuthLayout';
- import { Button } from '@/shadcn/button';
- import { Input } from '@/shadcn/input';
- import { Label } from '@/shadcn/label';
- interface ResetPasswordProps {
- token: string;
- email: string;
- }
- export default function ResetPasswordPage({ token, email }: ResetPasswordProps) {
- return (
- <AuthLayout title="Reset password" description="Please enter your new password below">
- <Head title="Reset password" />
- <Form
- {...NewPasswordController.store.form()}
- transform={(data) => ({ ...data, token, email })}
- resetOnSuccess={['password', 'password_confirmation']}
- >
- {({ processing, errors }) => (
- <div className="grid gap-6">
- <div className="grid gap-2">
- <Label htmlFor="email">Email</Label>
- <Input id="email" type="email" name="email" autoComplete="email" value={email} className="mt-1 block w-full" readOnly />
- <InputError message={errors.email} className="mt-2" />
- </div>
- <div className="grid gap-2">
- <Label htmlFor="password">Password</Label>
- <Input
- id="password"
- type="password"
- name="password"
- autoComplete="new-password"
- className="mt-1 block w-full"
- autoFocus
- placeholder="Password"
- />
- <InputError message={errors.password} />
- </div>
- <div className="grid gap-2">
- <Label htmlFor="password_confirmation">Confirm password</Label>
- <Input
- id="password_confirmation"
- type="password"
- name="password_confirmation"
- autoComplete="new-password"
- className="mt-1 block w-full"
- placeholder="Confirm password"
- />
- <InputError message={errors.password_confirmation} className="mt-2" />
- </div>
- <Button type="submit" className="mt-4 w-full" disabled={processing}>
- {processing && <LoaderCircle className="h-4 w-4 animate-spin" />}
- Reset password
- </Button>
- </div>
- )}
- </Form>
- </AuthLayout>
- );
- }
|