Spaces:
Build error
Build error
| import React from "react"; | |
| import { UserAvatar } from "./user-avatar"; | |
| import { AccountSettingsContextMenu } from "../context-menu/account-settings-context-menu"; | |
| interface UserActionsProps { | |
| onLogout: () => void; | |
| user?: { avatar_url: string }; | |
| isLoading?: boolean; | |
| } | |
| export function UserActions({ onLogout, user, isLoading }: UserActionsProps) { | |
| const [accountContextMenuIsVisible, setAccountContextMenuIsVisible] = | |
| React.useState(false); | |
| const toggleAccountMenu = () => { | |
| setAccountContextMenuIsVisible((prev) => !prev); | |
| }; | |
| const closeAccountMenu = () => { | |
| setAccountContextMenuIsVisible(false); | |
| }; | |
| const handleLogout = () => { | |
| onLogout(); | |
| closeAccountMenu(); | |
| }; | |
| return ( | |
| <div data-testid="user-actions" className="w-8 h-8 relative"> | |
| <UserAvatar | |
| avatarUrl={user?.avatar_url} | |
| onClick={toggleAccountMenu} | |
| isLoading={isLoading} | |
| /> | |
| {accountContextMenuIsVisible && ( | |
| <AccountSettingsContextMenu | |
| onLogout={handleLogout} | |
| onClose={closeAccountMenu} | |
| /> | |
| )} | |
| </div> | |
| ); | |
| } | |