From 5d0cc2934fdeb9653c87c6c150c9c35624e10421 Mon Sep 17 00:00:00 2001 From: nmemmert Date: Thu, 11 Jun 2026 08:33:52 -0400 Subject: [PATCH] Add 2-pane split study layout with tabbed reference panels Scripture stays pinned in a sticky left column while Notes, Cross-Refs, Word Study, Commentary, and Script become tabs in the right column. Toggle via "Split View" / "Stacked View". --- src/App.jsx | 73 +++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 59 insertions(+), 14 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 3453807..bac241f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -29,6 +29,14 @@ const COMMENTARY_OPTIONS = [ { id: 'tyndale', name: 'Tyndale Open Study Notes' }, ]; +const STUDY_TABS = [ + { id: 'notes', label: 'Notes' }, + { id: 'crossRefs', label: 'Cross-Refs' }, + { id: 'wordStudy', label: 'Word Study' }, + { id: 'commentary', label: 'Commentary' }, + { id: 'script', label: 'Script' }, +]; + const bookOptions = [ { name: 'Genesis', abbrev: 'GEN' }, { name: 'Exodus', abbrev: 'EXO' }, @@ -849,6 +857,8 @@ const App = () => { const [homeSort, setHomeSort] = useState('recent'); // 'recent' | 'title' | 'passage' const [renamingId, setRenamingId] = useState(null); const [renameValue, setRenameValue] = useState(''); + const [studyLayout, setStudyLayout] = useState('stacked'); // 'stacked' | 'split' + const [activeStudyTab, setActiveStudyTab] = useState('notes'); const [verseSearch, setVerseSearch] = useState(''); const [collapsedSections, setCollapsedSections] = useState({}); const [commentarySource, setCommentarySource] = useState('matthew-henry'); @@ -2928,9 +2938,9 @@ const restoreRemoteProject = async (id) => {
-
+
{/* Sidebar */} -