import { useLingui } from "@lingui/react/macro"; import type { GroupAvatarMember } from "@rakazo/ui-web"; import { BotAvatar, Button } from "@rakazo/ui-web"; import { MoreHorizontal } from "lucide-react"; import { ProjectIcon } from "../../components/project-icon"; import { rosterNameClass, rosterRowSurfaceClass } from "./roster-row-style"; import { FALLBACK_BOT_COLOR } from "./shell-types"; import type { SpaceMenuRequest } from "./sidebar-group-header"; /** One project in the sidebar: its icon, name, and group member avatars; it opens the project's group chat. */ export function ProjectRow({ spaceId, name, icon, color, members, hasMenu, selected, unread, needsYou, running, onOpen, onMenu, }: { spaceId: string; name: string; icon?: string | null; color?: string | null; members?: GroupAvatarMember[]; hasMenu: boolean; selected: boolean; unread: boolean; needsYou: number; running: boolean; onOpen: () => void; onMenu: (menu: SpaceMenuRequest, anchor: HTMLElement) => void; }) { const { t } = useLingui(); return (
{hasMenu ? ( // Pointer devices reveal the menu on hover; touch opens it with a long press. ) : null}
); }