diff --git a/src/components/Dashboard.tsx b/src/components/Dashboard.tsx index 7c184de..17ed3ad 100644 --- a/src/components/Dashboard.tsx +++ b/src/components/Dashboard.tsx @@ -51,7 +51,6 @@ export function Dashboard({ user }: DashboardProps) { const [achievements, setAchievements] = useState([]); const [savingsConfig, setSavingsConfig] = useState(null); const [showSetup, setShowSetup] = useState(false); - const [showUsagePrompt, setShowUsagePrompt] = useState(false); const [showCelebration, setShowCelebration] = useState(false); const [isSubstancePickerOpen, setIsSubstancePickerOpen] = useState(false); const [activeLoggingSubstance, setActiveLoggingSubstance] = useState<'nicotine' | 'weed' | null>(null); @@ -63,7 +62,8 @@ export function Dashboard({ user }: DashboardProps) { const swipeContainerRef = useRef(null); const { theme } = useTheme(); - const isAnyModalOpen = modalOpenCount > 0 || showUsagePrompt || showSetup || showCelebration; + const isModalOpen = modalOpenCount > 0 || showSetup || showCelebration; + const isNavHidden = isModalOpen || isSubstancePickerOpen || !!activeLoggingSubstance; const handleModalStateChange = useCallback((isOpen: boolean) => { setModalOpenCount(prev => isOpen ? prev + 1 : Math.max(0, prev - 1)); @@ -165,11 +165,11 @@ export function Dashboard({ user }: DashboardProps) { const isStandalone = window.matchMedia('(display-mode: standalone)').matches || (window.navigator as Navigator & { standalone?: boolean }).standalone === true; - // Always show usage prompt when accessed as PWA shortcut + // Always show substance picker when accessed as PWA shortcut if (isStandalone) { - setShowUsagePrompt(true); + setIsSubstancePickerOpen(true); } else if (shouldShowUsagePrompt()) { - setShowUsagePrompt(true); + setIsSubstancePickerOpen(true); markPromptShown(); } } @@ -195,13 +195,14 @@ export function Dashboard({ user }: DashboardProps) { await savePreferencesAsync(newPrefs); setPreferences(newPrefs); setShowSetup(false); - setShowUsagePrompt(true); + setIsSubstancePickerOpen(true); setRefreshKey(prev => prev + 1); }; const handleUsageSubmit = async (count: number, substance: 'nicotine' | 'weed') => { if (!preferences) { - setShowUsagePrompt(false); + setIsSubstancePickerOpen(false); + setActiveLoggingSubstance(null); return; } @@ -226,7 +227,6 @@ export function Dashboard({ user }: DashboardProps) { setPreferences(latestPrefs); } - setShowUsagePrompt(false); setActiveLoggingSubstance(null); setIsSubstancePickerOpen(false); // Reload data and force calendar refresh @@ -306,7 +306,7 @@ export function Dashboard({ user }: DashboardProps) { {preferences && ( <> {/* Floating Log Button - Simplified to toggle Picker */} -
+
)} - {currentPage < 3 && !isAnyModalOpen && ( + {currentPage < 3 && !isNavHidden && (