/** * Custom hook to detect pilot program participation * * Checks both environment variable (VITE_PILOT_MODE_ENABLED) and URL parameter (?pilot=true) * to determine if pilot mode is active. * * Priority: Environment variable OR URL parameter (either can enable pilot mode) */ import { useMemo } from 'react'; import { useLocation } from 'react-router-dom'; import PILOT_CONFIG from '../config/pilot'; interface PilotDetectionResult { isPilot: boolean; couponCode: string | null; trialMonths: number; trialDays: number; } export const usePilotDetection = (): PilotDetectionResult => { const location = useLocation(); const pilotInfo = useMemo(() => { // Check URL parameter const searchParams = new URLSearchParams(location.search); const urlPilotParam = searchParams.get('pilot') === 'true'; // Pilot mode is active if EITHER env var is true OR URL param is true const isPilot = PILOT_CONFIG.enabled || urlPilotParam; return { isPilot, couponCode: isPilot ? PILOT_CONFIG.couponCode : null, trialMonths: isPilot ? PILOT_CONFIG.trialMonths : 0, trialDays: isPilot ? PILOT_CONFIG.trialDays : 14, }; }, [location.search]); return pilotInfo; };