feat(routines): let a reader add standard-banner pulls beside the premium ones

Most shops sell both banners' pulls. A shop's premium line is offered like any
built-in; its standard line (Acquaint Fates, Star Rail Pass, Master Tapes,
Resonite Crystals) only when the reader switches on Include standard-banner
pulls under the built-ins switch. A new pref, standardPulls, absent meaning
off, so no install gains anything until it asks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas WintherandClaude Opus 5.5 committed 2026-10-16 03:00:52 +02:00
1 parent 9cf7649cc2
commit af2ad942cd
6 files changed
+167 -7

No files matched your search

+9
View File
@@ -230,6 +230,12 @@ export interface Prefs {
* numbers stay stored under the id.
*/
routinesHidden?: string[] | undefined;
/**
* Whether a shop's standard-banner pulls are tracked beside its premium ones
* (`Routine.pulls`, owner, 2026-10-16). Absent means no — premium only — so
* an install from before the standard lines existed gains nothing new.
*/
standardPulls?: boolean | undefined;
/**
* The newest changelog entry the reader dismissed (PRD F18). Absent means
* unrecorded, not "seen nothing": first-run setup sets it, so an absent value
@@ -441,6 +447,9 @@ export function restorePrefsValue(incoming: unknown): Prefs {
if (result.showRoutines !== undefined && typeof result.showRoutines !== "boolean") {
result.showRoutines = undefined;
}
if (result.standardPulls !== undefined && typeof result.standardPulls !== "boolean") {
result.standardPulls = undefined;
}
// focusGame
if (result.focusGame !== null && typeof result.focusGame !== "string") {