Implement Phase 2: notebook list screen with navigation

- NotebookListScreen: lazy list, create dialog (title + page size),
  long-press delete with confirmation, empty state
- NotebookListViewModel: StateFlow-based, create/delete operations
- EngPadTheme: high-contrast light scheme for e-ink displays
- NavGraph: three routes (notebooks, pages stub, editor stub)
- MainActivity wired to NavHost with database injection

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 14:15:48 -07:00
parent 8f41c41589
commit 644b8a4732
7 changed files with 381 additions and 11 deletions

View File

@@ -31,9 +31,19 @@ See PROJECT_PLAN.md for the full step list.
- Foojay resolver added for automatic JDK toolchain download
- compileSdk/targetSdk bumped to 36 (required by latest androidx dependencies)
### Phase 2: Notebook List Screen (2026-03-24)
- [x] 2.1: MainActivity with Compose NavHost (three routes: notebooks, pages, editor)
- [x] 2.2: NotebookListViewModel with StateFlow, create/delete operations
- [x] 2.3: NotebookListScreen — lazy list, create dialog (title + page size radio),
long-press delete with confirmation, empty state
- [x] 2.4: Auto-create page 1 in NotebookRepository.create()
- [x] 2.5: Navigation wired — tap notebook → pages stub, editor stub
- EngPadTheme: high-contrast light color scheme (black on white for e-ink)
## In Progress
Phase 2: Notebook List Screen
Phase 3: Canvas — Basic Drawing
## Decisions & Deviations