feat(changelog): remember the newest change the reader has seen
First-run setup marks a new reader up to date, since changes mean nothing before you've used the app. An absent marker therefore means an install from before the changelog, which is what lets the launch be announced to existing readers once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
238d21686a
commit
a74bbd3efe
3 files changed
+50
-6
No files matched your search
+2
-6
@@ -19,7 +19,7 @@ import { useProgress } from "./state/useProgress.ts";
|
||||
import { useDailyLog, type DailyLogMap } from "./state/useDailyLog.ts";
|
||||
import { useTasks } from "./state/useTasks.ts";
|
||||
import { useAmounts } from "./state/useAmounts.ts";
|
||||
import { adoptNewLanes, usePrefs, type Prefs } from "./state/usePrefs.ts";
|
||||
import { adoptNewLanes, firstRunPrefs, usePrefs, type Prefs } from "./state/usePrefs.ts";
|
||||
import { buildExportData, parseImportData, triggerDownload } from "./state/export.ts";
|
||||
import { snapDayWidth } from "./state/zoom.ts";
|
||||
import { useCustom, type EventDraft } from "./state/useCustom.ts";
|
||||
@@ -487,11 +487,7 @@ export function App() {
|
||||
<Welcome
|
||||
available={ordered}
|
||||
onConfirm={(chosen, chosenView) =>
|
||||
update({
|
||||
onboarded: true,
|
||||
hiddenGames: games.filter((g) => !chosen.includes(g)),
|
||||
view: chosenView,
|
||||
})
|
||||
update(firstRunPrefs(games, chosen, chosenView))
|
||||
}
|
||||
/>
|
||||
</Shell>
|
||||
|
||||
Reference in new issue
Block a user