"use client"; import { useEffect } from "react"; import { usePathname, useRouter } from "@/i18n/navigation"; import { useSettingsStore } from "@/stores/settings-store"; import { useIsDesktop } from "@/hooks/use-media-query"; import { useProTabStore, type ProTabKind } from "@/stores/pro-tab-store"; const STANDARD_PATH_TO_TAB: Record> = { '/': 'mail', '/calendar': 'calendar', '/contacts': 'contacts', '/files': 'files', '/settings': 'settings', }; /** * When the Pro interface is enabled, the standard mail/calendar/contacts/ * files/settings routes are taken over by the Pro shell - the user shouldn't * have to click "Open" in settings to land there. Mobile/tablet keeps the * standard layout because Pro is desktop-only (see pro/page.tsx). */ export function ProInterfaceRedirect() { const router = useRouter(); const pathname = usePathname(); const proInterface = useSettingsStore((s) => s.proInterface); const isDesktop = useIsDesktop(); useEffect(() => { if (!proInterface || !isDesktop) return; const tabKind = STANDARD_PATH_TO_TAB[pathname]; if (!tabKind) return; useProTabStore.getState().openTab(tabKind); router.replace('/pro'); }, [proInterface, isDesktop, pathname, router]); return null; }