- Integrated toast notifications to display error messages when form submissions fail across various components, enhancing user feedback and experience. - Updated components including DeleteUser, FormDialog, ManageTwoFactor, TwoFactorRecoveryCodes, TwoFactorSetupModal, PayrollPeriodShow, EmployeeCreate, EmployeeEdit, CuttingCreate, CuttingEdit, PurchaseCreate, PurchaseEdit, RestockCreate, RestockEdit, TransactionCreate, TransactionEdit, Category management, Product management, Raw Material management, Role management, Settings, and Authentication pages.
74 lines
2.6 KiB
TypeScript
74 lines
2.6 KiB
TypeScript
import { Form, Head } from '@inertiajs/react';
|
|
import { toast } from 'sonner';
|
|
import {
|
|
index as confirmOptions,
|
|
store as confirmStore,
|
|
} from '@/actions/Laravel/Passkeys/Http/Controllers/PasskeyConfirmationController';
|
|
import InputError from '@/components/input-error';
|
|
import PasskeyVerify from '@/components/passkey-verify';
|
|
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';
|
|
|
|
export default function ConfirmPassword() {
|
|
return (
|
|
<>
|
|
<Head title="Confirm password" />
|
|
|
|
<PasskeyVerify
|
|
routes={{
|
|
options: confirmOptions(),
|
|
submit: confirmStore(),
|
|
}}
|
|
label="Confirm with passkey"
|
|
loadingLabel="Confirming..."
|
|
separator="Or confirm with password"
|
|
/>
|
|
|
|
<Form
|
|
{...store.form()}
|
|
resetOnSuccess={['password']}
|
|
onError={() => {
|
|
toast.error('Terjadi kesalahan saat menyimpan data. Silakan periksa kembali input Anda.');
|
|
}}
|
|
>
|
|
{({ processing, errors }) => (
|
|
<div className="space-y-6">
|
|
<div className="grid gap-2">
|
|
<Label htmlFor="password">Password</Label>
|
|
<PasswordInput
|
|
id="password"
|
|
name="password"
|
|
placeholder="Password"
|
|
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 />}
|
|
Confirm password
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
)}
|
|
</Form>
|
|
</>
|
|
);
|
|
}
|
|
|
|
ConfirmPassword.layout = {
|
|
title: 'Confirm password',
|
|
description:
|
|
'This is a secure area of the application. Please confirm your password before continuing.',
|
|
};
|