ConfirmDialog: accept confirmTone/confirmLabel/cancelLabel props (P3-57)

This commit is contained in:
ZacharyZhang-NY committed 2026-04-16 23:10:48 -04:00
1 parent 95c9deb778
commit 96ab72472c
1 file changed
+6 -3
+6 -3
View File
@@ -77,13 +77,16 @@ export function InlineNotice({
/* ConfirmDialog */
/* ------------------------------------------------------------------ */
export function ConfirmDialog({ open, title, message, errorMessage, onConfirm, onCancel }: {
export function ConfirmDialog({ open, title, message, errorMessage, onConfirm, onCancel, confirmTone = "danger", confirmLabel = "Confirm", cancelLabel = "Cancel" }: {
open: boolean;
title: string;
message: string;
errorMessage?: string | null;
onConfirm: () => void;
onCancel: () => void;
confirmTone?: "default" | "accent" | "danger";
confirmLabel?: string;
cancelLabel?: string;
}) {
const trapRef = useFocusTrap(open);
@@ -123,8 +126,8 @@ export function ConfirmDialog({ open, title, message, errorMessage, onConfirm, o
<div className="text-[13px] text-muted-foreground mb-6">{message}</div>
{errorMessage ? <div className="mb-4"><InlineNotice message={errorMessage} /></div> : null}
<div className="flex gap-3 justify-end">
<ActionButton label="Cancel" onClick={onCancel} />
<ActionButton label="Confirm" tone="danger" onClick={onConfirm} />
<ActionButton label={cancelLabel} onClick={onCancel} />
<ActionButton label={confirmLabel} tone={confirmTone} onClick={onConfirm} />
</div>
</motion.div>
</motion.div>