Add Insights, Observe-first, compare, handout layouts, richer search, backup nudge
- Commentary and study aids wait for 15 words of your own Observe notes. - Insights page: this week's own work, themes across studies, words you keep studying, what slipped in recalls, open follow-ups. - Recall can record what slipped; session notes (teach it back, who came, group notes, follow-ups); "Pray about this" from Apply. - Compare any two passages side by side. - Handout layouts: standard, questions only, large print, note-taking. - Search understands "in <book>", "last week/month/year" and a year. - Home shows the last backup age and nudges after two weeks. - Phone: the stage bar scrolls instead of clipping Script and Export. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2ddc4e1ff6
commit
d8e522dd06
24 files changed
+540
-28
No files matched your search
@@ -68,3 +68,13 @@ test('prayers are in the backup, deleted ones are not, and they survive validati
|
||||
expect(checked.backup.prayers[0].text).toBe('Peace');
|
||||
expect(validateBackup({ app: 'bible-study-project', version: 1, prayers: [{ id: 'x' }, 5, { id: 'y', text: ' ' }] }).backup.prayers).toEqual([]);
|
||||
});
|
||||
|
||||
import { backupAge } from './backup.js';
|
||||
|
||||
test('the backup age says how long ago, and flags a long gap', () => {
|
||||
const now = 1_000_000_000_000;
|
||||
expect(backupAge(null, now)).toMatchObject({ stale: true });
|
||||
expect(backupAge(now - 3600_000, now)).toEqual({ text: 'Backed up today', stale: false });
|
||||
expect(backupAge(now - 5 * 86400000, now)).toEqual({ text: 'Last backup 5 days ago', stale: false });
|
||||
expect(backupAge(now - 20 * 86400000, now).stale).toBe(true);
|
||||
});
|
||||
Reference in new issue
Block a user