feat(ui): replace native confirm() with DaisyUI modal composable (F7.2)

Create useConfirm composable (promise-based, singleton state) and
ConfirmModal component. Replace all 10 confirm()/window.confirm() calls
across 9 pages and 1 composable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matthieu
2026-02-09 11:20:13 +01:00
parent 046f464378
commit 6152848957
11 changed files with 152 additions and 21 deletions

View File

@@ -108,7 +108,7 @@ import IconLucidePackage from "~icons/lucide/package";
import IconLucideLayoutGrid from "~icons/lucide/layout-grid";
import IconLucideBox from "~icons/lucide/box";
const { machineTypes, loading, loadMachineTypes, deleteMachineType } =
const { machineTypes, loadMachineTypes, deleteMachineType } =
useMachineTypesApi();
const categories = ref([
@@ -131,13 +131,15 @@ const filteredTypes = computed(() => {
);
});
const { confirm: confirmDialog } = useConfirm();
const confirmDeleteType = async (type) => {
const { showError, showSuccess } = useToast();
if (
confirm(
`Êtes-vous sûr de vouloir supprimer le type "${type.name}" ? Cette action est irréversible.`
)
await confirmDialog({
message: `Êtes-vous sûr de vouloir supprimer le type "${type.name}" ? Cette action est irréversible.`,
})
) {
try {
const result = await deleteMachineType(type.id);