mirror of
https://github.com/documenso/documenso.git
synced 2025-11-15 01:01:49 +10:00
chore: refactor delete dialog
This commit is contained in:
@ -44,6 +44,7 @@ export default function DeleteTokenDialog({
|
|||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const { toast } = useToast();
|
const { toast } = useToast();
|
||||||
const [isOpen, setIsOpen] = useState(false);
|
const [isOpen, setIsOpen] = useState(false);
|
||||||
|
const [isDeleteEnabled, setIsDeleteEnabled] = useState(false);
|
||||||
|
|
||||||
const deleteMessage = `delete ${tokenName}`;
|
const deleteMessage = `delete ${tokenName}`;
|
||||||
|
|
||||||
@ -68,6 +69,10 @@ export default function DeleteTokenDialog({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const onInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
|
setIsDeleteEnabled(event.target.value === deleteMessage);
|
||||||
|
};
|
||||||
|
|
||||||
const onSubmit = async () => {
|
const onSubmit = async () => {
|
||||||
try {
|
try {
|
||||||
await deleteTokenMutation({
|
await deleteTokenMutation({
|
||||||
@ -94,10 +99,11 @@ export default function DeleteTokenDialog({
|
|||||||
};
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!open) {
|
if (!isOpen) {
|
||||||
|
setIsDeleteEnabled(false);
|
||||||
form.reset();
|
form.reset();
|
||||||
}
|
}
|
||||||
}, [open, form]);
|
}, [isOpen, form]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Dialog
|
<Dialog
|
||||||
@ -139,7 +145,15 @@ export default function DeleteTokenDialog({
|
|||||||
</span>
|
</span>
|
||||||
</FormLabel>
|
</FormLabel>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
<Input className="bg-background" {...field} />
|
<Input
|
||||||
|
className="bg-background"
|
||||||
|
type="text"
|
||||||
|
{...field}
|
||||||
|
onChange={(value) => {
|
||||||
|
onInputChange(value);
|
||||||
|
field.onChange(value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
<FormMessage />
|
<FormMessage />
|
||||||
</FormItem>
|
</FormItem>
|
||||||
@ -159,7 +173,7 @@ export default function DeleteTokenDialog({
|
|||||||
<Button
|
<Button
|
||||||
type="submit"
|
type="submit"
|
||||||
variant="destructive"
|
variant="destructive"
|
||||||
disabled={!form.formState.isDirty}
|
disabled={!isDeleteEnabled}
|
||||||
loading={form.formState.isSubmitting}
|
loading={form.formState.isSubmitting}
|
||||||
>
|
>
|
||||||
I'm sure! Delete it
|
I'm sure! Delete it
|
||||||
|
|||||||
Reference in New Issue
Block a user