Skip to content

Commit

Permalink
feat(Frontend): add name to user store
Browse files Browse the repository at this point in the history
  • Loading branch information
iandday committed Nov 23, 2024
1 parent e4b965c commit cc58bde
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 20 deletions.
44 changes: 24 additions & 20 deletions frontend/src/components/user-nav.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,48 +10,52 @@ import {
DropdownMenuShortcut,
DropdownMenuTrigger,
} from '@/components/ui/dropdown-menu'
import { useUserStore } from '@/store/user-store'
import { Link } from 'react-router-dom'

export function UserNav() {
const firstName = useUserStore.getState().user?.firstName
const lastName = useUserStore.getState().user?.lastName
const email = useUserStore.getState().user?.email

return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant='ghost' className='relative h-8 w-8 rounded-full'>
<Avatar className='h-8 w-8'>
<AvatarImage src='/avatars/01.png' alt='@shadcn' />
<AvatarFallback>SN</AvatarFallback>
<AvatarFallback>
{firstName?.[0]}
{lastName?.[0]}
</AvatarFallback>
</Avatar>
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent className='w-56' align='end' forceMount>
<DropdownMenuLabel className='font-normal'>
<div className='flex flex-col space-y-1'>
<p className='text-sm font-medium leading-none'>satnaing</p>
<p className='text-sm font-medium leading-none'>
{firstName} {lastName}
</p>
<p className='text-xs leading-none text-muted-foreground'>
[email protected]
{email}
</p>
</div>
</DropdownMenuLabel>
<DropdownMenuSeparator />
<DropdownMenuGroup>
<DropdownMenuItem>
Profile
<DropdownMenuShortcut>⇧⌘P</DropdownMenuShortcut>
</DropdownMenuItem>
<DropdownMenuItem>
Billing
<DropdownMenuShortcut>⌘B</DropdownMenuShortcut>
</DropdownMenuItem>
<DropdownMenuItem>
Settings
<DropdownMenuShortcut>⌘S</DropdownMenuShortcut>
</DropdownMenuItem>
<DropdownMenuItem>New Team</DropdownMenuItem>
<Link to={'/settings'}>
<DropdownMenuItem>Profile</DropdownMenuItem>
</Link>
<Link to={'/settings'}>
<DropdownMenuItem>Settings</DropdownMenuItem>
</Link>
</DropdownMenuGroup>
<DropdownMenuSeparator />
<DropdownMenuItem>
Log out
<DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>
</DropdownMenuItem>

<Link to={'/sign-out'}>
<DropdownMenuItem>Logout </DropdownMenuItem>
</Link>
</DropdownMenuContent>
</DropdownMenu>
)
Expand Down
3 changes: 3 additions & 0 deletions frontend/src/pages/auth/components/user-auth-form.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ export function UserAuthForm({ className, ...props }: UserAuthFormProps) {
setCredentials({
accessToken: data.access,
refreshToken: data.refresh,
firstName: data.user.first_name,
lastName: data.user.last_name,
email: data.user.email,
})

navigate('/')
Expand Down
3 changes: 3 additions & 0 deletions frontend/src/store/user-store.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import { persist } from 'zustand/middleware'
interface User {
accessToken: string
refreshToken: string
firstName: string
lastName: string
email: string
}

interface UserState {
Expand Down

0 comments on commit cc58bde

Please sign in to comment.