fix: styles for deal drawer fixed
This commit is contained in:
@ -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,
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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%;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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
|
|
||||||
h={"100%"}
|
|
||||||
direction={"column"}>
|
|
||||||
<DealServicesTitle />
|
<DealServicesTitle />
|
||||||
|
<ScrollArea
|
||||||
|
scrollbars={"y"}
|
||||||
|
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>
|
||||||
|
|||||||
@ -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>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -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>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@ -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}
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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%;
|
|
||||||
}
|
|
||||||
@ -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
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user