ConceptPortal-public/rsconcept/frontend/src/app/Navigation/UserButton.tsx

35 lines
999 B
TypeScript
Raw Normal View History

import { useAuthSuspense } from '@/features/auth';
2025-02-12 21:36:25 +03:00
import { IconLogin, IconUser2 } from '@/components/Icons';
import { usePreferencesStore } from '@/stores/preferences';
2025-02-19 23:30:35 +03:00
import { NavigationButton } from './NavigationButton';
interface UserButtonProps {
onLogin: () => void;
onClickUser: () => void;
}
2025-02-19 23:30:35 +03:00
export function UserButton({ onLogin, onClickUser }: UserButtonProps) {
const { user, isAnonymous } = useAuthSuspense();
const adminMode = usePreferencesStore(state => state.adminMode);
if (isAnonymous) {
return (
<NavigationButton
className='cc-fade-in'
title='Перейти на страницу логина'
icon={<IconLogin size='1.5rem' className='icon-primary' />}
onClick={onLogin}
/>
);
} else {
return (
<NavigationButton
className='cc-fade-in'
icon={<IconUser2 size='1.5rem' className={adminMode && user.is_staff ? 'icon-primary' : ''} />}
onClick={onClickUser}
/>
);
}
}