fix: styles for deal drawer fixed

This commit is contained in:
2025-09-19 11:55:08 +04:00
parent e049494fa5
commit 9ba22b9bdf
11 changed files with 38 additions and 73 deletions

View File

@ -38,7 +38,6 @@ const DealEditorDrawer: FC<DrawerProps<Props>> = ({
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
padding: isMobile ? 0 : "var(--mantine-spacing-xs)", padding: isMobile ? 0 : "var(--mantine-spacing-xs)",
height: "100vh",
}, },
header: { header: {
paddingBlock: 0, paddingBlock: 0,

View File

@ -62,7 +62,8 @@ const DealEditorBody: FC<Props> = props => {
<Tabs <Tabs
defaultValue="general" defaultValue="general"
orientation={isMobile ? "horizontal" : "vertical"} orientation={isMobile ? "horizontal" : "vertical"}
h={"100%"} h={"97vh"}
mih={"97vh"}
classNames={{ tab: styles.tab }}> classNames={{ tab: styles.tab }}>
<Tabs.List> <Tabs.List>
<Tabs.Tab <Tabs.Tab

View File

@ -1,38 +1,12 @@
.container { .container {
padding: var(--mantine-spacing-sm);
border: dashed 1px var(--mantine-color-default-border);
border-radius: var(--mantine-radius-lg);
}
.image-container {
display: flex; display: flex;
//flex-direction: column; max-height: rem(250);
gap: rem(10); max-width: rem(250);
max-height: 95vh; height: 100%;
}
.container-disabled {
}
.products-list {
width: 52%;
display: flex;
flex-direction: column;
gap: rem(10);
flex: 2;
}
.card-container {
display: flex;
flex-direction: column;
gap: rem(10);
flex: 1;
}
.card-container-wrapper {
border: dashed var(--item-border-size) var(--mantine-color-default-border);
border-radius: var(--item-border-radius);
padding: rem(10);
}
.card-container-buttons {
gap: rem(10);
display: flex;
flex-direction: column;
margin-top: auto;
width: 100%;
} }

View File

@ -1,5 +1,5 @@
import { FC } from "react"; import { FC } from "react";
import { Flex, rem } from "@mantine/core"; import { Flex, ScrollArea } from "@mantine/core";
import DealServiceRow from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/DealServicesTable/components/DealServiceRow"; import DealServiceRow from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/DealServicesTable/components/DealServiceRow";
import DealServicesTitle from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/DealServicesTable/components/DealServicesTitle"; import DealServicesTitle from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/DealServicesTable/components/DealServicesTitle";
import DealServicesTotalLabel from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/DealServicesTable/components/DealServicesTotalLabel"; import DealServicesTotalLabel from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/DealServicesTable/components/DealServicesTotalLabel";
@ -14,15 +14,15 @@ const DealServicesTable: FC = () => {
return ( return (
<Flex <Flex
direction={"column"} direction={"column"}
gap={rem(10)} gap={"sm"}
h={"100%"}> mah={"90vh"}>
<Flex <DealServicesTitle />
h={"100%"} <ScrollArea
direction={"column"}> scrollbars={"y"}
<DealServicesTitle /> offsetScrollbars={"y"}>
<Flex <Flex
direction={"column"} direction={"column"}
gap={rem(10)}> gap={"sm"}>
{dealServicesList.dealServices.map(dealService => ( {dealServicesList.dealServices.map(dealService => (
<DealServiceRow <DealServiceRow
key={dealService.service.id} key={dealService.service.id}
@ -32,7 +32,7 @@ const DealServicesTable: FC = () => {
/> />
))} ))}
</Flex> </Flex>
</Flex> </ScrollArea>
<DealServicesTotalLabel /> <DealServicesTotalLabel />
<ServicesActions /> <ServicesActions />
</Flex> </Flex>

View File

@ -1,10 +1,9 @@
import { rem, Title } from "@mantine/core"; import { Title } from "@mantine/core";
const DealServicesTitle = () => ( const DealServicesTitle = () => (
<Title <Title
order={3} order={3}
w={"100%"} w={"100%"}>
mb={rem(10)}>
Общие услуги Общие услуги
</Title> </Title>
); );

View File

@ -1,5 +1,5 @@
import { useMemo } from "react"; import { useMemo } from "react";
import { rem, Title } from "@mantine/core"; import { Title } from "@mantine/core";
import { useFulfillmentBaseContext } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/contexts/FulfillmentBaseContext"; import { useFulfillmentBaseContext } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/contexts/FulfillmentBaseContext";
const DealServicesTotalLabel = () => { const DealServicesTotalLabel = () => {
@ -16,9 +16,9 @@ const DealServicesTotalLabel = () => {
return ( return (
<Title <Title
style={{ textAlign: "end" }} style={{ textAlign: "end" }}
mt={rem(10)} mt={"sm"}
order={3}> order={3}>
Итог: {total} Итог: {total.toFixed(2)}
</Title> </Title>
); );
}; };

View File

@ -1,4 +1,4 @@
import { Button, Flex, rem } from "@mantine/core"; import { Button, Flex } from "@mantine/core";
import { modals } from "@mantine/modals"; import { modals } from "@mantine/modals";
import { addKitToDeal, ServicesKitSchema } from "@/lib/client"; import { addKitToDeal, ServicesKitSchema } from "@/lib/client";
import { useFulfillmentBaseContext } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/contexts/FulfillmentBaseContext"; import { useFulfillmentBaseContext } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/contexts/FulfillmentBaseContext";
@ -48,8 +48,7 @@ const ServicesActions = () => {
return ( return (
<Flex <Flex
direction={"column"} gap={"sm"}
gap={rem(10)}
mt={"auto"}> mt={"auto"}>
<Button <Button
onClick={onCreateClick} onClick={onCreateClick}

View File

@ -3,18 +3,19 @@ import DealServicesTable from "@/modules/dealModules/dealEditorTabs/FulfillmentB
import ProductsActions from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/ProductsActions/ProductsActions"; import ProductsActions from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/ProductsActions/ProductsActions";
import ProductView from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/ProductView/ProductView"; import ProductView from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/components/ProductView/ProductView";
import { useFulfillmentBaseContext } from "../../contexts/FulfillmentBaseContext"; import { useFulfillmentBaseContext } from "../../contexts/FulfillmentBaseContext";
import styles from "../../FulfillmentBaseTab.module.css";
const FulfillmentBaseTabBody = () => { const FulfillmentBaseTabBody = () => {
const { dealProductsList } = useFulfillmentBaseContext(); const { dealProductsList } = useFulfillmentBaseContext();
return ( return (
<Flex <Flex
p={"md"} mah={"96vh"}
mx={"md"}
gap={"xs"}> gap={"xs"}>
<ScrollArea <ScrollArea
offsetScrollbars={"y"} offsetScrollbars={"y"}
flex={4} flex={4}>
mah={"91vh"}>
<Stack> <Stack>
{dealProductsList.dealProducts.map((dealProduct, index) => ( {dealProductsList.dealProducts.map((dealProduct, index) => (
<ProductView <ProductView
@ -24,7 +25,10 @@ const FulfillmentBaseTabBody = () => {
))} ))}
</Stack> </Stack>
</ScrollArea> </ScrollArea>
<Stack flex={2}> <Stack
flex={2}
gap={"sm"}
className={styles.container}>
<DealServicesTable /> <DealServicesTable />
<ProductsActions /> <ProductsActions />
</Stack> </Stack>

View File

@ -1,11 +0,0 @@
.container {
border: dashed 1px var(--mantine-color-default-border);
border-radius: var(--mantine-radius-lg);
}
.image-container {
display: flex;
max-height: rem(250);
max-width: rem(250);
height: 100%;
}

View File

@ -21,7 +21,7 @@ import ProductViewActions from "@/modules/dealModules/dealEditorTabs/Fulfillment
import { useFulfillmentBaseContext } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/contexts/FulfillmentBaseContext"; import { useFulfillmentBaseContext } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/contexts/FulfillmentBaseContext";
import { ServiceType } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/types/service"; import { ServiceType } from "@/modules/dealModules/dealEditorTabs/FulfillmentBaseTab/types/service";
import ProductServicesTable from "./components/ProductServicesTable"; import ProductServicesTable from "./components/ProductServicesTable";
import styles from "./ProductView.module.css"; import styles from "../../FulfillmentBaseTab.module.css";
type Props = { type Props = {
dealProduct: DealProductSchema; dealProduct: DealProductSchema;
@ -101,7 +101,6 @@ const ProductView: FC<Props> = ({ dealProduct }) => {
<Flex <Flex
align={"start"} align={"start"}
direction={"row"} direction={"row"}
p={"sm"}
className={styles.container} className={styles.container}
gap={"sm"}> gap={"sm"}>
<Stack <Stack

View File

@ -41,15 +41,16 @@ const ProductsActions: FC = () => {
return ( return (
<Flex <Flex
w={"100%"} w={"100%"}
direction={"column"}
gap={"sm"}> gap={"sm"}>
<Button <Button
variant={"default"} variant={"default"}
fullWidth
onClick={onCreateProductClick}> onClick={onCreateProductClick}>
Создать товар Создать товар
</Button> </Button>
<Button <Button
variant={"default"} variant={"default"}
fullWidth
onClick={onCreateDealProductClick}> onClick={onCreateDealProductClick}>
Добавить товар Добавить товар
</Button> </Button>