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/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", - }, -];