Package booking new rules update, cascade delete option updates

This commit is contained in:
Stephanos A
2026-07-06 22:12:04 +03:00
parent f52d7442ac
commit 36055d0d82
31 changed files with 777 additions and 339 deletions

View File

@@ -17,6 +17,9 @@ interface ConfirmDialogProps {
isDanger?: boolean;
warning?: string;
error?: string;
cascadeWarning?: string;
onCascadeChange?: (checked: boolean) => void;
cascadeChecked?: boolean;
}
export default function ConfirmDialog({
@@ -31,6 +34,9 @@ export default function ConfirmDialog({
isDanger = false,
warning,
error,
cascadeWarning,
onCascadeChange,
cascadeChecked = false,
}: ConfirmDialogProps) {
useEffect(() => {
if (!isOpen) return;
@@ -129,6 +135,26 @@ export default function ConfirmDialog({
</div>
);
})()}
{cascadeWarning && (
<div className="rounded-xl bg-amber-50 dark:bg-amber-900/20 border border-amber-200 dark:border-amber-800 px-4 py-3 space-y-3">
<div className="flex gap-3 items-start">
<AlertTriangle className="h-4 w-4 text-amber-600 dark:text-amber-400 shrink-0 mt-0.5" />
<p className="text-xs text-amber-800 dark:text-amber-300 leading-relaxed">{cascadeWarning}</p>
</div>
<label className="flex items-start gap-2 cursor-pointer select-none">
<input
type="checkbox"
checked={cascadeChecked}
onChange={e => onCascadeChange?.(e.target.checked)}
className="mt-0.5 h-4 w-4 rounded border-amber-400 accent-red-600 cursor-pointer"
/>
<span className="text-xs font-medium text-amber-900 dark:text-amber-200">
I understand delete this record and all related data
</span>
</label>
</div>
)}
</div>
{/* Footer */}
@@ -140,6 +166,7 @@ export default function ConfirmDialog({
variant={isDanger ? 'danger' : 'primary'}
onClick={onConfirm}
loading={isLoading}
disabled={!!cascadeWarning && !cascadeChecked}
>
{confirmText}
</ActionButton>