import { TStaticViewTypes, IWorkspaceSearchResults, EUserWorkspaceRoles } from "@plane/types"; export const ORGANIZATION_SIZE = ["Just myself", "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, EUserWorkspaceRoles.MEMBER], highlight: (pathname: string, baseUrl: string) => pathname === `${baseUrl}/settings/`, }, members: { key: "members", i18n_label: "workspace_settings.settings.members.title", href: `/settings/members`, access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER], 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/`, }, }; export const WORKSPACE_SETTINGS_ACCESS = Object.fromEntries( Object.entries(WORKSPACE_SETTINGS).map(([_, { href, access }]) => [href, access]) ); 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"], ]; 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 = { 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["drafts"]!, WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS["archives"]!, ]; export const WORKSPACE_SIDEBAR_STATIC_NAVIGATION_ITEMS: Record = { 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], }, "your-work": { key: "your_work", labelTranslationKey: "your_work", href: `/profile/`, access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER], }, 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["your-work"]!, ]; export const WORKSPACE_SIDEBAR_STATIC_PINNED_NAVIGATION_ITEMS_LINKS: IWorkspaceSidebarNavigationItem[] = [ 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: [], }, }; export const USE_CASES = [ "Plan and track product roadmaps", "Manage engineering sprints", "Coordinate cross-functional projects", "Replace our current tool", "Just exploring", ];