refactor: drawers refactored

This commit is contained in:
2025-09-06 11:09:42 +04:00
parent 67780b5251
commit d76dc82cb8
44 changed files with 239 additions and 227 deletions

View File

@ -3,7 +3,6 @@ import { IconMoodSad } from "@tabler/icons-react";
import { Group, Pagination, Stack, Text } from "@mantine/core";
import useDealsTableColumns from "@/app/deals/components/desktop/DealsTable/useDealsTableColumns";
import { useDealsContext } from "@/app/deals/contexts/DealsContext";
import { useProjectsContext } from "@/app/deals/contexts/ProjectsContext";
import BaseTable from "@/components/ui/BaseTable/BaseTable";
import { useDrawersContext } from "@/drawers/DrawersContext";
import { DealSchema } from "@/lib/client";
@ -11,18 +10,16 @@ import { DealSchema } from "@/lib/client";
const DealsTable: FC = () => {
const { deals, paginationInfo, page, setPage, sortingForm, dealsCrud } =
useDealsContext();
const { selectedProject } = useProjectsContext();
const { openDrawer } = useDrawersContext();
const onEditClick = useCallback(
(deal: DealSchema) => {
if (!selectedProject) return;
openDrawer({
key: "dealEditorDrawer",
props: {
deal,
dealsCrud,
project: selectedProject,
value: deal,
onChange: deal => dealsCrud.onUpdate(deal.id, deal),
onDelete: dealsCrud.onDelete,
},
});
},

View File

@ -44,8 +44,12 @@ const TopToolPanel: FC<Props> = ({ view, setView }) => {
if (!selectedProject) return;
openDrawer({
key: "selectedProjectEditorDrawer",
props: { project: selectedProject, projectsCrud },
key: "projectEditorDrawer",
props: {
value: selectedProject,
onChange: value => projectsCrud.onUpdate(value.id, value),
onDelete: projectsCrud.onDelete,
},
});
};

View File

@ -22,9 +22,9 @@ const MainBlockHeader = () => {
const openProjectsEditorDrawer = () => {
openDrawer({
key: "projectsEditorDrawer",
key: "projectsMobileEditorDrawer",
props: {
setSelectedProjectId: selectProjectId,
onSelect: project => selectProjectId(project?.id ?? null),
},
});
};
@ -32,7 +32,7 @@ const MainBlockHeader = () => {
const openBoardsEditorDrawer = () => {
if (!selectedProject) return;
openDrawer({
key: "projectBoardsEditorDrawer",
key: "boardsMobileEditorDrawer",
props: {
project: selectedProject,
},

View File

@ -1,6 +1,5 @@
import { Box, Card, Group, Pill, Stack, Text } from "@mantine/core";
import { useDealsContext } from "@/app/deals/contexts/DealsContext";
import { useProjectsContext } from "@/app/deals/contexts/ProjectsContext";
import { useDrawersContext } from "@/drawers/DrawersContext";
import { DealSchema } from "@/lib/client";
import styles from "./DealCard.module.css";
@ -10,15 +9,17 @@ type Props = {
};
const DealCard = ({ deal }: Props) => {
const { selectedProject } = useProjectsContext();
const { dealsCrud } = useDealsContext();
const { openDrawer } = useDrawersContext();
const onClick = () => {
if (!selectedProject) return;
openDrawer({
key: "dealEditorDrawer",
props: { project: selectedProject, deal, dealsCrud },
props: {
value: deal,
onChange: deal => dealsCrud.onUpdate(deal.id, deal),
onDelete: dealsCrud.onDelete,
},
});
};

View File

@ -69,7 +69,7 @@ const StatusMenu: FC<Props> = ({
e.stopPropagation();
if (!board) return;
openDrawer({
key: "boardStatusesEditorDrawer",
key: "statusesMobileEditorDrawer",
props: {
board,
},