* fix: favrotites menu open * fix: open fav menu on starring projec * chore: added constant for hardcoded text
339 lines
8.6 KiB
TypeScript
339 lines
8.6 KiB
TypeScript
import { TStaticViewTypes, IWorkspaceSearchResults } from "@plane/types";
|
|
import { EUserWorkspaceRoles } from "./user";
|
|
|
|
export const ORGANIZATION_SIZE = [
|
|
"Just myself", // TODO: translate
|
|
"2-10",
|
|
"11-50",
|
|
"51-200",
|
|
"201-500",
|
|
"500+",
|
|
];
|
|
|
|
export const RESTRICTED_URLS = [
|
|
"404",
|
|
"accounts",
|
|
"api",
|
|
"create-workspace",
|
|
"god-mode",
|
|
"installations",
|
|
"invitations",
|
|
"onboarding",
|
|
"profile",
|
|
"spaces",
|
|
"workspace-invitations",
|
|
"password",
|
|
"flags",
|
|
"monitor",
|
|
"monitoring",
|
|
"ingest",
|
|
"plane-pro",
|
|
"plane-ultimate",
|
|
"enterprise",
|
|
"plane-enterprise",
|
|
"disco",
|
|
"silo",
|
|
"chat",
|
|
"calendar",
|
|
"drive",
|
|
"channels",
|
|
"upgrade",
|
|
"billing",
|
|
"sign-in",
|
|
"sign-up",
|
|
"signin",
|
|
"signup",
|
|
"config",
|
|
"live",
|
|
"admin",
|
|
"m",
|
|
"import",
|
|
"importers",
|
|
"integrations",
|
|
"integration",
|
|
"configuration",
|
|
"initiatives",
|
|
"initiative",
|
|
"config",
|
|
"workflow",
|
|
"workflows",
|
|
"epics",
|
|
"epic",
|
|
"story",
|
|
"mobile",
|
|
"dashboard",
|
|
"desktop",
|
|
"onload",
|
|
"real-time",
|
|
"one",
|
|
"pages",
|
|
"mobile",
|
|
"business",
|
|
"pro",
|
|
"settings",
|
|
"monitor",
|
|
"license",
|
|
"licenses",
|
|
"instances",
|
|
"instance",
|
|
];
|
|
|
|
export const WORKSPACE_SETTINGS = {
|
|
general: {
|
|
key: "general",
|
|
i18n_label: "workspace_settings.settings.general.title",
|
|
href: `/settings`,
|
|
access: [EUserWorkspaceRoles.ADMIN],
|
|
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/`,
|
|
},
|
|
members: {
|
|
key: "members",
|
|
i18n_label: "workspace_settings.settings.members.title",
|
|
href: `/settings/members`,
|
|
access: [EUserWorkspaceRoles.ADMIN],
|
|
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/members/`,
|
|
},
|
|
"billing-and-plans": {
|
|
key: "billing-and-plans",
|
|
i18n_label: "workspace_settings.settings.billing_and_plans.title",
|
|
href: `/settings/billing`,
|
|
access: [EUserWorkspaceRoles.ADMIN],
|
|
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/billing/`,
|
|
},
|
|
export: {
|
|
key: "export",
|
|
i18n_label: "workspace_settings.settings.exports.title",
|
|
href: `/settings/exports`,
|
|
access: [EUserWorkspaceRoles.ADMIN],
|
|
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/exports/`,
|
|
},
|
|
webhooks: {
|
|
key: "webhooks",
|
|
i18n_label: "workspace_settings.settings.webhooks.title",
|
|
href: `/settings/webhooks`,
|
|
access: [EUserWorkspaceRoles.ADMIN],
|
|
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/webhooks/`,
|
|
},
|
|
"api-tokens": {
|
|
key: "api-tokens",
|
|
i18n_label: "workspace_settings.settings.api_tokens.title",
|
|
href: `/settings/api-tokens`,
|
|
access: [EUserWorkspaceRoles.ADMIN],
|
|
highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/api-tokens/`,
|
|
},
|
|
};
|
|
|
|
export const WORKSPACE_SETTINGS_LINKS: {
|
|
key: string;
|
|
i18n_label: string;
|
|
href: string;
|
|
access: EUserWorkspaceRoles[];
|
|
highlight: (pathname: string, baseUrl: string) => boolean;
|
|
}[] = [
|
|
WORKSPACE_SETTINGS["general"],
|
|
WORKSPACE_SETTINGS["members"],
|
|
WORKSPACE_SETTINGS["billing-and-plans"],
|
|
WORKSPACE_SETTINGS["export"],
|
|
WORKSPACE_SETTINGS["webhooks"],
|
|
WORKSPACE_SETTINGS["api-tokens"],
|
|
];
|
|
|
|
export const ROLE = {
|
|
[EUserWorkspaceRoles.GUEST]: "Guest",
|
|
[EUserWorkspaceRoles.MEMBER]: "Member",
|
|
[EUserWorkspaceRoles.ADMIN]: "Admin",
|
|
};
|
|
|
|
export const ROLE_DETAILS = {
|
|
[EUserWorkspaceRoles.GUEST]: {
|
|
i18n_title: "role_details.guest.title",
|
|
i18n_description: "role_details.guest.description",
|
|
},
|
|
[EUserWorkspaceRoles.MEMBER]: {
|
|
i18n_title: "role_details.member.title",
|
|
i18n_description: "role_details.member.description",
|
|
},
|
|
[EUserWorkspaceRoles.ADMIN]: {
|
|
i18n_title: "role_details.admin.title",
|
|
i18n_description: "role_details.admin.description",
|
|
},
|
|
};
|
|
|
|
export const USER_ROLES = [
|
|
{
|
|
value: "Product / Project Manager",
|
|
i18n_label: "user_roles.product_or_project_manager",
|
|
},
|
|
{
|
|
value: "Development / Engineering",
|
|
i18n_label: "user_roles.development_or_engineering",
|
|
},
|
|
{
|
|
value: "Founder / Executive",
|
|
i18n_label: "user_roles.founder_or_executive",
|
|
},
|
|
{
|
|
value: "Freelancer / Consultant",
|
|
i18n_label: "user_roles.freelancer_or_consultant",
|
|
},
|
|
{ value: "Marketing / Growth", i18n_label: "user_roles.marketing_or_growth" },
|
|
{
|
|
value: "Sales / Business Development",
|
|
i18n_label: "user_roles.sales_or_business_development",
|
|
},
|
|
{
|
|
value: "Support / Operations",
|
|
i18n_label: "user_roles.support_or_operations",
|
|
},
|
|
{
|
|
value: "Student / Professor",
|
|
i18n_label: "user_roles.student_or_professor",
|
|
},
|
|
{ value: "Human Resources", i18n_label: "user_roles.human_resources" },
|
|
{ value: "Other", i18n_label: "user_roles.other" },
|
|
];
|
|
|
|
export const IMPORTERS_LIST = [
|
|
{
|
|
provider: "github",
|
|
type: "import",
|
|
i18n_title: "importer.github.title",
|
|
i18n_description: "importer.github.description",
|
|
},
|
|
{
|
|
provider: "jira",
|
|
type: "import",
|
|
i18n_title: "importer.jira.title",
|
|
i18n_description: "importer.jira.description",
|
|
},
|
|
];
|
|
|
|
export const EXPORTERS_LIST = [
|
|
{
|
|
provider: "csv",
|
|
type: "export",
|
|
i18n_title: "exporter.csv.title",
|
|
i18n_description: "exporter.csv.description",
|
|
},
|
|
{
|
|
provider: "xlsx",
|
|
type: "export",
|
|
i18n_title: "exporter.excel.title",
|
|
i18n_description: "exporter.csv.description",
|
|
},
|
|
{
|
|
provider: "json",
|
|
type: "export",
|
|
i18n_title: "exporter.json.title",
|
|
i18n_description: "exporter.csv.description",
|
|
},
|
|
];
|
|
|
|
export const DEFAULT_GLOBAL_VIEWS_LIST: {
|
|
key: TStaticViewTypes;
|
|
i18n_label: string;
|
|
}[] = [
|
|
{
|
|
key: "all-issues",
|
|
i18n_label: "default_global_view.all_issues",
|
|
},
|
|
{
|
|
key: "assigned",
|
|
i18n_label: "default_global_view.assigned",
|
|
},
|
|
{
|
|
key: "created",
|
|
i18n_label: "default_global_view.created",
|
|
},
|
|
{
|
|
key: "subscribed",
|
|
i18n_label: "default_global_view.subscribed",
|
|
},
|
|
];
|
|
|
|
export interface IWorkspaceSidebarNavigationItem {
|
|
key: string;
|
|
labelTranslationKey: string;
|
|
href: string;
|
|
access: EUserWorkspaceRoles[];
|
|
}
|
|
|
|
export const WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS: Record<string, IWorkspaceSidebarNavigationItem> = {
|
|
"your-work": {
|
|
key: "your_work",
|
|
labelTranslationKey: "your_work",
|
|
href: `/profile/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
|
},
|
|
views: {
|
|
key: "views",
|
|
labelTranslationKey: "views",
|
|
href: `/workspace-views/all-issues/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER, EUserWorkspaceRoles.GUEST],
|
|
},
|
|
analytics: {
|
|
key: "analytics",
|
|
labelTranslationKey: "analytics",
|
|
href: `/analytics/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
|
},
|
|
drafts: {
|
|
key: "drafts",
|
|
labelTranslationKey: "drafts",
|
|
href: `/drafts/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
|
},
|
|
archives: {
|
|
key: "archives",
|
|
labelTranslationKey: "archives",
|
|
href: `/projects/archives/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER],
|
|
},
|
|
};
|
|
export const WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS_LINKS: IWorkspaceSidebarNavigationItem[] = [
|
|
WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS["views"],
|
|
WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS["analytics"],
|
|
WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS["your-work"],
|
|
WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS["drafts"],
|
|
WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS["archives"],
|
|
];
|
|
|
|
export const WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS: Record<string, IWorkspaceSidebarNavigationItem> = {
|
|
home: {
|
|
key: "home",
|
|
labelTranslationKey: "home.title",
|
|
href: `/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER, EUserWorkspaceRoles.GUEST],
|
|
},
|
|
inbox: {
|
|
key: "inbox",
|
|
labelTranslationKey: "notification.label",
|
|
href: `/notifications/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER, EUserWorkspaceRoles.GUEST],
|
|
},
|
|
projects: {
|
|
key: "projects",
|
|
labelTranslationKey: "projects",
|
|
href: `/projects/`,
|
|
access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER, EUserWorkspaceRoles.GUEST],
|
|
},
|
|
};
|
|
|
|
export const WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS_LINKS: IWorkspaceSidebarNavigationItem[] = [
|
|
WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS["home"],
|
|
WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS["inbox"],
|
|
WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS["projects"],
|
|
];
|
|
|
|
export const IS_FAVORITE_MENU_OPEN = "is_favorite_menu_open";
|
|
export const WORKSPACE_DEFAULT_SEARCH_RESULT: IWorkspaceSearchResults = {
|
|
results: {
|
|
workspace: [],
|
|
project: [],
|
|
issue: [],
|
|
cycle: [],
|
|
module: [],
|
|
issue_view: [],
|
|
page: [],
|
|
},
|
|
};
|