From b831aa51bfbf9dfce1107caef51345e40b7bac81 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 27 Jan 2025 17:47:08 +0530 Subject: [PATCH] chore: tab indices constant moved to plane package --- packages/constants/src/index.ts | 1 + .../constants/src}/tab-indices.ts | 25 ++++++++++++++++--- .../components/projects/create/attributes.tsx | 2 +- web/core/components/cycles/form.tsx | 3 ++- .../inbox/modals/create-modal/create-root.tsx | 3 ++- .../modals/create-modal/issue-description.tsx | 4 +-- .../modals/create-modal/issue-properties.tsx | 4 +-- .../inbox/modals/create-modal/issue-title.tsx | 4 +-- .../components/default-properties.tsx | 4 +-- .../components/description-editor.tsx | 4 +-- .../issue-modal/components/parent-tag.tsx | 4 +-- .../issue-modal/components/project-select.tsx | 4 +-- .../issue-modal/components/title-input.tsx | 4 +-- .../components/issues/issue-modal/form.tsx | 3 +-- .../components/labels/create-label-modal.tsx | 3 ++- web/core/components/modules/form.tsx | 4 +-- .../components/pages/modals/page-form.tsx | 3 ++- .../project/create/common-attributes.tsx | 4 +-- web/core/components/project/create/header.tsx | 4 +-- .../project/create/project-create-buttons.tsx | 4 +-- web/core/components/views/form.tsx | 3 +-- web/helpers/tab-indices.helper.ts | 2 +- 22 files changed, 59 insertions(+), 37 deletions(-) rename {web/core/constants => packages/constants/src}/tab-indices.ts (85%) diff --git a/packages/constants/src/index.ts b/packages/constants/src/index.ts index 2bc68dbef71..0346192af86 100644 --- a/packages/constants/src/index.ts +++ b/packages/constants/src/index.ts @@ -11,6 +11,7 @@ export * from "./issue"; export * from "./metadata"; export * from "./state"; export * from "./swr"; +export * from "./tab-indices"; export * from "./user"; export * from "./workspace"; export * from "./stickies"; diff --git a/web/core/constants/tab-indices.ts b/packages/constants/src/tab-indices.ts similarity index 85% rename from web/core/constants/tab-indices.ts rename to packages/constants/src/tab-indices.ts index 58a12f4174c..0668528893f 100644 --- a/web/core/constants/tab-indices.ts +++ b/packages/constants/src/tab-indices.ts @@ -54,7 +54,14 @@ export const PROJECT_CREATE_TAB_INDICES = [ "logo_props", ]; -export const PROJECT_CYCLE_TAB_INDICES = ["name", "description", "date_range", "cancel", "submit", "project_id"]; +export const PROJECT_CYCLE_TAB_INDICES = [ + "name", + "description", + "date_range", + "cancel", + "submit", + "project_id", +]; export const PROJECT_MODULE_TAB_INDICES = [ "name", @@ -67,9 +74,21 @@ export const PROJECT_MODULE_TAB_INDICES = [ "submit", ]; -export const PROJECT_VIEW_TAB_INDICES = ["name", "description", "filters", "cancel", "submit"]; +export const PROJECT_VIEW_TAB_INDICES = [ + "name", + "description", + "filters", + "cancel", + "submit", +]; -export const PROJECT_PAGE_TAB_INDICES = ["name", "public", "private", "cancel", "submit"]; +export const PROJECT_PAGE_TAB_INDICES = [ + "name", + "public", + "private", + "cancel", + "submit", +]; export enum ETabIndices { ISSUE_FORM = "issue-form", diff --git a/web/ce/components/projects/create/attributes.tsx b/web/ce/components/projects/create/attributes.tsx index 38247188d96..c40d45b6d41 100644 --- a/web/ce/components/projects/create/attributes.tsx +++ b/web/ce/components/projects/create/attributes.tsx @@ -1,6 +1,7 @@ "use client"; import { FC } from "react"; import { Controller, useFormContext } from "react-hook-form"; +import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { IProject } from "@plane/types"; // ui @@ -9,7 +10,6 @@ import { CustomSelect } from "@plane/ui"; import { MemberDropdown } from "@/components/dropdowns"; // constants import { NETWORK_CHOICES } from "@/constants/project"; -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/cycles/form.tsx b/web/core/components/cycles/form.tsx index 7651c5d4433..e11cbef1355 100644 --- a/web/core/components/cycles/form.tsx +++ b/web/core/components/cycles/form.tsx @@ -2,6 +2,8 @@ import { useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; +// plane imports +import { ETabIndices } from "@plane/constants"; // types import { ICycle } from "@plane/types"; // ui @@ -9,7 +11,6 @@ import { Button, Input, TextArea } from "@plane/ui"; // components import { DateRangeDropdown, ProjectDropdown } from "@/components/dropdowns"; // constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getDate, renderFormattedPayloadDate } from "@/helpers/date-time.helper"; import { shouldRenderProject } from "@/helpers/project.helper"; diff --git a/web/core/components/inbox/modals/create-modal/create-root.tsx b/web/core/components/inbox/modals/create-modal/create-root.tsx index 34c17e15b38..1c704358c2e 100644 --- a/web/core/components/inbox/modals/create-modal/create-root.tsx +++ b/web/core/components/inbox/modals/create-modal/create-root.tsx @@ -3,6 +3,8 @@ import { FC, FormEvent, useCallback, useEffect, useRef, useState } from "react"; import { observer } from "mobx-react"; import { usePathname } from "next/navigation"; +// plane imports +import { ETabIndices } from "@plane/constants"; // editor import { EditorRefApi } from "@plane/editor"; // types @@ -12,7 +14,6 @@ import { Button, ToggleSwitch, TOAST_TYPE, setToast } from "@plane/ui"; import { InboxIssueTitle, InboxIssueDescription, InboxIssueProperties } from "@/components/inbox/modals/create-modal"; // constants import { ISSUE_CREATED } from "@/constants/event-tracker"; -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { renderFormattedPayloadDate } from "@/helpers/date-time.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/inbox/modals/create-modal/issue-description.tsx b/web/core/components/inbox/modals/create-modal/issue-description.tsx index 7f279e92a99..9485fc3e6fe 100644 --- a/web/core/components/inbox/modals/create-modal/issue-description.tsx +++ b/web/core/components/inbox/modals/create-modal/issue-description.tsx @@ -2,6 +2,8 @@ import { FC, RefObject } from "react"; import { observer } from "mobx-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; // editor import { EditorRefApi } from "@plane/editor"; // types @@ -11,8 +13,6 @@ import { EFileAssetType } from "@plane/types/src/enums"; import { Loader } from "@plane/ui"; // components import { RichTextEditor } from "@/components/editor/rich-text-editor/rich-text-editor"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getDescriptionPlaceholder } from "@/helpers/issue.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/inbox/modals/create-modal/issue-properties.tsx b/web/core/components/inbox/modals/create-modal/issue-properties.tsx index ce37f07b1f5..47a4074b149 100644 --- a/web/core/components/inbox/modals/create-modal/issue-properties.tsx +++ b/web/core/components/inbox/modals/create-modal/issue-properties.tsx @@ -1,6 +1,8 @@ import { FC, useState } from "react"; import { observer } from "mobx-react"; import { LayoutPanelTop } from "lucide-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { ISearchIssueResponse, TIssue } from "@plane/types"; import { CustomMenu } from "@plane/ui"; // components @@ -15,8 +17,6 @@ import { } from "@/components/dropdowns"; import { ParentIssuesListModal } from "@/components/issues"; import { IssueLabelSelect } from "@/components/issues/select"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { renderFormattedPayloadDate, getDate } from "@/helpers/date-time.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/inbox/modals/create-modal/issue-title.tsx b/web/core/components/inbox/modals/create-modal/issue-title.tsx index f5c8f242735..8ab8620fd32 100644 --- a/web/core/components/inbox/modals/create-modal/issue-title.tsx +++ b/web/core/components/inbox/modals/create-modal/issue-title.tsx @@ -2,10 +2,10 @@ import { FC } from "react"; import { observer } from "mobx-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { TIssue } from "@plane/types"; import { Input } from "@plane/ui"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getTabIndex } from "@/helpers/tab-indices.helper"; // hooks diff --git a/web/core/components/issues/issue-modal/components/default-properties.tsx b/web/core/components/issues/issue-modal/components/default-properties.tsx index d422daece6b..631b20f593e 100644 --- a/web/core/components/issues/issue-modal/components/default-properties.tsx +++ b/web/core/components/issues/issue-modal/components/default-properties.tsx @@ -4,6 +4,8 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; import { Control, Controller } from "react-hook-form"; import { LayoutPanelTop } from "lucide-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // types import { ISearchIssueResponse, TIssue } from "@plane/types"; @@ -21,8 +23,6 @@ import { } from "@/components/dropdowns"; import { ParentIssuesListModal } from "@/components/issues"; import { IssueLabelSelect } from "@/components/issues/select"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getDate, renderFormattedPayloadDate } from "@/helpers/date-time.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/issues/issue-modal/components/description-editor.tsx b/web/core/components/issues/issue-modal/components/description-editor.tsx index 8fc7b115b62..ffc1ec18970 100644 --- a/web/core/components/issues/issue-modal/components/description-editor.tsx +++ b/web/core/components/issues/issue-modal/components/description-editor.tsx @@ -4,6 +4,8 @@ import React, { useEffect, useState } from "react"; import { observer } from "mobx-react"; import { Control, Controller } from "react-hook-form"; import { Sparkle } from "lucide-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; // editor import { EditorRefApi } from "@plane/editor"; // types @@ -14,8 +16,6 @@ import { Loader, setToast, TOAST_TYPE } from "@plane/ui"; // components import { GptAssistantPopover } from "@/components/core"; import { RichTextEditor } from "@/components/editor"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getDescriptionPlaceholder } from "@/helpers/issue.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/issues/issue-modal/components/parent-tag.tsx b/web/core/components/issues/issue-modal/components/parent-tag.tsx index 1ef97ba3b59..583bc850b51 100644 --- a/web/core/components/issues/issue-modal/components/parent-tag.tsx +++ b/web/core/components/issues/issue-modal/components/parent-tag.tsx @@ -4,10 +4,10 @@ import React from "react"; import { observer } from "mobx-react"; import { Control, Controller } from "react-hook-form"; import { X } from "lucide-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; // types import { ISearchIssueResponse, TIssue } from "@plane/types"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getTabIndex } from "@/helpers/tab-indices.helper"; // hooks diff --git a/web/core/components/issues/issue-modal/components/project-select.tsx b/web/core/components/issues/issue-modal/components/project-select.tsx index b63b32b769a..29268b4adcf 100644 --- a/web/core/components/issues/issue-modal/components/project-select.tsx +++ b/web/core/components/issues/issue-modal/components/project-select.tsx @@ -3,12 +3,12 @@ import React from "react"; import { observer } from "mobx-react"; import { Control, Controller } from "react-hook-form"; +// plane imports +import { ETabIndices } from "@plane/constants"; // types import { TIssue } from "@plane/types"; // components import { ProjectDropdown } from "@/components/dropdowns"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { shouldRenderProject } from "@/helpers/project.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/issues/issue-modal/components/title-input.tsx b/web/core/components/issues/issue-modal/components/title-input.tsx index 18e18b8036b..d737329fb5c 100644 --- a/web/core/components/issues/issue-modal/components/title-input.tsx +++ b/web/core/components/issues/issue-modal/components/title-input.tsx @@ -3,13 +3,13 @@ import React from "react"; import { observer } from "mobx-react"; import { Control, Controller, FieldErrors } from "react-hook-form"; +// plane imports +import { ETabIndices } from "@plane/constants"; // types import { useTranslation } from "@plane/i18n"; import { TIssue } from "@plane/types"; // ui import { Input } from "@plane/ui"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getTabIndex } from "@/helpers/tab-indices.helper"; // hooks diff --git a/web/core/components/issues/issue-modal/form.tsx b/web/core/components/issues/issue-modal/form.tsx index acc9c67e021..3017c709497 100644 --- a/web/core/components/issues/issue-modal/form.tsx +++ b/web/core/components/issues/issue-modal/form.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { useParams } from "next/navigation"; import { useForm } from "react-hook-form"; // editor -import { EIssuesStoreType } from "@plane/constants"; +import { ETabIndices,EIssuesStoreType } from "@plane/constants"; import { EditorRefApi } from "@plane/editor"; // i18n import { useTranslation } from "@plane/i18n"; @@ -22,7 +22,6 @@ import { IssueTitleInput, } from "@/components/issues/issue-modal/components"; import { CreateLabelModal } from "@/components/labels"; -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { cn } from "@/helpers/common.helper"; import { getTextContent } from "@/helpers/editor.helper"; diff --git a/web/core/components/labels/create-label-modal.tsx b/web/core/components/labels/create-label-modal.tsx index 950dd6f9802..1c6945e36c3 100644 --- a/web/core/components/labels/create-label-modal.tsx +++ b/web/core/components/labels/create-label-modal.tsx @@ -7,13 +7,14 @@ import { TwitterPicker } from "react-color"; import { Controller, useForm } from "react-hook-form"; import { ChevronDown } from "lucide-react"; import { Dialog, Popover, Transition } from "@headlessui/react"; +// plane imports +import { ETabIndices } from "@plane/constants"; // types import type { IIssueLabel, IState } from "@plane/types"; // ui import { Button, Input, TOAST_TYPE, setToast } from "@plane/ui"; // constants import { LABEL_COLOR_OPTIONS, getRandomLabelColor } from "@/constants/label"; -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getTabIndex } from "@/helpers/tab-indices.helper"; // hooks diff --git a/web/core/components/modules/form.tsx b/web/core/components/modules/form.tsx index a13d7fbac62..031651dd200 100644 --- a/web/core/components/modules/form.tsx +++ b/web/core/components/modules/form.tsx @@ -2,14 +2,14 @@ import { useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { IModule } from "@plane/types"; // ui import { Button, Input, TextArea } from "@plane/ui"; // components import { DateRangeDropdown, ProjectDropdown, MemberDropdown } from "@/components/dropdowns"; import { ModuleStatusSelect } from "@/components/modules"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getDate, renderFormattedPayloadDate } from "@/helpers/date-time.helper"; import { shouldRenderProject } from "@/helpers/project.helper"; diff --git a/web/core/components/pages/modals/page-form.tsx b/web/core/components/pages/modals/page-form.tsx index 63bd0fdd099..40203b491e9 100644 --- a/web/core/components/pages/modals/page-form.tsx +++ b/web/core/components/pages/modals/page-form.tsx @@ -3,6 +3,8 @@ import { FormEvent, useState } from "react"; // types import { FileText } from "lucide-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { TPage } from "@plane/types"; // ui import { Button, EmojiIconPicker, EmojiIconPickerTypes, Input } from "@plane/ui"; @@ -10,7 +12,6 @@ import { Logo } from "@/components/common"; // constants import { AccessField } from "@/components/common/access-field"; import { EPageAccess, PAGE_ACCESS_SPECIFIERS } from "@/constants/page"; -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { convertHexEmojiToDecimal } from "@/helpers/emoji.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/project/create/common-attributes.tsx b/web/core/components/project/create/common-attributes.tsx index 632450e9ba2..97807e09c57 100644 --- a/web/core/components/project/create/common-attributes.tsx +++ b/web/core/components/project/create/common-attributes.tsx @@ -1,13 +1,13 @@ import { ChangeEvent } from "react"; import { Controller, useFormContext, UseFormSetValue } from "react-hook-form"; import { Info } from "lucide-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // ui import { Input, TextArea, Tooltip } from "@plane/ui"; // plane utils import { cn } from "@plane/utils"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { projectIdentifierSanitizer } from "@/helpers/project.helper"; import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/project/create/header.tsx b/web/core/components/project/create/header.tsx index 19142c729bb..ea09359fd4e 100644 --- a/web/core/components/project/create/header.tsx +++ b/web/core/components/project/create/header.tsx @@ -1,6 +1,8 @@ import { useState } from "react"; import { Controller, useFormContext } from "react-hook-form"; import { X } from "lucide-react"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; // plane types import { IProject } from "@plane/types"; @@ -8,8 +10,6 @@ import { IProject } from "@plane/types"; import { CustomEmojiIconPicker, EmojiIconPickerTypes, Logo } from "@plane/ui"; // components import { ImagePickerPopover } from "@/components/core"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { convertHexEmojiToDecimal } from "@/helpers/emoji.helper"; import { getFileURL } from "@/helpers/file.helper"; diff --git a/web/core/components/project/create/project-create-buttons.tsx b/web/core/components/project/create/project-create-buttons.tsx index ac61360e4c6..22ce787da4c 100644 --- a/web/core/components/project/create/project-create-buttons.tsx +++ b/web/core/components/project/create/project-create-buttons.tsx @@ -1,10 +1,10 @@ import { useFormContext } from "react-hook-form"; +// plane imports +import { ETabIndices } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { IProject } from "@plane/types"; // ui import { Button } from "@plane/ui"; -// constants -import { ETabIndices } from "@/constants/tab-indices"; // helpers import { getTabIndex } from "@/helpers/tab-indices.helper"; diff --git a/web/core/components/views/form.tsx b/web/core/components/views/form.tsx index f543966a2f1..98643a36779 100644 --- a/web/core/components/views/form.tsx +++ b/web/core/components/views/form.tsx @@ -5,7 +5,7 @@ import { observer } from "mobx-react"; import { Controller, useForm } from "react-hook-form"; import { Layers } from "lucide-react"; // plane constants -import { EIssueLayoutTypes, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; +import { ETabIndices, EIssueLayoutTypes, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; // i18n import { useTranslation } from "@plane/i18n"; // types @@ -15,7 +15,6 @@ import { Button, EmojiIconPicker, EmojiIconPickerTypes, Input, TextArea } from " // components import { Logo } from "@/components/common"; import { AppliedFiltersList, DisplayFiltersSelection, FilterSelection, FiltersDropdown } from "@/components/issues"; -import { ETabIndices } from "@/constants/tab-indices"; import { EViewAccess } from "@/constants/views"; // helpers import { convertHexEmojiToDecimal } from "@/helpers/emoji.helper"; diff --git a/web/helpers/tab-indices.helper.ts b/web/helpers/tab-indices.helper.ts index 6b376e7e264..fcf7ad391f4 100644 --- a/web/helpers/tab-indices.helper.ts +++ b/web/helpers/tab-indices.helper.ts @@ -1,4 +1,4 @@ -import { ETabIndices, TAB_INDEX_MAP } from "@/constants/tab-indices"; +import { ETabIndices, TAB_INDEX_MAP } from "@plane/constants"; export const getTabIndex = (type?: ETabIndices, isMobile: boolean = false) => { const getIndex = (key: string) =>