Files
Investidor-V2/resources/js/pages/auth/confirm-password.tsx
T

71 lines
2.6 KiB
TypeScript

import { Form, Head } from '@inertiajs/react';
import InputError from '@/components/input-error';
import PasswordInput from '@/components/password-input';
import { Button } from '@/components/ui/button';
import { Label } from '@/components/ui/label';
import { Spinner } from '@/components/ui/spinner';
import { store } from '@/routes/password/confirm';
/* @chisel-passkeys */
import {
index as confirmOptions,
store as confirmStore,
} from '@/actions/Laravel/Passkeys/Http/Controllers/PasskeyConfirmationController';
import PasskeyVerify from '@/components/passkey-verify';
/* @end-chisel-passkeys */
export default function ConfirmPassword() {
return (
<>
<Head title="Confirmar palavra-passe" />
{/* @chisel-passkeys */}
<PasskeyVerify
routes={{
options: confirmOptions(),
submit: confirmStore(),
}}
label="Confirmar com chave de acesso"
loadingLabel="A confirmar…"
separator="Ou confirmar com palavra-passe"
/>
{/* @end-chisel-passkeys */}
<Form {...store.form()} resetOnSuccess={['password']}>
{({ processing, errors }) => (
<div className="space-y-6">
<div className="grid gap-2">
<Label htmlFor="password">Palavra-passe</Label>
<PasswordInput
id="password"
name="password"
placeholder="Palavra-passe"
autoComplete="current-password"
autoFocus
/>
<InputError message={errors.password} />
</div>
<div className="flex items-center">
<Button
className="w-full"
disabled={processing}
data-test="confirm-password-button"
>
{processing && <Spinner />}
Confirmar palavra-passe
</Button>
</div>
</div>
)}
</Form>
</>
);
}
ConfirmPassword.layout = {
title: 'Confirmar palavra-passe',
description:
'Esta é uma área protegida. Confirme a sua palavra-passe para continuar.',
};