2024-03-06 14:46:54 +00:00
import { EUserProjectRoles } from "./project" ;
import { EUserWorkspaceRoles } from "./workspace" ;
export interface EmptyStateDetails {
2024-03-11 15:53:09 +00:00
key : EmptyStateType ;
2024-03-06 14:46:54 +00:00
title? : string ;
description? : string ;
path? : string ;
primaryButton ? : {
2024-03-11 15:30:05 +00:00
icon? : React.ReactNode ;
2024-03-06 14:46:54 +00:00
text : string ;
comicBox ? : {
title? : string ;
description? : string ;
} ;
} ;
secondaryButton ? : {
2024-03-11 15:30:05 +00:00
icon? : React.ReactNode ;
2024-03-06 14:46:54 +00:00
text : string ;
comicBox ? : {
title? : string ;
description? : string ;
} ;
} ;
accessType ? : "workspace" | "project" ;
access? : EUserWorkspaceRoles | EUserProjectRoles ;
}
export enum EmptyStateType {
WORKSPACE_DASHBOARD = "workspace-dashboard" ,
WORKSPACE_ANALYTICS = "workspace-analytics" ,
WORKSPACE_PROJECTS = "workspace-projects" ,
WORKSPACE_ALL_ISSUES = "workspace-all-issues" ,
WORKSPACE_ASSIGNED = "workspace-assigned" ,
WORKSPACE_CREATED = "workspace-created" ,
WORKSPACE_SUBSCRIBED = "workspace-subscribed" ,
WORKSPACE_CUSTOM_VIEW = "workspace-custom-view" ,
WORKSPACE_NO_PROJECTS = "workspace-no-projects" ,
WORKSPACE_SETTINGS_API_TOKENS = "workspace-settings-api-tokens" ,
WORKSPACE_SETTINGS_WEBHOOKS = "workspace-settings-webhooks" ,
WORKSPACE_SETTINGS_EXPORT = "workspace-settings-export" ,
WORKSPACE_SETTINGS_IMPORT = "workspace-settings-import" ,
PROFILE_ASSIGNED = "profile-assigned" ,
PROFILE_CREATED = "profile-created" ,
PROFILE_SUBSCRIBED = "profile-subscribed" ,
PROJECT_SETTINGS_LABELS = "project-settings-labels" ,
PROJECT_SETTINGS_INTEGRATIONS = "project-settings-integrations" ,
PROJECT_SETTINGS_ESTIMATE = "project-settings-estimate" ,
PROJECT_CYCLES = "project-cycles" ,
PROJECT_CYCLE_NO_ISSUES = "project-cycle-no-issues" ,
PROJECT_CYCLE_ACTIVE = "project-cycle-active" ,
2024-03-11 15:30:05 +00:00
PROJECT_CYCLE_ALL = "project-cycle-all" ,
2024-03-11 15:53:09 +00:00
PROJECT_CYCLE_COMPLETED_NO_ISSUES = "project-cycle-completed-no-issues" ,
2024-03-20 15:32:58 +00:00
PROJECT_ARCHIVED_NO_CYCLES = "project-archived-no-cycles" ,
2024-03-06 14:46:54 +00:00
PROJECT_EMPTY_FILTER = "project-empty-filter" ,
PROJECT_ARCHIVED_EMPTY_FILTER = "project-archived-empty-filter" ,
PROJECT_DRAFT_EMPTY_FILTER = "project-draft-empty-filter" ,
PROJECT_NO_ISSUES = "project-no-issues" ,
PROJECT_ARCHIVED_NO_ISSUES = "project-archived-no-issues" ,
PROJECT_DRAFT_NO_ISSUES = "project-draft-no-issues" ,
VIEWS_EMPTY_SEARCH = "views-empty-search" ,
PROJECTS_EMPTY_SEARCH = "projects-empty-search" ,
MEMBERS_EMPTY_SEARCH = "members-empty-search" ,
PROJECT_MODULE_ISSUES = "project-module-issues" ,
PROJECT_MODULE = "project-module" ,
2024-03-20 15:32:58 +00:00
PROJECT_ARCHIVED_NO_MODULES = "project-archived-no-modules" ,
2024-03-06 14:46:54 +00:00
PROJECT_VIEW = "project-view" ,
PROJECT_PAGE = "project-page" ,
PROJECT_PAGE_PRIVATE = "project-page-private" ,
2024-04-11 15:58:59 +00:00
PROJECT_PAGE_PUBLIC = "project-page-public" ,
2024-03-06 14:46:54 +00:00
PROJECT_PAGE_ARCHIVED = "project-page-archived" ,
2024-03-15 11:58:45 +00:00
COMMAND_K_SEARCH_EMPTY_STATE = "command-k-search-empty-state" ,
ISSUE_RELATION_SEARCH_EMPTY_STATE = "issue-relation-search-empty-state" ,
ISSUE_RELATION_EMPTY_STATE = "issue-relation-empty-state" ,
ISSUE_COMMENT_EMPTY_STATE = "issue-comment-empty-state" ,
NOTIFICATION_MY_ISSUE_EMPTY_STATE = "notification-my-issues-empty-state" ,
NOTIFICATION_CREATED_EMPTY_STATE = "notification-created-empty-state" ,
NOTIFICATION_SUBSCRIBED_EMPTY_STATE = "notification-subscribed-empty-state" ,
NOTIFICATION_ARCHIVED_EMPTY_STATE = "notification-archived-empty-state" ,
NOTIFICATION_SNOOZED_EMPTY_STATE = "notification-snoozed-empty-state" ,
NOTIFICATION_UNREAD_EMPTY_STATE = "notification-unread-empty-state" ,
2024-03-25 07:46:53 +00:00
ACTIVE_CYCLE_PROGRESS_EMPTY_STATE = "active-cycle-progress-empty-state" ,
ACTIVE_CYCLE_CHART_EMPTY_STATE = "active-cycle-chart-empty-state" ,
ACTIVE_CYCLE_PRIORITY_ISSUE_EMPTY_STATE = "active-cycle-priority-issue-empty-state" ,
ACTIVE_CYCLE_ASSIGNEE_EMPTY_STATE = "active-cycle-assignee-empty-state" ,
ACTIVE_CYCLE_LABEL_EMPTY_STATE = "active-cycle-label-empty-state" ,
2024-04-08 13:41:47 +00:00
DISABLED_PROJECT_INBOX = "disabled-project-inbox" ,
2024-04-09 08:08:07 +00:00
DISABLED_PROJECT_CYCLE = "disabled-project-cycle" ,
DISABLED_PROJECT_MODULE = "disabled-project-module" ,
DISABLED_PROJECT_VIEW = "disabled-project-view" ,
DISABLED_PROJECT_PAGE = "disabled-project-page" ,
2024-04-08 13:41:47 +00:00
INBOX_SIDEBAR_OPEN_TAB = "inbox-sidebar-open-tab" ,
INBOX_SIDEBAR_CLOSED_TAB = "inbox-sidebar-closed-tab" ,
INBOX_SIDEBAR_FILTER_EMPTY_STATE = "inbox-sidebar-filter-empty-state" ,
INBOX_DETAIL_EMPTY_STATE = "inbox-detail-empty-state" ,
2024-03-06 14:46:54 +00:00
}
const emptyStateDetails = {
// workspace
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_DASHBOARD ] : {
key : EmptyStateType.WORKSPACE_DASHBOARD ,
2024-02-13 11:05:20 +00:00
title : "Overview of your projects, activity, and metrics" ,
description :
" 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." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/onboarding/dashboard" ,
// path: "/empty-state/onboarding/",
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Build your first project" ,
2024-03-06 14:46:54 +00:00
comicBox : {
title : "Everything starts with a project in Plane" ,
description : "A project could be a product’ s roadmap, a marketing campaign, or launching a new car." ,
} ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_ANALYTICS ] : {
key : EmptyStateType.WORKSPACE_ANALYTICS ,
2024-02-13 11:05:20 +00:00
title : "Track progress, workloads, and allocations. Spot trends, remove blockers, and move work faster" ,
description :
"See scope versus demand, estimates, and scope creep. Get performance by team members and teams, and make sure your project runs on time." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/onboarding/analytics" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Create Cycles and Modules first" ,
2024-03-06 14:46:54 +00:00
comicBox : {
title : "Analytics works best with Cycles + Modules" ,
description :
"First, timebox your issues into Cycles and, if you can, group issues that span more than a cycle into Modules. Check out both on the left nav." ,
} ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_PROJECTS ] : {
key : EmptyStateType.WORKSPACE_PROJECTS ,
2024-03-21 15:29:34 +00:00
title : "No active projects" ,
2024-02-13 11:05:20 +00:00
description :
2024-03-21 15:29:34 +00:00
"Think of each project as the parent for goal-oriented work. Projects are where Jobs, Cycles, and Modules live and, along with your colleagues, help you achieve that goal. Create a new project or filter for archived projects." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/onboarding/projects" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Start your first project" ,
2024-03-06 14:46:54 +00:00
comicBox : {
title : "Everything starts with a project in Plane" ,
description : "A project could be a product’ s roadmap, a marketing campaign, or launching a new car." ,
} ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// all-issues
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_ALL_ISSUES ] : {
key : EmptyStateType.WORKSPACE_ALL_ISSUES ,
2024-02-13 11:05:20 +00:00
title : "No issues in the project" ,
description : "First project done! Now, slice your work into trackable pieces with issues. Let's go!" ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/all-issues/all-issues" ,
primaryButton : {
text : "Create new issue" ,
} ,
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_ASSIGNED ] : {
key : EmptyStateType.WORKSPACE_ASSIGNED ,
2024-02-13 11:05:20 +00:00
title : "No issues yet" ,
description : "Issues assigned to you can be tracked from here." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/all-issues/assigned" ,
primaryButton : {
text : "Create new issue" ,
} ,
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_CREATED ] : {
key : EmptyStateType.WORKSPACE_CREATED ,
2024-02-13 11:05:20 +00:00
title : "No issues yet" ,
description : "All issues created by you come here, track them here directly." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/all-issues/created" ,
primaryButton : {
text : "Create new issue" ,
} ,
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_SUBSCRIBED ] : {
key : EmptyStateType.WORKSPACE_SUBSCRIBED ,
2024-02-13 11:05:20 +00:00
title : "No issues yet" ,
description : "Subscribe to issues you are interested in, track all of them here." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/all-issues/subscribed" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_CUSTOM_VIEW ] : {
key : EmptyStateType.WORKSPACE_CUSTOM_VIEW ,
2024-02-13 11:05:20 +00:00
title : "No issues yet" ,
description : "Issues that applies to the filters, track all of them here." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/all-issues/custom-view" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_NO_PROJECTS ] : {
key : EmptyStateType.WORKSPACE_NO_PROJECTS ,
2024-03-06 14:46:54 +00:00
title : "No project" ,
description : "To create issues or manage your work, you need to create a project or be a part of one." ,
path : "/empty-state/onboarding/projects" ,
primaryButton : {
text : "Start your first project" ,
comicBox : {
title : "Everything starts with a project in Plane" ,
description : "A project could be a product’ s roadmap, a marketing campaign, or launching a new car." ,
} ,
} ,
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// workspace settings
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_SETTINGS_API_TOKENS ] : {
key : EmptyStateType.WORKSPACE_SETTINGS_API_TOKENS ,
2024-02-13 11:05:20 +00:00
title : "No API tokens created" ,
description :
"Plane APIs can be used to integrate your data in Plane with any external system. Create a token to get started." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/workspace-settings/api-tokens" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_SETTINGS_WEBHOOKS ] : {
key : EmptyStateType.WORKSPACE_SETTINGS_WEBHOOKS ,
2024-02-13 11:05:20 +00:00
title : "No webhooks added" ,
description : "Create webhooks to receive real-time updates and automate actions." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/workspace-settings/webhooks" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_SETTINGS_EXPORT ] : {
key : EmptyStateType.WORKSPACE_SETTINGS_EXPORT ,
2024-02-13 11:05:20 +00:00
title : "No previous exports yet" ,
description : "Anytime you export, you will also have a copy here for reference." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/workspace-settings/exports" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . WORKSPACE_SETTINGS_IMPORT ] : {
key : EmptyStateType.WORKSPACE_SETTINGS_IMPORT ,
2024-02-13 11:05:20 +00:00
title : "No previous imports yet" ,
description : "Find all your previous imports here and download them." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/workspace-settings/imports" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// profile
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROFILE_ASSIGNED ] : {
key : EmptyStateType.PROFILE_ASSIGNED ,
2024-02-13 11:05:20 +00:00
title : "No issues are assigned to you" ,
description : "Issues assigned to you can be tracked from here." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/profile/assigned" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROFILE_CREATED ] : {
key : EmptyStateType.PROFILE_CREATED ,
2024-02-13 11:05:20 +00:00
title : "No issues yet" ,
description : "All issues created by you come here, track them here directly." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/profile/created" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROFILE_SUBSCRIBED ] : {
key : EmptyStateType.PROFILE_SUBSCRIBED ,
2024-02-13 11:05:20 +00:00
title : "No issues yet" ,
description : "Subscribe to issues you are interested in, track all of them here." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/profile/subscribed" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// project settings
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_SETTINGS_LABELS ] : {
key : EmptyStateType.PROJECT_SETTINGS_LABELS ,
2024-02-13 11:05:20 +00:00
title : "No labels yet" ,
description : "Create labels to help organize and filter issues in you project." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/project-settings/labels" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_SETTINGS_INTEGRATIONS ] : {
key : EmptyStateType.PROJECT_SETTINGS_INTEGRATIONS ,
2024-02-13 11:05:20 +00:00
title : "No integrations configured" ,
description : "Configure GitHub and other integrations to sync your project issues." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/project-settings/integrations" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_SETTINGS_ESTIMATE ] : {
key : EmptyStateType.PROJECT_SETTINGS_ESTIMATE ,
2024-02-13 11:05:20 +00:00
title : "No estimates added" ,
description : "Create a set of estimates to communicate the amount of work per issue." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/project-settings/estimates" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// project cycles
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_CYCLES ] : {
key : EmptyStateType.PROJECT_CYCLES ,
2024-02-13 11:05:20 +00:00
title : "Group and timebox your work in Cycles." ,
description :
"Break work down by timeboxed chunks, work backwards from your project deadline to set dates, and make tangible progress as a team." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/onboarding/cycles" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Set your first cycle" ,
2024-03-06 14:46:54 +00:00
comicBox : {
title : "Cycles are repetitive time-boxes." ,
description :
"A sprint, an iteration, and or any other term you use for weekly or fortnightly tracking of work is a cycle." ,
} ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "workspace" ,
access : EUserWorkspaceRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_CYCLE_NO_ISSUES ] : {
key : EmptyStateType.PROJECT_CYCLE_NO_ISSUES ,
2024-02-13 11:05:20 +00:00
title : "No issues added to the cycle" ,
description : "Add or create issues you wish to timebox and deliver within this cycle" ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/cycle-issues/" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Create new issue " ,
} ,
secondaryButton : {
text : "Add an existing issue" ,
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_CYCLE_ACTIVE ] : {
key : EmptyStateType.PROJECT_CYCLE_ACTIVE ,
2024-03-11 15:30:05 +00:00
title : "No active cycle" ,
2024-02-13 11:05:20 +00:00
description :
"An active cycle includes any period that encompasses today's date within its range. Find the progress and details of the active cycle here." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/cycle/active" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_CYCLE_COMPLETED_NO_ISSUES ] : {
key : EmptyStateType.PROJECT_CYCLE_COMPLETED_NO_ISSUES ,
title : "No issues in the cycle" ,
description :
"No issues in the cycle. Issues are either transferred or hidden. To see hidden issues if any, update your display properties accordingly." ,
path : "/empty-state/cycle/completed-no-issues" ,
} ,
2024-03-20 15:32:58 +00:00
[ EmptyStateType . PROJECT_ARCHIVED_NO_CYCLES ] : {
key : EmptyStateType.PROJECT_ARCHIVED_NO_CYCLES ,
title : "No archived cycles yet" ,
description : "To tidy up your project, archive completed cycles. Find them here once archived." ,
path : "/empty-state/archived/empty-cycles" ,
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_CYCLE_ALL ] : {
key : EmptyStateType.PROJECT_CYCLE_ALL ,
2024-03-11 15:30:05 +00:00
title : "No cycles" ,
description :
"An active cycle includes any period that encompasses today's date within its range. Find the progress and details of the active cycle here." ,
path : "/empty-state/cycle/active" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// empty filters
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_EMPTY_FILTER ] : {
key : EmptyStateType.PROJECT_EMPTY_FILTER ,
2024-02-13 11:05:20 +00:00
title : "No issues found matching the filters applied" ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/empty-filters/" ,
2024-02-13 11:05:20 +00:00
secondaryButton : {
text : "Clear all filters" ,
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_ARCHIVED_EMPTY_FILTER ] : {
key : EmptyStateType.PROJECT_ARCHIVED_EMPTY_FILTER ,
2024-02-13 11:05:20 +00:00
title : "No issues found matching the filters applied" ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/empty-filters/" ,
2024-02-13 11:05:20 +00:00
secondaryButton : {
text : "Clear all filters" ,
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_DRAFT_EMPTY_FILTER ] : {
key : EmptyStateType.PROJECT_DRAFT_EMPTY_FILTER ,
2024-02-13 11:05:20 +00:00
title : "No issues found matching the filters applied" ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/empty-filters/" ,
2024-02-13 11:05:20 +00:00
secondaryButton : {
text : "Clear all filters" ,
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// project issues
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_NO_ISSUES ] : {
key : EmptyStateType.PROJECT_NO_ISSUES ,
2024-03-06 14:46:54 +00:00
title : "Create an issue and assign it to someone, even yourself" ,
description :
"Think of issues as jobs, tasks, work, or JTBD. Which we like. An issue and its sub-issues are usually time-based actionables assigned to members of your team. Your team creates, assigns, and completes issues to move your project towards its goal." ,
path : "/empty-state/onboarding/issues" ,
primaryButton : {
text : "Create your first issue" ,
comicBox : {
title : "Issues are building blocks in Plane." ,
description :
"Redesign the Plane UI, Rebrand the company, or Launch the new fuel injection system are examples of issues that likely have sub-issues." ,
} ,
} ,
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_ARCHIVED_NO_ISSUES ] : {
key : EmptyStateType.PROJECT_ARCHIVED_NO_ISSUES ,
2024-02-13 11:05:20 +00:00
title : "No archived issues yet" ,
description :
2024-03-20 15:32:58 +00:00
"Manually or through automation, you can archive issues that are completed or cancelled. Find them here once archived." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/archived/empty-issues" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
2024-02-28 11:23:26 +00:00
text : "Set automation" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_DRAFT_NO_ISSUES ] : {
key : EmptyStateType.PROJECT_DRAFT_NO_ISSUES ,
2024-02-13 11:05:20 +00:00
title : "No draft issues yet" ,
description :
"Quickly stepping away but want to keep your place? No worries – save a draft now. Your issues will be right here waiting for you." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/draft/draft-issues-empty" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . VIEWS_EMPTY_SEARCH ] : {
key : EmptyStateType.VIEWS_EMPTY_SEARCH ,
2024-03-06 14:46:54 +00:00
title : "No matching views" ,
description : "No views match the search criteria. Create a new view instead." ,
path : "/empty-state/search/search" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECTS_EMPTY_SEARCH ] : {
key : EmptyStateType.PROJECTS_EMPTY_SEARCH ,
2024-03-06 14:46:54 +00:00
title : "No matching projects" ,
description : "No projects detected with the matching criteria. Create a new project instead." ,
path : "/empty-state/search/project" ,
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . MEMBERS_EMPTY_SEARCH ] : {
key : EmptyStateType.MEMBERS_EMPTY_SEARCH ,
2024-03-06 14:46:54 +00:00
title : "No matching members" ,
description : "Add them to the project if they are already a part of the workspace" ,
path : "/empty-state/search/member" ,
} ,
// project module
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_MODULE_ISSUES ] : {
key : EmptyStateType.PROJECT_MODULE_ISSUES ,
2024-02-13 11:05:20 +00:00
title : "No issues in the module" ,
description : "Create or add issues which you want to accomplish as part of this module" ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/module-issues/" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Create new issue " ,
} ,
secondaryButton : {
text : "Add an existing issue" ,
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_MODULE ] : {
key : EmptyStateType.PROJECT_MODULE ,
2024-02-13 11:05:20 +00:00
title : "Map your project milestones to Modules and track aggregated work easily." ,
description :
"A group of issues that belong to a logical, hierarchical parent form a module. Think of them as a way to track work by project milestones. They have their own periods and deadlines as well as analytics to help you see how close or far you are from a milestone." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/onboarding/modules" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Build your first module" ,
2024-03-06 14:46:54 +00:00
comicBox : {
title : "Modules help group work by hierarchy." ,
description : "A cart module, a chassis module, and a warehouse module are all good example of this grouping." ,
} ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-20 15:32:58 +00:00
[ EmptyStateType . PROJECT_ARCHIVED_NO_MODULES ] : {
key : EmptyStateType.PROJECT_ARCHIVED_NO_MODULES ,
title : "No archived Modules yet" ,
description : "To tidy up your project, archive completed or cancelled modules. Find them here once archived." ,
path : "/empty-state/archived/empty-modules" ,
} ,
2024-03-06 14:46:54 +00:00
// project views
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_VIEW ] : {
key : EmptyStateType.PROJECT_VIEW ,
2024-02-13 11:05:20 +00:00
title : "Save filtered views for your project. Create as many as you need" ,
description :
"Views are a set of saved filters that you use frequently or want easy access to. All your colleagues in a project can see everyone’ s views and choose whichever suits their needs best." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/onboarding/views" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Create your first view" ,
2024-03-06 14:46:54 +00:00
comicBox : {
title : "Views work atop Issue properties." ,
description : "You can create a view from here with as many properties as filters as you see fit." ,
} ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
// project pages
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_PAGE ] : {
key : EmptyStateType.PROJECT_PAGE ,
2024-02-13 11:05:20 +00:00
title : "Write a note, a doc, or a full knowledge base. Get Galileo, Plane’ s AI assistant, to help you get started" ,
description :
"Pages are thoughts potting space in Plane. Take down meeting notes, format them easily, embed issues, lay them out using a library of components, and keep them all in your project’ s context. To make short work of any doc, invoke Galileo, Plane’ s AI, with a shortcut or the click of a button." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/onboarding/pages" ,
2024-02-13 11:05:20 +00:00
primaryButton : {
text : "Create your first page" ,
2024-03-06 14:46:54 +00:00
comicBox : {
title : "A page can be a doc or a doc of docs." ,
description :
"We wrote Nikhil and Meera’ s love story. You could write your project’ s mission, goals, and eventual vision." ,
} ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-06 14:46:54 +00:00
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_PAGE_PRIVATE ] : {
key : EmptyStateType.PROJECT_PAGE_PRIVATE ,
2024-02-13 11:05:20 +00:00
title : "No private pages yet" ,
description : "Keep your private thoughts here. When you're ready to share, the team's just a click away." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/pages/private" ,
2024-05-08 08:13:08 +00:00
primaryButton : {
text : "Create your first page" ,
} ,
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-04-11 15:58:59 +00:00
[ EmptyStateType . PROJECT_PAGE_PUBLIC ] : {
key : EmptyStateType.PROJECT_PAGE_PUBLIC ,
title : "No public pages yet" ,
2024-02-13 11:05:20 +00:00
description : "See pages shared with everyone in your project right here." ,
2024-04-11 15:58:59 +00:00
path : "/empty-state/pages/public" ,
2024-05-08 08:13:08 +00:00
primaryButton : {
text : "Create your first page" ,
} ,
accessType : "project" ,
access : EUserProjectRoles.MEMBER ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-11 15:53:09 +00:00
[ EmptyStateType . PROJECT_PAGE_ARCHIVED ] : {
key : EmptyStateType.PROJECT_PAGE_ARCHIVED ,
2024-02-13 11:05:20 +00:00
title : "No archived pages yet" ,
description : "Archive pages not on your radar. Access them here when needed." ,
2024-03-06 14:46:54 +00:00
path : "/empty-state/pages/archived" ,
2024-02-13 11:05:20 +00:00
} ,
2024-03-15 11:58:45 +00:00
[ EmptyStateType . COMMAND_K_SEARCH_EMPTY_STATE ] : {
key : EmptyStateType.COMMAND_K_SEARCH_EMPTY_STATE ,
title : "No results found" ,
path : "/empty-state/search/search" ,
} ,
[ EmptyStateType . ISSUE_RELATION_SEARCH_EMPTY_STATE ] : {
key : EmptyStateType.ISSUE_RELATION_SEARCH_EMPTY_STATE ,
title : "No maching issues found" ,
path : "/empty-state/search/search" ,
} ,
[ EmptyStateType . ISSUE_RELATION_EMPTY_STATE ] : {
key : EmptyStateType.ISSUE_RELATION_EMPTY_STATE ,
title : "No issues found" ,
path : "/empty-state/search/issues" ,
} ,
[ EmptyStateType . ISSUE_COMMENT_EMPTY_STATE ] : {
key : EmptyStateType.ISSUE_COMMENT_EMPTY_STATE ,
title : "No comments yet" ,
2024-04-16 07:52:27 +00:00
description : "Comments can be used as a discussion and \n follow-up space for the issues" ,
2024-03-15 11:58:45 +00:00
path : "/empty-state/search/comments" ,
} ,
[ EmptyStateType . NOTIFICATION_MY_ISSUE_EMPTY_STATE ] : {
key : EmptyStateType.NOTIFICATION_MY_ISSUE_EMPTY_STATE ,
title : "No issues assigned" ,
description : "Updates for issues assigned to you can be \n seen here" ,
path : "/empty-state/search/notification" ,
} ,
[ EmptyStateType . NOTIFICATION_CREATED_EMPTY_STATE ] : {
key : EmptyStateType.NOTIFICATION_CREATED_EMPTY_STATE ,
title : "No updates to issues" ,
description : "Updates to issues created by you can be \n seen here" ,
path : "/empty-state/search/notification" ,
} ,
[ EmptyStateType . NOTIFICATION_SUBSCRIBED_EMPTY_STATE ] : {
key : EmptyStateType.NOTIFICATION_SUBSCRIBED_EMPTY_STATE ,
title : "No updates to issues" ,
description : "Updates to any issue you are \n subscribed to can be seen here" ,
path : "/empty-state/search/notification" ,
} ,
[ EmptyStateType . NOTIFICATION_UNREAD_EMPTY_STATE ] : {
key : EmptyStateType.NOTIFICATION_UNREAD_EMPTY_STATE ,
title : "No unread notifications" ,
description : "Congratulations, you are up-to-date \n with everything happening in the issues \n you care about" ,
path : "/empty-state/search/notification" ,
} ,
[ EmptyStateType . NOTIFICATION_SNOOZED_EMPTY_STATE ] : {
key : EmptyStateType.NOTIFICATION_SNOOZED_EMPTY_STATE ,
title : "No snoozed notifications yet" ,
description : "Any notification you snooze for later will \n be available here to act upon" ,
path : "/empty-state/search/snooze" ,
} ,
[ EmptyStateType . NOTIFICATION_ARCHIVED_EMPTY_STATE ] : {
key : EmptyStateType.NOTIFICATION_ARCHIVED_EMPTY_STATE ,
title : "No archived notifications yet" ,
description : "Any notification you archive will be \n available here to help you focus" ,
path : "/empty-state/search/archive" ,
} ,
2024-03-25 07:46:53 +00:00
[ EmptyStateType . ACTIVE_CYCLE_PROGRESS_EMPTY_STATE ] : {
key : EmptyStateType.ACTIVE_CYCLE_PROGRESS_EMPTY_STATE ,
title : "Add issues to the cycle to view it's \n progress" ,
path : "/empty-state/active-cycle/progress" ,
} ,
[ EmptyStateType . ACTIVE_CYCLE_CHART_EMPTY_STATE ] : {
key : EmptyStateType.ACTIVE_CYCLE_CHART_EMPTY_STATE ,
title : "Add issues to the cycle to view the \n burndown chart." ,
path : "/empty-state/active-cycle/chart" ,
} ,
[ EmptyStateType . ACTIVE_CYCLE_PRIORITY_ISSUE_EMPTY_STATE ] : {
key : EmptyStateType.ACTIVE_CYCLE_PRIORITY_ISSUE_EMPTY_STATE ,
title : "Observe high priority issues tackled in \n the cycle at a glance." ,
path : "/empty-state/active-cycle/priority" ,
} ,
[ EmptyStateType . ACTIVE_CYCLE_ASSIGNEE_EMPTY_STATE ] : {
key : EmptyStateType.ACTIVE_CYCLE_ASSIGNEE_EMPTY_STATE ,
title : "Add assignees to issues to see a \n breakdown of work by assignees." ,
path : "/empty-state/active-cycle/assignee" ,
} ,
[ EmptyStateType . ACTIVE_CYCLE_LABEL_EMPTY_STATE ] : {
key : EmptyStateType.ACTIVE_CYCLE_LABEL_EMPTY_STATE ,
title : "Add labels to issues to see the \n breakdown of work by labels." ,
path : "/empty-state/active-cycle/label" ,
} ,
2024-04-08 13:41:47 +00:00
[ EmptyStateType . DISABLED_PROJECT_INBOX ] : {
key : EmptyStateType.DISABLED_PROJECT_INBOX ,
title : "Inbox is not enabled for the project." ,
description :
"Inbox helps you manage incoming requests to your project and add them as issues in your workflow. Enable inbox \n from project settings to manage requests." ,
accessType : "project" ,
access : EUserProjectRoles.ADMIN ,
path : "/empty-state/disabled-feature/inbox" ,
primaryButton : {
text : "Manage features" ,
} ,
} ,
2024-04-09 08:08:07 +00:00
[ EmptyStateType . DISABLED_PROJECT_CYCLE ] : {
key : EmptyStateType.DISABLED_PROJECT_CYCLE ,
title : "Cycles is not enabled for this project." ,
description :
"Break work down by timeboxed chunks, work backwards from your project deadline to set dates, and make tangible progress as a team. Enable the cycles feature for your project to start using them." ,
accessType : "project" ,
access : EUserProjectRoles.ADMIN ,
path : "/empty-state/disabled-feature/cycles" ,
primaryButton : {
text : "Manage features" ,
} ,
} ,
[ EmptyStateType . DISABLED_PROJECT_MODULE ] : {
key : EmptyStateType.DISABLED_PROJECT_MODULE ,
title : "Modules are not enabled for the project." ,
description :
"A group of issues that belong to a logical, hierarchical parent form a module. Think of them as a way to track work by project milestones. Enable modules from project settings." ,
accessType : "project" ,
access : EUserProjectRoles.ADMIN ,
path : "/empty-state/disabled-feature/modules" ,
primaryButton : {
text : "Manage features" ,
} ,
} ,
[ EmptyStateType . DISABLED_PROJECT_PAGE ] : {
key : EmptyStateType.DISABLED_PROJECT_PAGE ,
title : "Pages are not enabled for the project." ,
description :
"Pages are thought spotting space in Plane. Take down meeting notes, format them easily, embed issues, lay them out using a library of components, and keep them all in your project’ s context. Enable the pages feature to start creating them in your project." ,
accessType : "project" ,
access : EUserProjectRoles.ADMIN ,
path : "/empty-state/disabled-feature/pages" ,
primaryButton : {
text : "Manage features" ,
} ,
} ,
[ EmptyStateType . DISABLED_PROJECT_VIEW ] : {
key : EmptyStateType.DISABLED_PROJECT_VIEW ,
title : "Views is not enabled for this project." ,
description :
"Views are a set of saved filters that you use frequently or want easy access to. All your colleagues in a project can see everyone’ s views and choose whichever suits their needs best. Enable views in the project settings to start using them." ,
accessType : "project" ,
access : EUserProjectRoles.ADMIN ,
path : "/empty-state/disabled-feature/views" ,
primaryButton : {
text : "Manage features" ,
} ,
} ,
2024-04-08 13:41:47 +00:00
[ EmptyStateType . INBOX_SIDEBAR_OPEN_TAB ] : {
key : EmptyStateType.INBOX_SIDEBAR_OPEN_TAB ,
title : "No open issues" ,
description : "Find open issues here. Create new issue." ,
path : "/empty-state/inbox/inbox-issue" ,
} ,
[ EmptyStateType . INBOX_SIDEBAR_CLOSED_TAB ] : {
key : EmptyStateType.INBOX_SIDEBAR_CLOSED_TAB ,
title : "No closed issues" ,
description : "All the issues whether accepted or \n declined can be found here." ,
path : "/empty-state/inbox/inbox-issue" ,
} ,
[ EmptyStateType . INBOX_SIDEBAR_FILTER_EMPTY_STATE ] : {
key : EmptyStateType.INBOX_SIDEBAR_FILTER_EMPTY_STATE ,
title : "No matching issues" ,
description : "No issue matches filter applied in inbox. \n Create a new issue." ,
path : "/empty-state/inbox/filter-issue" ,
} ,
[ EmptyStateType . INBOX_DETAIL_EMPTY_STATE ] : {
key : EmptyStateType.INBOX_DETAIL_EMPTY_STATE ,
title : "Select an issue to view its details." ,
path : "/empty-state/inbox/issue-detail" ,
} ,
2024-03-06 14:46:54 +00:00
} as const ;
2024-03-11 15:53:09 +00:00
export const EMPTY_STATE_DETAILS : Record < EmptyStateType , EmptyStateDetails > = emptyStateDetails ;