"use client"; import { DialogRoot, DialogBackdrop, DialogPositioner, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter, } from "@seed-design/react"; import { MercuryButton } from "@/ds"; import { assetsStrings as s } from "./strings"; export interface ConfirmDialogProps { open: boolean; title: string; description?: string; confirmLabel?: string; destructive?: boolean; busy?: boolean; onConfirm: () => void; onCancel: () => void; } /** * A confirmation dialog built on Seed's `Dialog` primitives — used for every * destructive/irreversible action in the assets + lending feature (delete, * revalue) instead of a native `window.confirm`, per Mercury's UI * conventions (mirrors iOS's `seedDialog`). */ export function ConfirmDialog({ open, title, description, confirmLabel = s.common.delete, destructive = true, busy = false, onConfirm, onCancel, }: ConfirmDialogProps) { return ( { if (!next) onCancel(); }} > {title} {description && {description}} {s.common.cancel} {confirmLabel} ); }