From 321b1fc4612598d8dfcf16a3fdb32f890c712588 Mon Sep 17 00:00:00 2001 From: "claude[bot]" Date: Thu, 20 Aug 2026 05:43:00 +0000 Subject: [PATCH] =?UTF-8?q?Ajoute=20une=20confirmation=20avant=20de=20perd?= =?UTF-8?q?re=20un=20graphe=20non=20sauvegard=C3=A9=20en=20l'ouvrant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/gephi-lite/src/views/layout/Header.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/gephi-lite/src/views/layout/Header.tsx b/packages/gephi-lite/src/views/layout/Header.tsx index 51f5cfa8..92cd5ce3 100644 --- a/packages/gephi-lite/src/views/layout/Header.tsx +++ b/packages/gephi-lite/src/views/layout/Header.tsx @@ -184,7 +184,12 @@ export const Header: FC = ({ children }) => { [ { label: t("workspace.menu.open"), - onClick: () => openModal({ component: OpenModal, arguments: {} }), + onClick: () => { + // Opening another graph discards the current one: warn first when there are unsaved + // changes, same wording as the back-button / beforeunload guards (Initialize.tsx). + if (isDirty && !window.confirm(t("workspace.confirm_leave_unsaved"))) return; + openModal({ component: OpenModal, arguments: {} }); + }, }, { label: t("workspace.menu.new"), @@ -274,7 +279,7 @@ export const Header: FC = ({ children }) => { }, ]), ] as Option[], - [t, user, openModal, notify, setUser, exportAsGexf, currentFile, canSaveToCloud, handleSave], + [t, user, openModal, notify, setUser, exportAsGexf, currentFile, canSaveToCloud, handleSave, isDirty], ); const logoMenuList = useMemo(