import { useEffect, useState } from 'react'; import { api, type User } from './api'; import { clearSession } from './engine/session'; import { useI18n } from './i18n/I18nProvider'; import { Profile } from './ui/Profile'; import { Avatar } from './ui/Avatar'; // The member's own page: the same form the admin drawer holds, reachable // without the moderation screen. No router — main.tsx picks it by pathname. export function ProfilePage() { const { t } = useI18n(); const [user, setUser] = useState(null); const [loaded, setLoaded] = useState(false); const [note, setNote] = useState(null); useEffect(() => { api.me() .then((r) => setUser(r.user)) .catch(() => undefined) .finally(() => setLoaded(true)); }, []); return (
RecipesCam {t('profile.title')} {t('nav.back')}
{note ?

{note}

: null} {user ? ( ) : loaded ? (

{t('nav.login')}

) : null}
); }