Preferences in Settings and a home page the user chooses
Build and Push Docker Image / build-and-push (push) Failing after 20s
Build and Push Docker Image / build-and-push (push) Failing after 20s
Settings gets a Preferences section: theme, default Bible, the Bible new reading plans start in, verse layout, commentary, text size, reading width, audio narrator (the last three stay per device; text size and narrator are now remembered). A Home page setting (My Studies, Bible Reader or Reading Plans) decides where the app opens and where every Home button goes; already being there means My Studies. Back arrows are labelled Home. Tests cover every page leading back. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
760c1e568b
commit
8c4f54e033
15 files changed
+401
-23
No files matched your search
@@ -19,7 +19,7 @@ function setup({ canApplyPosition = () => true, initial = {} } = {}) {
|
||||
const [layout, setLayout] = useState(initial.layout ?? 'flow');
|
||||
const [position, setPosition] = useState(initial.position ?? { book: 'GEN', chapter: 1 });
|
||||
const sync = usePrefsSync({
|
||||
values: { theme, translation: 'BSB', layout, commentarySource: 'matthew-henry', position },
|
||||
values: { theme, translation: 'BSB', layout, commentarySource: 'matthew-henry', planTranslation: 'same', startPage: 'studies', position },
|
||||
apply: (key, v) => { if (key === 'theme') setTheme(v); else if (key === 'layout') setLayout(v); else if (key === 'position') setPosition(v); },
|
||||
canApplyPosition,
|
||||
});
|
||||
@@ -45,7 +45,7 @@ test('a device with no history takes the account\'s settings; a first device upl
|
||||
await act(async () => { await h.result.current.pullServerPrefs(); });
|
||||
expect(h.result.current.theme).toBe('sepia');
|
||||
// keys the account doesn't have yet are filled in from this device
|
||||
expect(Object.keys(remote.puts[0]).sort()).toEqual(['commentarySource', 'layout', 'position', 'translation']);
|
||||
expect(Object.keys(remote.puts[0]).sort()).toEqual(['commentarySource', 'layout', 'planTranslation', 'position', 'startPage', 'translation']);
|
||||
});
|
||||
|
||||
test('reading position is not moved under you while the Reader is open', async () => {
|
||||
|
||||
Reference in new issue
Block a user