diff --git a/messages/de.json b/messages/de.json
index 83131c9e2..d67ae50ec 100644
--- a/messages/de.json
+++ b/messages/de.json
@@ -4621,9 +4621,7 @@
"changelog": "Changelog",
"docs": "Dokumentation",
"linksHeading": "Quellen & Dokumentation",
- "newerAvailable": "Neue Version: {tag}",
- "tourReplay": "Tour ansehen",
- "tourReplayHint": "Zeige die Dashboard-Tour — praktisch, falls du sie beim ersten Besuch übersprungen hast."
+ "newerAvailable": "Neue Version: {tag}"
},
"testConnection": {
"test": "Verbindung testen",
diff --git a/messages/en.json b/messages/en.json
index 092fe42e9..79fe8ba31 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -4621,9 +4621,7 @@
"changelog": "Changelog",
"docs": "Documentation",
"linksHeading": "Sources & docs",
- "newerAvailable": "Newer version: {tag}",
- "tourReplay": "Replay the tour",
- "tourReplayHint": "Watch the dashboard walkthrough — handy if you skipped it on first visit."
+ "newerAvailable": "Newer version: {tag}"
},
"testConnection": {
"test": "Test connection",
diff --git a/messages/es.json b/messages/es.json
index 2110b8cd6..e979134af 100644
--- a/messages/es.json
+++ b/messages/es.json
@@ -4621,9 +4621,7 @@
"changelog": "Changelog",
"docs": "Documentación",
"linksHeading": "Fuentes y documentación",
- "newerAvailable": "Nueva versión: {tag}",
- "tourReplay": "Volver a ver el recorrido",
- "tourReplayHint": "Mira el recorrido del panel — útil si lo saltaste en la primera visita."
+ "newerAvailable": "Nueva versión: {tag}"
},
"testConnection": {
"test": "Probar conexión",
diff --git a/messages/fr.json b/messages/fr.json
index 8f6e5a3d4..ccb1c3e92 100644
--- a/messages/fr.json
+++ b/messages/fr.json
@@ -4621,9 +4621,7 @@
"changelog": "Changelog",
"docs": "Documentation",
"linksHeading": "Sources et documentation",
- "newerAvailable": "Nouvelle version : {tag}",
- "tourReplay": "Revoir la visite",
- "tourReplayHint": "Voir la visite guidée du tableau de bord — pratique si tu l'as sautée à la première visite."
+ "newerAvailable": "Nouvelle version : {tag}"
},
"testConnection": {
"test": "Tester la connexion",
diff --git a/messages/it.json b/messages/it.json
index 2f80c5675..3aea8285f 100644
--- a/messages/it.json
+++ b/messages/it.json
@@ -4621,9 +4621,7 @@
"changelog": "Changelog",
"docs": "Documentazione",
"linksHeading": "Fonti e documentazione",
- "newerAvailable": "Nuova versione: {tag}",
- "tourReplay": "Rivedi il tour",
- "tourReplayHint": "Guarda il tour della dashboard — utile se l'hai saltato alla prima visita."
+ "newerAvailable": "Nuova versione: {tag}"
},
"testConnection": {
"test": "Prova connessione",
diff --git a/messages/pl.json b/messages/pl.json
index 2c637227b..41f7b38be 100644
--- a/messages/pl.json
+++ b/messages/pl.json
@@ -4621,9 +4621,7 @@
"changelog": "Changelog",
"docs": "Dokumentacja",
"linksHeading": "Źródła i dokumentacja",
- "newerAvailable": "Nowa wersja: {tag}",
- "tourReplay": "Obejrzyj samouczek",
- "tourReplayHint": "Zobacz przewodnik po panelu — przydatne, jeśli pominąłeś go przy pierwszej wizycie."
+ "newerAvailable": "Nowa wersja: {tag}"
},
"testConnection": {
"test": "Testuj połączenie",
diff --git a/src/app/achievements/page.tsx b/src/app/achievements/page.tsx
index 513927772..f0a9448c3 100644
--- a/src/app/achievements/page.tsx
+++ b/src/app/achievements/page.tsx
@@ -34,6 +34,7 @@ import { Badge } from "@/components/ui/badge";
import { EmptyState } from "@/components/ui/empty-state";
import { useAuth } from "@/hooks/use-auth";
import { useTranslations } from "@/lib/i18n/context";
+import { ModuleTourTrigger } from "@/components/onboarding/module-tour-trigger";
import { formatDate } from "@/lib/format";
import { useAchievementsQuery } from "@/lib/queries/use-achievements-query";
import {
@@ -317,13 +318,21 @@ export default function AchievementsPage() {
return (
-
-
- {t("achievements.title")}
-
-
- {t("achievements.subtitle")}
-
+
+
+
+ {t("achievements.title")}
+
+
+ {t("achievements.subtitle")}
+
+
+
+
+
diff --git a/src/app/admin/[section]/renderer.tsx b/src/app/admin/[section]/renderer.tsx
index 8bd9e34be..aeea25435 100644
--- a/src/app/admin/[section]/renderer.tsx
+++ b/src/app/admin/[section]/renderer.tsx
@@ -194,9 +194,9 @@ export function AdminSectionRenderer({
// v1.4.36 W4e — About section reused as-is from the settings
// surface. The component owns its own heading + cards layout
// so no SectionFrame wrapper.
- // v1.18.1 E5 — hide the onboarding "Replay tour" card on the admin
- // surface; it's a user-facing affordance with no admin-side use.
- return
;
+ // v1.18.6 — the About surface no longer carries the tour-replay card
+ // (consolidated onto Settings → Advanced), so there's nothing to hide.
+ return
;
default:
slug satisfies never;
return null;
diff --git a/src/app/coach/page.tsx b/src/app/coach/page.tsx
index 23363d12e..d8c0d5402 100644
--- a/src/app/coach/page.tsx
+++ b/src/app/coach/page.tsx
@@ -6,6 +6,7 @@ import { Minimize2 } from "lucide-react";
import { Button } from "@/components/ui/button";
import { CoachConversation } from "@/components/insights/coach-panel/coach-conversation";
+import { ModuleTourTrigger } from "@/components/onboarding/module-tour-trigger";
import { useTranslations } from "@/lib/i18n/context";
import { useCoachLaunch } from "@/lib/insights/coach-launch-context";
import { useFeatureFlags } from "@/hooks/use-feature-flags";
@@ -61,6 +62,7 @@ export default function CoachPage() {
return (
{title}
)}
leadingHeaderActions={
-
+ <>
+
+
+ >
}
/>
diff --git a/src/app/labs/page.tsx b/src/app/labs/page.tsx
index 8ef9835e3..98196c102 100644
--- a/src/app/labs/page.tsx
+++ b/src/app/labs/page.tsx
@@ -22,6 +22,7 @@ import { useMounted } from "@/hooks/use-mounted";
import { usePullToRefresh } from "@/hooks/use-pull-to-refresh";
import { useTranslations } from "@/lib/i18n/context";
import { queryKeys } from "@/lib/query-keys";
+import { ModuleTourTrigger } from "@/components/onboarding/module-tour-trigger";
export default function LabsPage() {
const { isAuthenticated, isLoading } = useAuth();
@@ -63,7 +64,10 @@ export default function LabsPage() {
-
+
{t("labs.title")}
@@ -71,6 +75,7 @@ export default function LabsPage() {
+