Speed up the app, run production build, remove chunk ink, start App.jsx split

Performance:
- Lazy-load pages, docx, and mammoth (initial JS 1,298 KB -> ~290 KB)
- Gzip responses and cache hashed assets for a year
- Memoize DrawCanvas strokes so ink isn't redrawn on every render
- Precompute whole-Bible search index and defer the query while typing
- Reload once if a lazy chunk is missing after a deploy

Deployment:
- setup.sh builds and runs one production server on APP_PORT (default
  5173); --dev keeps the old Vite dev setup
- Session cookie uses secure: 'auto' so login works behind any proxy

Chunk editor:
- Remove the Draw layout, Ink Notes panel, and ink in HTML export
  (existing inkStrokes data is left in saved projects)

Refactor:
- Move module-level helpers out of App.jsx into src/utils/*
- Extract Bible reader state and logic into hooks/useBibleReader

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Opus 5.5 committed 2026-09-22 14:34:13 -04:00
1 parent 00932dee4a
commit ade7f1af6f
20 files changed
+1314 -1252

No files matched your search

+4 -6
View File
@@ -7,12 +7,10 @@ import {
parseBibleChapter,
wordTableHtml,
buildExportHtml,
buildMarkdownExport,
buildClaudePrompt,
createParagraphsFromText,
migrateChunk,
migrateProject,
} from './App.jsx';
} from './utils/bibleUtils.jsx';
import { buildMarkdownExport, buildClaudePrompt } from './utils/exportBuilders.js';
import { migrateChunk, migrateProject } from './utils/projectStorage.js';
import { createParagraphsFromText } from './utils/docxExport.js';
// ---------------------------------------------------------------------------
// storageKey