diff --git a/admin/constants/kv_store.ts b/admin/constants/kv_store.ts index e9afed7..e8df201 100644 --- a/admin/constants/kv_store.ts +++ b/admin/constants/kv_store.ts @@ -1,3 +1,3 @@ import { KVStoreKey } from "../types/kv_store.js"; -export const SETTINGS_KEYS: KVStoreKey[] = ['chat.suggestionsEnabled']; \ No newline at end of file +export const SETTINGS_KEYS: KVStoreKey[] = ['chat.suggestionsEnabled', 'ui.hasVisitedEasySetup']; \ No newline at end of file diff --git a/admin/inertia/pages/easy-setup/index.tsx b/admin/inertia/pages/easy-setup/index.tsx index 59f00f4..589c089 100644 --- a/admin/inertia/pages/easy-setup/index.tsx +++ b/admin/inertia/pages/easy-setup/index.tsx @@ -465,6 +465,20 @@ export default function EasySetupWizard(props: { system: { services: ServiceSlim } }, [zimCollections, fetchLatestZIMCollections]) + // Set Easy Setup as visited when user lands on this page + useEffect(() => { + const markAsVisited = async () => { + try { + await api.updateSetting('ui.hasVisitedEasySetup', 'true') + } catch (error) { + // Silent fail - this is non-critical + console.warn('Failed to mark Easy Setup as visited:', error) + } + } + + markAsVisited() + }, []) + const renderStepIndicator = () => { const steps = [ { number: 1, label: 'Apps' }, diff --git a/admin/inertia/pages/home.tsx b/admin/inertia/pages/home.tsx index 1aababe..a8c099d 100644 --- a/admin/inertia/pages/home.tsx +++ b/admin/inertia/pages/home.tsx @@ -12,6 +12,7 @@ import { getServiceLink } from '~/lib/navigation' import { ServiceSlim } from '../../types/services' import DynamicIcon, { DynamicIconName } from '~/components/DynamicIcon' import { useUpdateAvailable } from '~/hooks/useUpdateAvailable' +import { useSystemSetting } from '~/hooks/useSystemSetting' import Alert from '~/components/Alert' // Maps is a Core Capability (display_order: 4) @@ -90,6 +91,12 @@ export default function Home(props: { const items: DashboardItem[] = [] const updateInfo = useUpdateAvailable(); + // Check if user has visited Easy Setup + const { data: easySetupVisited } = useSystemSetting({ + key: 'ui.hasVisitedEasySetup' + }) + const shouldHighlightEasySetup = easySetupVisited?.value !== 'true' + // Add installed services (non-dependency services only) props.system.services .filter((service) => service.installed && service.ui_location) @@ -145,19 +152,32 @@ export default function Home(props: { ) }
Powered by {item.poweredBy}
} -{item.description}
-Powered by {item.poweredBy}
} +{item.description}
+