diff --git a/CHANGELOG.md b/CHANGELOG.md index 52580da..358d6db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,9 +38,11 @@ installer with a built-in updater. the background-tasks bar. - **Guided first-run onboarding** — background FFmpeg provisioning with live progress and retry, a walkthrough of the library, pipeline, search modes, - and views, and an optional AI-tagger download. Re-runnable from Settings. -- **Updater** — checks GitHub Releases on launch and from Settings; downloads - and installs signed update artifacts. + views, and updates, plus an optional AI-tagger download. Re-runnable from + Settings. +- **Updater** — checks GitHub Releases on launch and from Settings; a title-bar + indicator lights up when a new version is ready, and one click downloads, + installs the signed update, and relaunches. - **Maintenance** — database compaction and orphaned-thumbnail cleanup from Settings, with live size/reclaimable stats. - **Window state** persistence and single-instance handling. diff --git a/src/components/onboarding/OnboardingOverlay.tsx b/src/components/onboarding/OnboardingOverlay.tsx index 96ece34..6cbc5e2 100644 --- a/src/components/onboarding/OnboardingOverlay.tsx +++ b/src/components/onboarding/OnboardingOverlay.tsx @@ -8,6 +8,7 @@ import { StepGalleryPreview } from "./StepGalleryPreview"; import { StepSearchDemo } from "./StepSearchDemo"; import { StepViews } from "./StepViews"; import { StepAiFeatures } from "./StepAiFeatures"; +import { StepUpdates } from "./StepUpdates"; const STEPS: { id: string; title: string; component: () => React.ReactNode }[] = [ { id: "welcome", title: "Welcome", component: () => }, @@ -17,6 +18,7 @@ const STEPS: { id: string; title: string; component: () => React.ReactNode }[] = { id: "search", title: "Search", component: () => }, { id: "views", title: "Views", component: () => }, { id: "ai", title: "AI features", component: () => }, + { id: "updates", title: "Staying current", component: () => }, ]; export function OnboardingOverlay() { diff --git a/src/components/onboarding/StepAiFeatures.tsx b/src/components/onboarding/StepAiFeatures.tsx index 799645a..891ea87 100644 --- a/src/components/onboarding/StepAiFeatures.tsx +++ b/src/components/onboarding/StepAiFeatures.tsx @@ -105,8 +105,8 @@ export function StepAiFeatures() {

- That's the tour. Add folders from the sidebar, and revisit any of this from Settings — including - re-running this tour. + Semantic search and similarity are part of the standard pipeline; AI tagging stays optional and + can be downloaded any time from Settings.

); diff --git a/src/components/onboarding/StepUpdates.tsx b/src/components/onboarding/StepUpdates.tsx new file mode 100644 index 0000000..5442580 --- /dev/null +++ b/src/components/onboarding/StepUpdates.tsx @@ -0,0 +1,86 @@ +import { PhokusMark } from "../PhokusMark"; + +// Closing step. Introduces the app mark (the aperture in the title bar) and, +// since that same mark doubles as the update indicator, explains how updates +// work in one place. The mini app-window mockup shows the lit mark exactly +// where it appears, so there's nothing abstract to decode. +export function StepUpdates() { + return ( +
+

+ Phokus keeps itself up to date — it quietly checks for new versions on startup, so you don't + have to go looking for one. +

+ +

+ When an update is ready +

+
+

The mark in the title bar lights up

+

+ That aperture in the top-left corner is Phokus. When a new version is waiting, its focal point + glows amber — click it to update and relaunch. Nothing installs on its own; you're always in + control. +

+ + {/* Mini app-window mockup: the lit mark shown in a real title bar. */} +
+
+
+ + + +
+ Phokus +
+
+ + + + + + + + + +
+
+ + {/* Ghosted window body, just enough to read as the app. */} +
+
+
+
+
+
+
+
+
+ {Array.from({ length: 5 }).map((_, i) => ( +
+ ))} +
+
+
+
+
+ +

+ Prefer to manage it yourself? +

+
+

Check any time from Settings

+

+ Settings → General shows your current version with a manual{" "} + Check for updates button, so you can update on your own + schedule. +

+
+ +

+ That's the tour. Add folders from the sidebar, and revisit any of this from Settings — including + re-running this tour. +

+
+ ); +}