Studying: daily five minutes, reading list, plan-day studies use your template
- Home: "Your five minutes": a rotating Observe/Interpret/Apply prompt on the passage whose matching note is thinnest in your own words, a 5:00 clock and a box that appends to that note. Pasting is blocked; sessions show in Insights. - Study: a Reading list tab (R) for the study: books and articles to consult, with a note and a tick; merges across devices. - Starting a study from a reading-plan day now uses the notes template you last picked when starting a study by hand (logic moved to utils/planStudy.js). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0781fa3476
commit
eccc5e509d
20 files changed
+376
-32
No files matched your search
@@ -0,0 +1,33 @@
|
||||
// A study started from one day of a reading plan: a chunk for each whole chapter in the day, with the notes template
|
||||
// you last used when starting a study by hand (so the prompts and starter text are the ones you're used to).
|
||||
import { templateStarter } from './studyTemplates.js';
|
||||
|
||||
export const lastTemplateId = () => { try { return localStorage.getItem('last-template') || 'blank'; } catch { return 'blank'; } };
|
||||
export const rememberTemplate = (id) => { try { localStorage.setItem('last-template', id || 'blank'); } catch { /* storage unavailable */ } };
|
||||
|
||||
// chapters: [{ bookAbbrev, bookName, chapter, verses: [{ number, text }] }]; ids come from `makeId`.
|
||||
export function planStudyProject({ chapters, title, templateId = 'blank', templateDef = null, makeId, now = Date.now() }) {
|
||||
const built = chapters.map(({ bookAbbrev, bookName, chapter, verses }) => ({
|
||||
book: bookName, bookAbbrev, chapter: String(chapter), verses,
|
||||
chunks: [{
|
||||
id: makeId(),
|
||||
startVerse: verses[0]?.number ?? 1,
|
||||
endVerse: verses.at(-1)?.number ?? 1,
|
||||
spilloverEndVerse: null,
|
||||
observation: '', interpretation: '', application: '',
|
||||
crossReferences: [], greekWords: [], generalNotes: '',
|
||||
episodeNumber: '', episodeTitle: '', finalScript: '', tags: [],
|
||||
...templateStarter(templateDef ?? templateId),
|
||||
}],
|
||||
}));
|
||||
return {
|
||||
id: makeId(),
|
||||
title: title || 'Reading Plan Study',
|
||||
translation: 'BSB',
|
||||
templateId,
|
||||
...(templateDef ? { templateDef } : {}),
|
||||
lastEdited: now,
|
||||
selectedChunkId: built[0]?.chunks[0]?.id ?? null,
|
||||
chapters: built,
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user