alepha@docs:~/docs/framework/reference/react-hooks$
cat useConfirmedAction.md | pretty
1 min read
Last commit:

#useConfirmedAction

#Import

typescript
1import { useConfirmedAction } from "@alepha/ui/admin";

#Overview

The recurring admin pattern (confirm, then mutate, then toast) in one hook. Wraps useAction (so failures still emit react:action:error for the global toaster) plus useDialog().confirm and an optional success toast.

#Examples

tsx
 1const remove = useConfirmedAction<[FileResource, () => void]>( 2  { 3    confirm: (file) => ({ 4      title: tr("admin.files.deleteTitle", { default: "Delete file" }), 5      description: tr("admin.files.deleteConfirm", { 6        default: `Delete "${file.name}"?`, args: [file.name], 7      }), 8      destructive: true, 9    }),10    handler: async (file, refresh) => {11      await client.deleteFile({ params: { id: file.id } });12      refresh();13    },14    success: tr("admin.files.deleted", { default: "File deleted" }),15  },16  [client, tr],17);18// rowActions: onClick: (_f, { refresh }) => remove.run(file, refresh)