From e5681534d789139b0d86acdd34f023c8e2046613 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Mon, 29 Apr 2024 19:45:06 +0530 Subject: [PATCH] [WEB-1065] chore: workspace view and empty filter improvement (#4308) * chore: workspace view layout improvement * fix: empty applied filters * chore: code refactor * chore: code refactor * fix: build errors --------- Co-authored-by: sriram veeraghanta --- web/components/headers/global-issues.tsx | 104 +++++------------- .../roots/global-view-root.tsx | 6 +- .../roots/project-view-root.tsx | 6 +- .../workspace-views/[globalViewId].tsx | 6 +- .../[workspaceSlug]/workspace-views/index.tsx | 2 +- 5 files changed, 41 insertions(+), 83 deletions(-) diff --git a/web/components/headers/global-issues.tsx b/web/components/headers/global-issues.tsx index caa98e71c..b936c0793 100644 --- a/web/components/headers/global-issues.tsx +++ b/web/components/headers/global-issues.tsx @@ -1,35 +1,23 @@ import { useCallback, useState } from "react"; import { observer } from "mobx-react-lite"; -import Link from "next/link"; import { useRouter } from "next/router"; -// hooks -import { List, PlusIcon, Sheet } from "lucide-react"; +// icons +import { PlusIcon } from "lucide-react"; +// types import { IIssueDisplayFilterOptions, IIssueDisplayProperties, IIssueFilterOptions } from "@plane/types"; -import { Breadcrumbs, Button, LayersIcon, PhotoFilterIcon, Tooltip } from "@plane/ui"; +// ui +import { Breadcrumbs, Button, LayersIcon } from "@plane/ui"; +// components import { BreadcrumbLink } from "@/components/common"; import { DisplayFiltersSelection, FiltersDropdown, FilterSelection } from "@/components/issues"; -// components import { CreateUpdateWorkspaceViewModal } from "@/components/workspace"; -// ui -// icons -// types // constants import { EIssueFilterType, EIssuesStoreType, ISSUE_DISPLAY_FILTERS_BY_LAYOUT } from "@/constants/issue"; import { EUserWorkspaceRoles } from "@/constants/workspace"; +// hooks import { useLabel, useMember, useUser, useIssues } from "@/hooks/store"; -import { usePlatformOS } from "@/hooks/use-platform-os"; -const GLOBAL_VIEW_LAYOUTS = [ - { key: "list", title: "List", link: "workspace-views", icon: List }, - { key: "spreadsheet", title: "Spreadsheet", link: "workspace-views/all-issues", icon: Sheet }, -]; - -type Props = { - activeLayout: "list" | "spreadsheet"; -}; - -export const GlobalIssuesHeader: React.FC = observer((props) => { - const { activeLayout } = props; +export const GlobalIssuesHeader: React.FC = observer(() => { // states const [createViewModal, setCreateViewModal] = useState(false); // router @@ -46,7 +34,6 @@ export const GlobalIssuesHeader: React.FC = observer((props) => { const { workspace: { workspaceMemberIds }, } = useMember(); - const { isMobile } = usePlatformOS(); const issueFilters = globalViewId ? filters[globalViewId.toString()] : undefined; @@ -116,65 +103,32 @@ export const GlobalIssuesHeader: React.FC = observer((props) => { - ) : ( - - ) - } - /> + } /> } />
-
- {GLOBAL_VIEW_LAYOUTS.map((layout) => ( - - - -
- -
-
-
- - ))} -
- - {activeLayout === "spreadsheet" && ( - <> - - - - - - - - )} + <> + + + + + + + {isAuthorizedUser && (