Skip to content

Commit 9888743

Browse files
Split shell into editor-pane, sidebar-pane, and notes-pane features
Extract editor-pane (pane component, find bar, conflict footer, scroll header hook) and sidebar-pane (pane component, tag tree, notes section, rename dialog, keyboard nav, navigation lib) into their own feature directories. Rename notes/ to notes-pane/ for consistency. Shell is now a slim orchestration layer. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 27aed1c commit 9888743

29 files changed

Lines changed: 39 additions & 37 deletions

app/src/app.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ import { CommandPalette } from "@/features/command-palette";
1010
import { BootstrapError } from "@/features/shell/ui/bootstrap-error";
1111
import { ConflictResolutionDialog } from "@/features/shell/ui/conflict-resolution-dialog";
1212
import { DeletePublishDialog } from "@/features/shell/ui/delete-publish-dialog";
13-
import { EditorPane } from "@/features/shell/editor-pane";
13+
import { EditorPane } from "@/features/editor-pane";
1414
import { NoteHistoryDialog } from "@/features/shell/note-history-dialog";
15-
import { NotesPane } from "@/features/notes/ui/notes-pane";
15+
import { NotesPane } from "@/features/notes-pane/ui/notes-pane";
1616
import { PublishDialog, PublishShortNoteDialog } from "@/features/publishing";
17-
import { SidebarPane } from "@/features/shell/sidebar-pane";
17+
import { SidebarPane } from "@/features/sidebar-pane";
1818
import { useAppShortcuts } from "@/features/shell/use-app-shortcuts";
1919
import { useRevealMainWindow } from "@/features/shell/use-reveal-main-window";
2020
import { useShellController } from "@/features/shell/use-shell-controller";

app/src/features/shell/hooks/use-editor-scroll-header.ts renamed to app/src/features/editor-pane/hooks/use-editor-scroll-header.ts

File renamed without changes.

app/src/features/shell/hooks/use-find-bar.ts renamed to app/src/features/editor-pane/hooks/use-find-bar.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
isNotesSearchShortcut,
1414
} from "@/shared/lib/keyboard";
1515
import { resolveActiveEditorSearch } from "@/shared/lib/search";
16-
import { OPEN_EDITOR_FIND_EVENT } from "@/features/shell/ui/editor-pane-utils";
16+
import { OPEN_EDITOR_FIND_EVENT } from "@/features/editor-pane/lib/editor-pane-utils";
1717

1818
export function useFindBar({
1919
noteId,
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export { EditorPane } from "./ui/editor-pane";
File renamed without changes.

app/src/features/shell/ui/conflict-resolution-footer.tsx renamed to app/src/features/editor-pane/ui/conflict-resolution-footer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ChevronLeft, ChevronRight } from "lucide-react";
22

33
import { Button } from "@/shared/ui/button";
44
import { type NoteConflictInfo } from "@/shared/api/types";
5-
import { formatConflictHeadTimestamp } from "@/features/shell/ui/editor-pane-utils";
5+
import { formatConflictHeadTimestamp } from "@/features/editor-pane/lib/editor-pane-utils";
66

77
type ViewableSnapshot = NoteConflictInfo["snapshots"][number];
88

File renamed without changes.

app/src/features/shell/editor-pane.tsx renamed to app/src/features/editor-pane/ui/editor-pane.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,11 @@ import {
4040
buildEditorMenu,
4141
firstLineH1Title,
4242
isEditableElement,
43-
} from "@/features/shell/ui/editor-pane-utils";
44-
import { useEditorScrollHeader } from "@/features/shell/hooks/use-editor-scroll-header";
45-
import { useFindBar } from "@/features/shell/hooks/use-find-bar";
46-
import { EditorFindBar } from "@/features/shell/ui/editor-find-bar";
47-
import { ConflictResolutionFooter } from "@/features/shell/ui/conflict-resolution-footer";
43+
} from "@/features/editor-pane/lib/editor-pane-utils";
44+
import { useEditorScrollHeader } from "@/features/editor-pane/hooks/use-editor-scroll-header";
45+
import { useFindBar } from "@/features/editor-pane/hooks/use-find-bar";
46+
import { EditorFindBar } from "@/features/editor-pane/ui/editor-find-bar";
47+
import { ConflictResolutionFooter } from "@/features/editor-pane/ui/conflict-resolution-footer";
4848

4949
type EditorPaneProps = {
5050
availableTagPaths: string[];
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)