plane/space/components/issues/navbar/index.tsx

45 lines
1.4 KiB
TypeScript
Raw Normal View History

"use client";
2024-05-14 20:55:38 +00:00
import { FC } from "react";
import { observer } from "mobx-react-lite";
import { Briefcase } from "lucide-react";
// components
2024-03-19 14:38:35 +00:00
import { ProjectLogo } from "@/components/common";
import { NavbarControls } from "@/components/issues/navbar/controls";
// hooks
import { useProject } from "@/hooks/store";
type IssueNavbarProps = {
workspaceSlug: string;
projectId: string;
};
const IssueNavbar: FC<IssueNavbarProps> = observer((props) => {
const { workspaceSlug, projectId } = props;
// hooks
const { project } = useProject();
return (
2024-05-14 20:55:38 +00:00
<div className="relative flex justify-between w-full gap-4 px-5">
{/* project detail */}
2023-12-01 07:55:48 +00:00
<div className="flex flex-shrink-0 items-center gap-2">
{project ? (
<span className="h-7 w-7 flex-shrink-0 grid place-items-center">
<ProjectLogo logo={project.logo_props} className="text-lg" />
</span>
) : (
<span className="grid h-7 w-7 flex-shrink-0 place-items-center rounded uppercase">
<Briefcase className="h-4 w-4" />
</span>
)}
<div className="line-clamp-1 max-w-[300px] overflow-hidden text-lg font-medium">{project?.name || `...`}</div>
</div>
2024-05-14 20:55:38 +00:00
<div className="flex flex-shrink-0 items-center gap-2">
<NavbarControls workspaceSlug={workspaceSlug} projectId={projectId} />
</div>
</div>
);
});
export default IssueNavbar;