diff --git a/web/src/app/providers.tsx b/web/src/app/providers.tsx index e99b21e..67576f1 100644 --- a/web/src/app/providers.tsx +++ b/web/src/app/providers.tsx @@ -1,14 +1,23 @@ 'use client'; import { useEffect } from 'react'; +import { usePathname } from 'next/navigation'; import { AuthProvider } from '@/lib/auth-context'; -import { initTelemetry } from '@/lib/telemetry'; +import { initTelemetry, trackPageView } from '@/lib/telemetry'; import type { ReactNode } from 'react'; export function Providers({ children }: { children: ReactNode }) { + const pathname = usePathname(); + useEffect(() => { initTelemetry(); }, []); + useEffect(() => { + if (pathname) { + trackPageView(pathname); + } + }, [pathname]); + return {children}; } diff --git a/web/src/app/settings/page.tsx b/web/src/app/settings/page.tsx index ffe66ce..7136a36 100644 --- a/web/src/app/settings/page.tsx +++ b/web/src/app/settings/page.tsx @@ -349,7 +349,7 @@ export default function SettingsPage() {

- All data is stored locally in your browser. No data is sent to any server. + Timer data is stored locally in your browser. Anonymous usage analytics are sent to improve the app. See our Privacy Policy.

diff --git a/web/src/lib/auth-context.tsx b/web/src/lib/auth-context.tsx index 3f6edb2..21331c2 100644 --- a/web/src/lib/auth-context.tsx +++ b/web/src/lib/auth-context.tsx @@ -10,6 +10,7 @@ import { registerUser, getMe, setAuthToken, + setSyncEnabled, isAuthenticated as checkAuth, type AuthUser, } from './platform-sync'; @@ -56,6 +57,7 @@ export function AuthProvider({ children }: { children: ReactNode }) { try { const result = await loginUser(email, password); setAuthToken(result.accessToken); + setSyncEnabled(true); setUser(result.user); return true; } catch (err) { @@ -70,6 +72,7 @@ export function AuthProvider({ children }: { children: ReactNode }) { try { const result = await registerUser(email, password, displayName); setAuthToken(result.accessToken); + setSyncEnabled(true); setUser(result.user); return true; } catch (err) { @@ -82,6 +85,7 @@ export function AuthProvider({ children }: { children: ReactNode }) { const logout = useCallback(() => { setAuthToken(null); + setSyncEnabled(false); setUser(null); }, []);