Refine stacked diff view

This commit is contained in:
Bohdan Triapitsyn
2026-06-13 22:30:03 +03:00
parent 676f0b3898
commit cf8eac966e
28 changed files with 93 additions and 628 deletions
+6 -9
View File
@@ -579,7 +579,6 @@ interface UIStore {
diffLayoutPreference: 'dynamic' | 'inline' | 'side-by-side';
diffFileLayout: Record<string, 'inline' | 'side-by-side'>;
diffWrapLines: boolean;
diffViewMode: 'single' | 'stacked';
gitChangesViewMode: 'flat' | 'tree';
isTimelineDialogOpen: boolean;
isImagePreviewOpen: boolean;
@@ -735,7 +734,6 @@ interface UIStore {
setDiffLayoutPreference: (mode: 'dynamic' | 'inline' | 'side-by-side') => void;
setDiffFileLayout: (filePath: string, mode: 'inline' | 'side-by-side') => void;
setDiffWrapLines: (wrap: boolean) => void;
setDiffViewMode: (mode: 'single' | 'stacked') => void;
setGitChangesViewMode: (mode: 'flat' | 'tree') => void;
setMultiRunLauncherOpen: (open: boolean) => void;
setTimelineDialogOpen: (open: boolean) => void;
@@ -864,7 +862,6 @@ export const useUIStore = create<UIStore>()(
diffLayoutPreference: 'inline',
diffFileLayout: {},
diffWrapLines: false,
diffViewMode: 'stacked',
gitChangesViewMode: 'flat',
isTimelineDialogOpen: false,
isImagePreviewOpen: false,
@@ -1681,10 +1678,6 @@ export const useUIStore = create<UIStore>()(
set({ diffWrapLines: wrap });
},
setDiffViewMode: (mode) => {
set({ diffViewMode: mode });
},
setGitChangesViewMode: (mode) => {
set({ gitChangesViewMode: mode });
},
@@ -2086,13 +2079,18 @@ export const useUIStore = create<UIStore>()(
{
name: 'ui-store',
storage: createJSONStorage(() => getSafeStorage()),
version: 9,
version: 10,
migrate: (persistedState, version) => {
if (!persistedState || typeof persistedState !== 'object') {
return persistedState;
}
const state = persistedState as Record<string, unknown>;
// v9 -> v10: remove obsolete single-file diff view mode setting
if (version < 10) {
delete state.diffViewMode;
}
// v8 -> v9: initialize notes/todo panel height fields
if (version < 9) {
if (typeof state.notesPanelHeight !== 'number' || !Number.isFinite(state.notesPanelHeight)) {
@@ -2225,7 +2223,6 @@ export const useUIStore = create<UIStore>()(
recentEfforts: state.recentEfforts,
diffLayoutPreference: state.diffLayoutPreference,
diffWrapLines: state.diffWrapLines,
diffViewMode: state.diffViewMode,
gitChangesViewMode: state.gitChangesViewMode,
nativeNotificationsEnabled: state.nativeNotificationsEnabled,
notificationMode: state.notificationMode,