From a5afb03be6321bcfea6efbe253b7f7b9ed8f6a3f Mon Sep 17 00:00:00 2001 From: AlexSserb Date: Thu, 4 Sep 2025 13:00:51 +0400 Subject: [PATCH] refactor: removed unnecessary view context --- .../desktop/TopToolPanel/TopToolPanel.tsx | 17 ++++++-- .../ViewSelectButton/ViewSelectButton.tsx | 13 +++--- .../desktop/ViewSelector/ViewSelector.tsx | 41 ++++++++++++++----- .../components/shared/PageBody/PageBody.tsx | 39 +++++++----------- .../components/shared/views/BoardView.tsx | 12 ++++++ .../components/shared/views/ScheduleView.tsx | 5 +++ .../components/shared/views/TableView.tsx | 8 ++++ .../deals/components/shared/views/index.ts | 3 ++ src/app/deals/contexts/ViewContext.tsx | 23 ----------- src/app/deals/page.tsx | 4 +- 10 files changed, 93 insertions(+), 72 deletions(-) create mode 100644 src/app/deals/components/shared/views/BoardView.tsx create mode 100644 src/app/deals/components/shared/views/ScheduleView.tsx create mode 100644 src/app/deals/components/shared/views/TableView.tsx create mode 100644 src/app/deals/components/shared/views/index.ts delete mode 100644 src/app/deals/contexts/ViewContext.tsx diff --git a/src/app/deals/components/desktop/TopToolPanel/TopToolPanel.tsx b/src/app/deals/components/desktop/TopToolPanel/TopToolPanel.tsx index fa5abfb..ffed66c 100644 --- a/src/app/deals/components/desktop/TopToolPanel/TopToolPanel.tsx +++ b/src/app/deals/components/desktop/TopToolPanel/TopToolPanel.tsx @@ -1,5 +1,6 @@ "use client"; +import { FC } from "react"; import { IconEdit, IconFilter, IconPlus } from "@tabler/icons-react"; import { Flex, Group, Indicator } from "@mantine/core"; import { modals } from "@mantine/modals"; @@ -7,15 +8,20 @@ import ToolPanelAction from "@/app/deals/components/desktop/ToolPanelAction/Tool import ViewSelector from "@/app/deals/components/desktop/ViewSelector/ViewSelector"; import { useDealsContext } from "@/app/deals/contexts/DealsContext"; import { useProjectsContext } from "@/app/deals/contexts/ProjectsContext"; -import { useViewContext } from "@/app/deals/contexts/ViewContext"; import DealsTableFiltersModal from "@/app/deals/modals/DealsTableFiltersModal/DealsTableFiltersModal"; import ProjectSelect from "@/components/selects/ProjectSelect/ProjectSelect"; import { useDrawersContext } from "@/drawers/DrawersContext"; import useIsMobile from "@/hooks/utils/useIsMobile"; -const TopToolPanel = () => { +export type View = "board" | "table" | "schedule"; + +type Props = { + view: View; + setView: (view: View) => void; +}; + +const TopToolPanel: FC = ({ view, setView }) => { const { dealsFiltersForm, isChangedFilters } = useDealsContext(); - const { view } = useViewContext(); const { projects, setSelectedProjectId, selectedProject, projectsCrud } = useProjectsContext(); const { openDrawer } = useDrawersContext(); @@ -45,7 +51,10 @@ const TopToolPanel = () => { return ( - + void; }; const ViewSelectButton: FC> = ({ - viewName, + selected, + onSelect, children, }) => { - const { view, setView } = useViewContext(); - return (