mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
5b0066140f
* chore: format all files in the project * fix: removing @types/react from dependencies * fix: adding prettier and eslint config * chore: format files * fix: upgrading turbo version * chore: ignoring warnings and adding todos * fix: updated the type of bubble menu item in the document editor * chore: format files --------- Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com>
60 lines
1.9 KiB
TypeScript
60 lines
1.9 KiB
TypeScript
// next
|
|
import { useRouter } from "next/router";
|
|
import { observer } from "mobx-react-lite";
|
|
// mobx store
|
|
import { useMobxStore } from "lib/mobx/store-provider";
|
|
// components
|
|
import { EmptyState } from "components/common";
|
|
// assets
|
|
import emptyIssue from "public/empty-state/issue.svg";
|
|
import emptyProject from "public/empty-state/project.svg";
|
|
// icons
|
|
import { Plus, PlusIcon } from "lucide-react";
|
|
|
|
export const GlobalViewEmptyState: React.FC = observer(() => {
|
|
const router = useRouter();
|
|
const { workspaceSlug } = router.query;
|
|
|
|
const {
|
|
commandPalette: commandPaletteStore,
|
|
project: projectStore,
|
|
trackEvent: { setTrackElement },
|
|
} = useMobxStore();
|
|
|
|
const projects = workspaceSlug ? projectStore.projects[workspaceSlug.toString()] : null;
|
|
|
|
return (
|
|
<div className="grid h-full w-full place-items-center">
|
|
{!projects || projects?.length === 0 ? (
|
|
<EmptyState
|
|
image={emptyProject}
|
|
title="No projects yet"
|
|
description="Get started by creating your first project"
|
|
primaryButton={{
|
|
icon: <Plus className="h-4 w-4" />,
|
|
text: "New Project",
|
|
onClick: () => {
|
|
setTrackElement("ALL_ISSUES_EMPTY_STATE");
|
|
commandPaletteStore.toggleCreateProjectModal(true);
|
|
},
|
|
}}
|
|
/>
|
|
) : (
|
|
<EmptyState
|
|
title="View issues will appear here"
|
|
description="Issues help you track individual pieces of work. With Issues, keep track of what's going on, who is working on it, and what's done."
|
|
image={emptyIssue}
|
|
primaryButton={{
|
|
text: "New issue",
|
|
icon: <PlusIcon className="h-3 w-3" strokeWidth={2} />,
|
|
onClick: () => {
|
|
setTrackElement("ALL_ISSUES_EMPTY_STATE");
|
|
commandPaletteStore.toggleCreateIssueModal(true);
|
|
},
|
|
}}
|
|
/>
|
|
)}
|
|
</div>
|
|
);
|
|
});
|