mirror of
https://github.com/makeplane/plane
synced 2024-06-14 14:31:34 +00:00
9065b5d368
* fix: created dashboard, widgets and dashboard widget model * fix: new user home dashboard * chore: recent projects list * chore: recent collaborators * chore: priority order change * chore: payload changes * chore: collaborator's active issue count * chore: all dashboard widgets added with services and typs * chore: centered metric for pie chart * chore: widget filters * chore: created issue filter * fix: created and assigned issues payload change * chore: created issue payload change * fix: date filter change * chore: implement filters * fix: added expansion fields * fix: changed issue structure with relation * chore: new issues response * fix: project member fix * chore: updated issue_relation structure * chore: code cleanup * chore: update issues response and added empty states * fix: button text wrap * chore: update empty state messages * fix: filters * chore: update dark mode empty states * build-error: Type check in the issue relation service * fix: issues redirection * fix: project empty state * chore: project member active check * chore: project member check in state and priority * chore: remove console logs and replace harcoded values with constants * fix: code refactoring * fix: key name changed * refactor: mapping through similar components using an array * fix: build errors --------- Co-authored-by: Aaryan Khandelwal <aaryankhandu123@gmail.com> Co-authored-by: gurusainath <gurusainath007@gmail.com>
42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
import Image from "next/image";
|
|
import { observer } from "mobx-react-lite";
|
|
// hooks
|
|
import { useApplication, useUser } from "hooks/store";
|
|
// ui
|
|
import { Button } from "@plane/ui";
|
|
// assets
|
|
import ProjectEmptyStateImage from "public/empty-state/dashboard/project.svg";
|
|
// constants
|
|
import { EUserWorkspaceRoles } from "constants/workspace";
|
|
|
|
export const DashboardProjectEmptyState = observer(() => {
|
|
// store hooks
|
|
const {
|
|
commandPalette: { toggleCreateProjectModal },
|
|
} = useApplication();
|
|
const {
|
|
membership: { currentWorkspaceRole },
|
|
} = useUser();
|
|
// derived values
|
|
const canCreateProject = currentWorkspaceRole === EUserWorkspaceRoles.ADMIN;
|
|
|
|
return (
|
|
<div className="h-full flex flex-col justify-center lg:w-3/5 mx-auto space-y-4">
|
|
<h4 className="text-xl font-semibold">Overview of your projects, activity, and metrics</h4>
|
|
<p className="text-custom-text-300">
|
|
Welcome to Plane, we are excited to have you here. Create your first project and track your issues, and this
|
|
page will transform into a space that helps you progress. Admins will also see items which help their team
|
|
progress.
|
|
</p>
|
|
<Image src={ProjectEmptyStateImage} className="w-full" alt="Project empty state" />
|
|
{canCreateProject && (
|
|
<div className="flex justify-center">
|
|
<Button variant="primary" onClick={() => toggleCreateProjectModal(true)}>
|
|
Build your first project
|
|
</Button>
|
|
</div>
|
|
)}
|
|
</div>
|
|
);
|
|
});
|