forked from github/plane
651b252c23
* chore: svg icons added in plane/ui package * chore: swap priority and state icon with plane/ui icons * chore: replace core folder icons with lucide and plane ui icons * style: priority icon size * chore: replace icons with lucide and plane/ui icons * chore: replace cycle folder icons with lucide and plane/ui icons * chore: replace existing icons with lucide and plane/ui icons * chore: replace existing icons with lucide and plane/ui icons * chore: replace existing icons with lucide and plane/ui icons * chore: replace existing icons with lucide and plane/ui icons * chore: replace existing icons with lucide and plane/ui icons * fix: build error * fix: build error * fix: build error
97 lines
3.1 KiB
TypeScript
97 lines
3.1 KiB
TypeScript
// types
|
|
import { ContrastIcon, DiceIcon, LayersIcon, PhotoFilterIcon } from "@plane/ui";
|
|
import { Briefcase, FileText, LayoutGrid } from "lucide-react";
|
|
import {
|
|
IWorkspaceDefaultSearchResult,
|
|
IWorkspaceIssueSearchResult,
|
|
IWorkspaceProjectSearchResult,
|
|
IWorkspaceSearchResult,
|
|
} from "types";
|
|
|
|
export const commandGroups: {
|
|
[key: string]: {
|
|
icon: JSX.Element;
|
|
itemName: (item: any) => React.ReactNode;
|
|
path: (item: any) => string;
|
|
title: string;
|
|
};
|
|
} = {
|
|
cycle: {
|
|
icon: <ContrastIcon className="h-3 w-3" />,
|
|
itemName: (cycle: IWorkspaceDefaultSearchResult) => (
|
|
<h6>
|
|
<span className="text-custom-text-200 text-xs">{cycle.project__identifier}</span>
|
|
{"- "}
|
|
{cycle.name}
|
|
</h6>
|
|
),
|
|
path: (cycle: IWorkspaceDefaultSearchResult) =>
|
|
`/${cycle?.workspace__slug}/projects/${cycle?.project_id}/cycles/${cycle?.id}`,
|
|
title: "Cycles",
|
|
},
|
|
issue: {
|
|
icon: <LayersIcon className="h-3 w-3" />,
|
|
itemName: (issue: IWorkspaceIssueSearchResult) => (
|
|
<h6>
|
|
<span className="text-custom-text-200 text-xs">{issue.project__identifier}</span>
|
|
{"- "}
|
|
{issue.name}
|
|
</h6>
|
|
),
|
|
path: (issue: IWorkspaceIssueSearchResult) =>
|
|
`/${issue?.workspace__slug}/projects/${issue?.project_id}/issues/${issue?.id}`,
|
|
title: "Issues",
|
|
},
|
|
issue_view: {
|
|
icon: <PhotoFilterIcon className="h-3 w-3" />,
|
|
itemName: (view: IWorkspaceDefaultSearchResult) => (
|
|
<h6>
|
|
<span className="text-custom-text-200 text-xs">{view.project__identifier}</span>
|
|
{"- "}
|
|
{view.name}
|
|
</h6>
|
|
),
|
|
path: (view: IWorkspaceDefaultSearchResult) =>
|
|
`/${view?.workspace__slug}/projects/${view?.project_id}/views/${view?.id}`,
|
|
title: "Views",
|
|
},
|
|
module: {
|
|
icon: <DiceIcon className="h-3 w-3" />,
|
|
itemName: (module: IWorkspaceDefaultSearchResult) => (
|
|
<h6>
|
|
<span className="text-custom-text-200 text-xs">{module.project__identifier}</span>
|
|
{"- "}
|
|
{module.name}
|
|
</h6>
|
|
),
|
|
path: (module: IWorkspaceDefaultSearchResult) =>
|
|
`/${module?.workspace__slug}/projects/${module?.project_id}/modules/${module?.id}`,
|
|
title: "Modules",
|
|
},
|
|
page: {
|
|
icon: <FileText className="h-3 w-3" />,
|
|
itemName: (page: IWorkspaceDefaultSearchResult) => (
|
|
<h6>
|
|
<span className="text-custom-text-200 text-xs">{page.project__identifier}</span>
|
|
{"- "}
|
|
{page.name}
|
|
</h6>
|
|
),
|
|
path: (page: IWorkspaceDefaultSearchResult) =>
|
|
`/${page?.workspace__slug}/projects/${page?.project_id}/pages/${page?.id}`,
|
|
title: "Pages",
|
|
},
|
|
project: {
|
|
icon: <Briefcase className="h-3 w-3" />,
|
|
itemName: (project: IWorkspaceProjectSearchResult) => project?.name,
|
|
path: (project: IWorkspaceProjectSearchResult) => `/${project?.workspace__slug}/projects/${project?.id}/issues/`,
|
|
title: "Projects",
|
|
},
|
|
workspace: {
|
|
icon: <LayoutGrid className="h-3 w-3" />,
|
|
itemName: (workspace: IWorkspaceSearchResult) => workspace?.name,
|
|
path: (workspace: IWorkspaceSearchResult) => `/${workspace?.slug}/`,
|
|
title: "Workspaces",
|
|
},
|
|
};
|