From 8f016a0e9d14badc39dffd67ed6fb862f9d08496 Mon Sep 17 00:00:00 2001 From: soryu Date: Wed, 24 Dec 2025 02:21:19 +0000 Subject: Update overwrite mechanism to show diff --- makima/frontend/src/routes/files.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'makima/frontend/src/routes') diff --git a/makima/frontend/src/routes/files.tsx b/makima/frontend/src/routes/files.tsx index 037df7e..f398041 100644 --- a/makima/frontend/src/routes/files.tsx +++ b/makima/frontend/src/routes/files.tsx @@ -21,6 +21,7 @@ export default function FilesPage() { const [detailLoading, setDetailLoading] = useState(false); const [creating, setCreating] = useState(false); const [remoteUpdate, setRemoteUpdate] = useState(null); + const [remoteFileData, setRemoteFileData] = useState(null); const [hasLocalChanges, setHasLocalChanges] = useState(false); const [isActivelyEditing, setIsActivelyEditing] = useState(false); const pendingUpdateRef = useRef(false); @@ -54,6 +55,9 @@ export default function FilesPage() { const detail = await fetchFile(event.fileId); setFileDetail(detail); } else { + // Fetch remote version for diff display + const remoteData = await fetchFile(event.fileId); + setRemoteFileData(remoteData); // Show notification about remote update setRemoteUpdate(event); } @@ -218,12 +222,14 @@ export default function FilesPage() { const detail = await fetchFile(id); setFileDetail(detail); setRemoteUpdate(null); + setRemoteFileData(null); setHasLocalChanges(false); } }, [id, fetchFile]); const handleRemoteUpdateDismiss = useCallback(() => { setRemoteUpdate(null); + setRemoteFileData(null); }, []); return ( @@ -285,6 +291,8 @@ export default function FilesPage() { {remoteUpdate && ( -- cgit v1.2.3