You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor modal layer, remove dead code, and fix review findings
Quality cleanup stacked on the persisted-draft work, deferred out of that PR.
Modal layer:
- Add ModalShell, ConfirmDialog, useSubmitGuard, and parseLanguageTags and use them across the six project modals: shared overlay/dialog/title chrome, WipeConfirm and DiscardDraftConfirm collapsed into ConfirmDialog, and the duplicated comma-separated language parsing and double-submit guards unified.
Dead code:
- Remove the never-dispatched setAnalysis reducer and the unused selectPhraseAnalysisById selector (and their tests); drop needless exports on ProjectMetadataModalProps, ARC_CORNER_RADIUS, and RECENTER_FADE_EASING.
Correctness:
- isPhraseAnalysisLink rejects an empty tokens array (fail-safe at the load gate); resolveApprovedAnalysis uses findLast so it mutates the same approved link the read selectors surface under duplicate-link corruption.
Tailwind:
- Extract modal-actions, modal-form-label, and modal-error-box utilities for the repeated footer-row, form-label, and destructive-box class strings across the modals, and reuse the existing section-label utility in SegmentView instead of re-listing its classes. No unused custom utilities found.
Docs/simplification:
- Correct useGlossDispatch, ActiveProject (updateAnalysis), and firstIndex JSDoc; hoist ScriptureNavControls string keys to a module const; hoist the duplicated verseKey(liveScrRef) in InterlinearNavContext; extract closeCurrentVerse in usjBookExtractor.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments