import React, { useState } from 'react'; import { ShoppingCartIcon } from './icons/ShoppingCartIcon'; import { DarkModeToggle } from './DarkModeToggle'; import { UnitSystemToggle } from './UnitSystemToggle'; import { Session } from '@supabase/supabase-js'; import { supabase } from '../services/supabaseClient'; import { AuthModal } from './AuthModal'; import { SignUpModal } from './SignUpModal'; import { UserIcon } from './icons/UserIcon'; import { Cog8ToothIcon } from './icons/Cog8ToothIcon'; import { MicrophoneIcon } from './icons/MicrophoneIcon'; import { Link } from 'react-router-dom'; import { ShieldCheckIcon } from './icons/ShieldCheckIcon'; import { Profile } from '../types'; type AuthStatus = 'SIGNED_OUT' | 'ANONYMOUS' | 'AUTHENTICATED'; interface HeaderProps { isDarkMode: boolean; toggleDarkMode: () => void; unitSystem: 'metric' | 'imperial'; toggleUnitSystem: () => void; session: Session | null; authStatus: AuthStatus; profile: Profile | null; onOpenProfile: () => void; onOpenVoiceAssistant: () => void; onSignOut: () => void; } export const Header: React.FC = ({ isDarkMode, toggleDarkMode, unitSystem, toggleUnitSystem, session, authStatus, profile, onOpenProfile, onOpenVoiceAssistant, onSignOut }) => { const [isSignInModalOpen, setIsSignInModalOpen] = useState(false); const [isSignUpModalOpen, setIsSignUpModalOpen] = useState(false); const openSignIn = () => { setIsSignUpModalOpen(false); setIsSignInModalOpen(true); }; const openSignUp = () => { setIsSignInModalOpen(false); setIsSignUpModalOpen(true); }; return ( <>

Flyer Crawler

{session && ( )}
{session ? (
{authStatus === 'AUTHENTICATED' ? ( {session.user.email} ) : ( Guest )}
{profile?.role === 'admin' && ( )}
) : (
)}
{isSignInModalOpen && supabase && ( setIsSignInModalOpen(false)} onSwitchToSignUp={openSignUp} /> )} {isSignUpModalOpen && supabase && ( setIsSignUpModalOpen(false)} onSwitchToSignIn={openSignIn} /> )} ); };