From ebdc5e48823781841fea0657c2bd7106e4598654 Mon Sep 17 00:00:00 2001 From: Vamsi krishna Date: Fri, 24 Jan 2025 20:47:56 +0530 Subject: [PATCH] chore: migrated filters.ts to packages --- packages/constants/src/filter.ts | 53 +++++++++++++++++++ .../i18n/src/locales/en/translations.json | 5 +- .../i18n/src/locales/es/translations.json | 5 +- .../i18n/src/locales/fr/translations.json | 5 +- .../i18n/src/locales/ja/translations.json | 5 +- .../i18n/src/locales/zh-CN/translations.json | 5 +- .../common/applied-filters/date.tsx | 4 +- .../components/common/filters/created-at.tsx | 5 +- .../cycles/applied-filters/date.tsx | 2 +- .../cycles/dropdowns/filters/end-date.tsx | 6 +-- .../cycles/dropdowns/filters/start-date.tsx | 7 ++- .../filters/applied-filters/date.tsx | 2 +- .../filters/header/filters/start-date.tsx | 6 +-- .../filters/header/filters/target-date.tsx | 5 +- .../modules/applied-filters/date.tsx | 2 +- .../modules/dropdowns/filters/start-date.tsx | 6 +-- .../modules/dropdowns/filters/target-date.tsx | 5 +- web/core/components/pages/header/root.tsx | 4 +- .../project/applied-filters/date.tsx | 2 +- .../project/dropdowns/filters/created-at.tsx | 5 +- web/core/constants/filters.ts | 52 ------------------ 21 files changed, 102 insertions(+), 89 deletions(-) delete mode 100644 web/core/constants/filters.ts diff --git a/packages/constants/src/filter.ts b/packages/constants/src/filter.ts index 20de817a28f..cc8d98c45c3 100644 --- a/packages/constants/src/filter.ts +++ b/packages/constants/src/filter.ts @@ -2,3 +2,56 @@ export enum E_SORT_ORDER { ASC = "asc", DESC = "desc", } +export const DATE_AFTER_FILTER_OPTIONS = [ + { + name: "1 week from now", + value: "1_weeks;after;fromnow", + }, + { + name: "2 weeks from now", + value: "2_weeks;after;fromnow", + }, + { + name: "1 month from now", + value: "1_months;after;fromnow", + }, + { + name: "2 months from now", + value: "2_months;after;fromnow", + }, +]; + +export const DATE_BEFORE_FILTER_OPTIONS = [ + { + name: "1 week ago", + value: "1_weeks;before;fromnow", + }, + { + name: "2 weeks ago", + value: "2_weeks;before;fromnow", + }, + { + name: "1 month ago", + i18n_name: "date_filters.1_month_ago", + value: "1_months;before;fromnow", + }, +]; + +export const PROJECT_CREATED_AT_FILTER_OPTIONS = [ + { + name: "Today", + value: "today;custom;custom", + }, + { + name: "Yesterday", + value: "yesterday;custom;custom", + }, + { + name: "Last 7 days", + value: "last_7_days;custom;custom", + }, + { + name: "Last 30 days", + value: "last_30_days;custom;custom", + }, +]; diff --git a/packages/i18n/src/locales/en/translations.json b/packages/i18n/src/locales/en/translations.json index 596c3093fa9..c076be12b03 100644 --- a/packages/i18n/src/locales/en/translations.json +++ b/packages/i18n/src/locales/en/translations.json @@ -316,5 +316,8 @@ "change_parent_issue": "Change parent issue", "remove_parent_issue": "Remove parent issue", "add_parent": "Add parent", - "loading_members": "Loading members..." + "loading_members": "Loading members...", + "common": { + "filters": "Filters" + } } diff --git a/packages/i18n/src/locales/es/translations.json b/packages/i18n/src/locales/es/translations.json index 9f2b98792c2..b1a355af1e4 100644 --- a/packages/i18n/src/locales/es/translations.json +++ b/packages/i18n/src/locales/es/translations.json @@ -316,5 +316,8 @@ "remove_parent_issue": "Eliminar problema padre", "add_parent": "Agregar padre", "loading_members": "Cargando miembros...", - "inbox": "bandeja de entrada" + "inbox": "bandeja de entrada", + "common": { + "filters": "Filtros" + } } diff --git a/packages/i18n/src/locales/fr/translations.json b/packages/i18n/src/locales/fr/translations.json index 0eee868e174..69ef51a110a 100644 --- a/packages/i18n/src/locales/fr/translations.json +++ b/packages/i18n/src/locales/fr/translations.json @@ -316,5 +316,8 @@ "remove_parent_issue": "Supprimer le problème parent", "add_parent": "Ajouter un parent", "loading_members": "Chargement des membres...", - "inbox": "Boîte de réception" + "inbox": "Boîte de réception", + "common": { + "filters": "Filtres" + } } diff --git a/packages/i18n/src/locales/ja/translations.json b/packages/i18n/src/locales/ja/translations.json index fa2b244cc5e..09fc400daad 100644 --- a/packages/i18n/src/locales/ja/translations.json +++ b/packages/i18n/src/locales/ja/translations.json @@ -316,5 +316,8 @@ "remove_parent_issue": "親問題を削除", "add_parent": "親問題を追加", "loading_members": "メンバーを読み込んでいます...", - "inbox": "受信箱" + "inbox": "受信箱", + "common": { + "filters": "フィルター" + } } diff --git a/packages/i18n/src/locales/zh-CN/translations.json b/packages/i18n/src/locales/zh-CN/translations.json index 093027c16b1..50eda33ec7a 100644 --- a/packages/i18n/src/locales/zh-CN/translations.json +++ b/packages/i18n/src/locales/zh-CN/translations.json @@ -315,5 +315,8 @@ "remove_parent_issue": "移除父问题", "add_parent": "添加父问题", "loading_members": "正在加载成员...", - "inbox": "收件箱" + "inbox": "收件箱", + "common": { + "filters": "过滤器" + } } diff --git a/web/core/components/common/applied-filters/date.tsx b/web/core/components/common/applied-filters/date.tsx index 0f5680c48d4..9dcde53a439 100644 --- a/web/core/components/common/applied-filters/date.tsx +++ b/web/core/components/common/applied-filters/date.tsx @@ -1,8 +1,8 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; -// constants -import { DATE_BEFORE_FILTER_OPTIONS } from "@/constants/filters"; +// plane constants +import { DATE_BEFORE_FILTER_OPTIONS } from "@plane/constants"; // helpers import { renderFormattedDate } from "@/helpers/date-time.helper"; import { capitalizeFirstLetter } from "@/helpers/string.helper"; diff --git a/web/core/components/common/filters/created-at.tsx b/web/core/components/common/filters/created-at.tsx index 9baf391bec5..b1c23f70a8b 100644 --- a/web/core/components/common/filters/created-at.tsx +++ b/web/core/components/common/filters/created-at.tsx @@ -1,10 +1,9 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; -// components +// plane constants +import { DATE_BEFORE_FILTER_OPTIONS } from "@plane/constants"; import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { DATE_BEFORE_FILTER_OPTIONS } from "@/constants/filters"; // helpers import { isInDateFormat } from "@/helpers/date-time.helper"; diff --git a/web/core/components/cycles/applied-filters/date.tsx b/web/core/components/cycles/applied-filters/date.tsx index 488eef12ce9..c2ee47be524 100644 --- a/web/core/components/cycles/applied-filters/date.tsx +++ b/web/core/components/cycles/applied-filters/date.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; // helpers -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; import { renderFormattedDate } from "@/helpers/date-time.helper"; import { capitalizeFirstLetter } from "@/helpers/string.helper"; // constants diff --git a/web/core/components/cycles/dropdowns/filters/end-date.tsx b/web/core/components/cycles/dropdowns/filters/end-date.tsx index e5b4a7a8639..f9b7d2f37b0 100644 --- a/web/core/components/cycles/dropdowns/filters/end-date.tsx +++ b/web/core/components/cycles/dropdowns/filters/end-date.tsx @@ -1,11 +1,11 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; - +// constants +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; // components import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; + // helpers import { isInDateFormat } from "@/helpers/date-time.helper"; diff --git a/web/core/components/cycles/dropdowns/filters/start-date.tsx b/web/core/components/cycles/dropdowns/filters/start-date.tsx index 9bfd8f2d8e2..eb2032edb68 100644 --- a/web/core/components/cycles/dropdowns/filters/start-date.tsx +++ b/web/core/components/cycles/dropdowns/filters/start-date.tsx @@ -1,11 +1,11 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; - +// constants +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; // components import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; + // helpers import { isInDateFormat } from "@/helpers/date-time.helper"; @@ -17,7 +17,6 @@ type Props = { export const FilterStartDate: React.FC = observer((props) => { const { appliedFilters, handleUpdate, searchQuery } = props; - const [previewEnabled, setPreviewEnabled] = useState(true); const [isDateFilterModalOpen, setIsDateFilterModalOpen] = useState(false); diff --git a/web/core/components/issues/issue-layouts/filters/applied-filters/date.tsx b/web/core/components/issues/issue-layouts/filters/applied-filters/date.tsx index dcc6c15e56d..a64626047f0 100644 --- a/web/core/components/issues/issue-layouts/filters/applied-filters/date.tsx +++ b/web/core/components/issues/issue-layouts/filters/applied-filters/date.tsx @@ -2,7 +2,7 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; // helpers -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; import { renderFormattedDate } from "@/helpers/date-time.helper"; import { capitalizeFirstLetter } from "@/helpers/string.helper"; // constants diff --git a/web/core/components/issues/issue-layouts/filters/header/filters/start-date.tsx b/web/core/components/issues/issue-layouts/filters/header/filters/start-date.tsx index c9f4ae22e65..c667696e7c8 100644 --- a/web/core/components/issues/issue-layouts/filters/header/filters/start-date.tsx +++ b/web/core/components/issues/issue-layouts/filters/header/filters/start-date.tsx @@ -1,11 +1,10 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; - +// constants +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; // components import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; type Props = { appliedFilters: string[] | null; @@ -15,7 +14,6 @@ type Props = { export const FilterStartDate: React.FC = observer((props) => { const { appliedFilters, handleUpdate, searchQuery } = props; - const [previewEnabled, setPreviewEnabled] = useState(true); const [isDateFilterModalOpen, setIsDateFilterModalOpen] = useState(false); diff --git a/web/core/components/issues/issue-layouts/filters/header/filters/target-date.tsx b/web/core/components/issues/issue-layouts/filters/header/filters/target-date.tsx index d4ef89584e4..bfd677681ad 100644 --- a/web/core/components/issues/issue-layouts/filters/header/filters/target-date.tsx +++ b/web/core/components/issues/issue-layouts/filters/header/filters/target-date.tsx @@ -1,11 +1,10 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; - +// constants +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; // components import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; type Props = { appliedFilters: string[] | null; diff --git a/web/core/components/modules/applied-filters/date.tsx b/web/core/components/modules/applied-filters/date.tsx index 88d607de8df..53c24a3a9c7 100644 --- a/web/core/components/modules/applied-filters/date.tsx +++ b/web/core/components/modules/applied-filters/date.tsx @@ -1,8 +1,8 @@ import { observer } from "mobx-react"; // icons import { X } from "lucide-react"; +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; // helpers -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; import { renderFormattedDate } from "@/helpers/date-time.helper"; import { capitalizeFirstLetter } from "@/helpers/string.helper"; // constants diff --git a/web/core/components/modules/dropdowns/filters/start-date.tsx b/web/core/components/modules/dropdowns/filters/start-date.tsx index 9bfd8f2d8e2..e43a7e50c81 100644 --- a/web/core/components/modules/dropdowns/filters/start-date.tsx +++ b/web/core/components/modules/dropdowns/filters/start-date.tsx @@ -1,11 +1,11 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; - +// constants +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; // components import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; + // helpers import { isInDateFormat } from "@/helpers/date-time.helper"; diff --git a/web/core/components/modules/dropdowns/filters/target-date.tsx b/web/core/components/modules/dropdowns/filters/target-date.tsx index ba82002dd8e..c7ed9c84074 100644 --- a/web/core/components/modules/dropdowns/filters/target-date.tsx +++ b/web/core/components/modules/dropdowns/filters/target-date.tsx @@ -1,11 +1,10 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; - +// plane constants +import { DATE_AFTER_FILTER_OPTIONS } from "@plane/constants"; // components import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { DATE_AFTER_FILTER_OPTIONS } from "@/constants/filters"; // helpers import { isInDateFormat } from "@/helpers/date-time.helper"; diff --git a/web/core/components/pages/header/root.tsx b/web/core/components/pages/header/root.tsx index 75b91a87741..eac81f61cdd 100644 --- a/web/core/components/pages/header/root.tsx +++ b/web/core/components/pages/header/root.tsx @@ -1,6 +1,7 @@ import { useCallback } from "react"; import { observer } from "mobx-react"; import { ListFilter } from "lucide-react"; +import { useTranslation } from "@plane/i18n"; import { TPageFilterProps, TPageNavigationTabs } from "@plane/types"; // components import { Header, EHeaderVariant } from "@plane/ui"; @@ -25,6 +26,7 @@ type Props = { export const PagesListHeaderRoot: React.FC = observer((props) => { const { pageType, projectId, workspaceSlug } = props; + const { t } = useTranslation(); // store hooks const { filters, updateFilters, clearAllFilters } = useProjectPages(); const { @@ -69,7 +71,7 @@ export const PagesListHeaderRoot: React.FC = observer((props) => { /> } - title="Filters" + title={t("common.filters")} placement="bottom-end" isFiltersApplied={isFiltersApplied} > diff --git a/web/core/components/project/applied-filters/date.tsx b/web/core/components/project/applied-filters/date.tsx index 577015ad58e..d5879989fa7 100644 --- a/web/core/components/project/applied-filters/date.tsx +++ b/web/core/components/project/applied-filters/date.tsx @@ -1,7 +1,7 @@ import { observer } from "mobx-react"; import { X } from "lucide-react"; // helpers -import { PROJECT_CREATED_AT_FILTER_OPTIONS } from "@/constants/filters"; +import { PROJECT_CREATED_AT_FILTER_OPTIONS } from "@plane/constants"; import { renderFormattedDate } from "@/helpers/date-time.helper"; import { capitalizeFirstLetter } from "@/helpers/string.helper"; // constants diff --git a/web/core/components/project/dropdowns/filters/created-at.tsx b/web/core/components/project/dropdowns/filters/created-at.tsx index 85a2c3b9598..87d45a2a5e7 100644 --- a/web/core/components/project/dropdowns/filters/created-at.tsx +++ b/web/core/components/project/dropdowns/filters/created-at.tsx @@ -1,10 +1,11 @@ import React, { useState } from "react"; import { observer } from "mobx-react"; +// plane constants +import { PROJECT_CREATED_AT_FILTER_OPTIONS } from "@plane/constants"; // components import { DateFilterModal } from "@/components/core"; import { FilterHeader, FilterOption } from "@/components/issues"; -// constants -import { PROJECT_CREATED_AT_FILTER_OPTIONS } from "@/constants/filters"; + // helpers import { isInDateFormat } from "@/helpers/date-time.helper"; diff --git a/web/core/constants/filters.ts b/web/core/constants/filters.ts deleted file mode 100644 index 98189bc78eb..00000000000 --- a/web/core/constants/filters.ts +++ /dev/null @@ -1,52 +0,0 @@ -export const DATE_AFTER_FILTER_OPTIONS = [ - { - name: "1 week from now", - value: "1_weeks;after;fromnow", - }, - { - name: "2 weeks from now", - value: "2_weeks;after;fromnow", - }, - { - name: "1 month from now", - value: "1_months;after;fromnow", - }, - { - name: "2 months from now", - value: "2_months;after;fromnow", - }, -]; - -export const DATE_BEFORE_FILTER_OPTIONS = [ - { - name: "1 week ago", - value: "1_weeks;before;fromnow", - }, - { - name: "2 weeks ago", - value: "2_weeks;before;fromnow", - }, - { - name: "1 month ago", - value: "1_months;before;fromnow", - }, -]; - -export const PROJECT_CREATED_AT_FILTER_OPTIONS = [ - { - name: "Today", - value: "today;custom;custom", - }, - { - name: "Yesterday", - value: "yesterday;custom;custom", - }, - { - name: "Last 7 days", - value: "last_7_days;custom;custom", - }, - { - name: "Last 30 days", - value: "last_30_days;custom;custom", - }, -];