feat: Add floating summary bar with draft management, snapshot, and Excel export functionalities.

This commit is contained in:
Michael committed 2026-02-22 13:31:38 +01:00
1 parent c9cf83d4c7
commit 77fb61ef79
2 files changed
+11 -2

No files matched your search

@@ -81,7 +81,10 @@ export function FloatingSummaryBar() {
} }
} catch (err) { } catch (err) {
console.error(err); console.error(err);
if (!labelOverride) alert("Erreur lors de la création du snapshot."); if (!labelOverride) {
const msg = err instanceof Error ? err.message : String(err);
alert(`Erreur lors de la création du snapshot : ${msg}`);
}
} finally { } finally {
setIsSavingSnapshot(false); setIsSavingSnapshot(false);
} }
+7 -1
View File
@@ -24,11 +24,13 @@ const SaveSnapshotSchema = z.object({
export async function saveSnapshot(raw: unknown) { export async function saveSnapshot(raw: unknown) {
const parsed = SaveSnapshotSchema.safeParse(raw); const parsed = SaveSnapshotSchema.safeParse(raw);
if (!parsed.success) { if (!parsed.success) {
return { success: false, error: "Validation failed: " + parsed.error.message }; console.error("Snapshot validation failed:", parsed.error.format());
return { success: false, error: "Validation failed: " + parsed.error.issues.map((i: any) => i.message).join(", ") };
} }
const { codeFournisseur, nomFournisseur, magasin, label, changes, summary } = parsed.data; const { codeFournisseur, nomFournisseur, magasin, label, changes, summary } = parsed.data;
try {
const [created] = await db const [created] = await db
.insert(sessionSnapshots) .insert(sessionSnapshots)
.values({ .values({
@@ -42,4 +44,8 @@ export async function saveSnapshot(raw: unknown) {
.returning({ id: sessionSnapshots.id }); .returning({ id: sessionSnapshots.id });
return { success: true, snapshotId: created?.id }; return { success: true, snapshotId: created?.id };
} catch (err) {
console.error("Snapshot DB insertion error:", err);
return { success: false, error: "Database error during insertion" };
}
} }