feat: temp shitty fixes to alexender know how to do better

This commit is contained in:
2025-08-20 12:17:19 +03:00
parent 7dba5b5ed9
commit 32ea2aa060
7 changed files with 55 additions and 57 deletions

View File

@ -1,7 +1,7 @@
"use client"; "use client";
import React from "react"; import React from "react";
import { Group, ScrollArea } from "@mantine/core"; import { Group, ScrollArea, Space } from "@mantine/core";
import Board from "@/app/deals/components/shared/Board/Board"; import Board from "@/app/deals/components/shared/Board/Board";
import CreateBoardButton from "@/app/deals/components/shared/CreateBoardButton/CreateBoardButton"; import CreateBoardButton from "@/app/deals/components/shared/CreateBoardButton/CreateBoardButton";
import { useBoardsContext } from "@/app/deals/contexts/BoardsContext"; import { useBoardsContext } from "@/app/deals/contexts/BoardsContext";
@ -24,29 +24,31 @@ const Boards = () => {
}; };
return ( return (
<ScrollArea <>
offsetScrollbars={"x"} <ScrollArea
scrollbars={"x"} offsetScrollbars={"x"}
scrollbarSize={0} scrollbars={"x"}
w={"100%"} scrollbarSize={0}>
mt={"xs"} <Group
mb={"sm"}> align={"end"}
<Group wrap={"nowrap"}
align={"end"} gap={0}>
wrap={"nowrap"} <SortableDnd
gap={0}> initialItems={boards}
<SortableDnd renderItem={renderBoard}
initialItems={boards} onDragEnd={onDragEnd}
renderItem={renderBoard} onItemClick={selectBoard}
onDragEnd={onDragEnd} containerStyle={{ flexWrap: "nowrap" }}
onItemClick={selectBoard} dragHandleStyle={{ cursor: "pointer" }}
containerStyle={{ flexWrap: "nowrap" }} disabled={isMobile}
dragHandleStyle={{ cursor: "pointer" }} />
disabled={isMobile} </Group>
/> </ScrollArea>
<CreateBoardButton /> <Space w={"md"}/>
</Group> <CreateBoardButton />
</ScrollArea> <Space w={"md"}/>
</>
); );
}; };

View File

@ -1,12 +1,10 @@
.create-button { .create-button {
padding: 10px 10px 9px; padding: 10px 10px 9px;
border-bottom: 2px solid gray;
cursor: pointer; cursor: pointer;
} }
.spacer { .spacer {
height: 45px; height: 45px;
border-bottom: 2px solid gray;
width: 100%; width: 100%;
} }

View File

@ -1,5 +1,5 @@
import { IconPlus } from "@tabler/icons-react"; import { IconPlus } from "@tabler/icons-react";
import { Box, Space } from "@mantine/core"; import { Box, Flex } from "@mantine/core";
import { useBoardsContext } from "@/app/deals/contexts/BoardsContext"; import { useBoardsContext } from "@/app/deals/contexts/BoardsContext";
import InPlaceInput from "@/components/ui/InPlaceInput/InPlaceInput"; import InPlaceInput from "@/components/ui/InPlaceInput/InPlaceInput";
import styles from "./CreateBoardButton.module.css"; import styles from "./CreateBoardButton.module.css";
@ -8,7 +8,7 @@ const CreateBoardButton = () => {
const { onCreateBoard } = useBoardsContext(); const { onCreateBoard } = useBoardsContext();
return ( return (
<> <Flex style={{borderBottom: "2px solid gray"}}>
<InPlaceInput <InPlaceInput
placeholder={"Название доски"} placeholder={"Название доски"}
onComplete={onCreateBoard} onComplete={onCreateBoard}
@ -20,17 +20,8 @@ const CreateBoardButton = () => {
</Box> </Box>
)} )}
modalTitle={"Создание доски"} modalTitle={"Создание доски"}
inputStyles={{
wrapper: {
paddingTop: 3,
paddingBottom: 4,
paddingInline: 15,
borderBottom: "2px solid gray",
},
}}
/> />
<Space className={styles.spacer} /> </Flex>
</>
); );
}; };

View File

@ -1,7 +1,7 @@
"use client"; "use client";
import { IconChevronLeft, IconSettings } from "@tabler/icons-react"; import { IconChevronLeft, IconSettings } from "@tabler/icons-react";
import { Box, Group, Stack, Text } from "@mantine/core"; import { Box, Flex, Group, Stack, Text } from "@mantine/core";
import Boards from "@/app/deals/components/shared/Boards/Boards"; import Boards from "@/app/deals/components/shared/Boards/Boards";
import { useBoardsContext } from "@/app/deals/contexts/BoardsContext"; import { useBoardsContext } from "@/app/deals/contexts/BoardsContext";
import { useProjectsContext } from "@/app/deals/contexts/ProjectsContext"; import { useProjectsContext } from "@/app/deals/contexts/ProjectsContext";
@ -17,25 +17,28 @@ const Header = () => {
} = useProjectsContext(); } = useProjectsContext();
const { setIsEditorDrawerOpened } = useBoardsContext(); const { setIsEditorDrawerOpened } = useBoardsContext();
const isMobile = useIsMobile(); const isMobile = useIsMobile();
const getDesktopHeader = () => { const getDesktopHeader = () => {
return ( return (
<Group <Flex
w={"100%"} wrap={"nowrap"}
gap={0} justify={"space-between"}>
justify={"end"}
wrap={"nowrap"}>
<Boards /> <Boards />
<ProjectSelect <Box
data={projects} flex={1}
value={selectedProject} style={{ borderBottom: "2px solid gray" }}
onChange={value => value && setSelectedProject(value)}
style={{
borderBottom: "solid gray 2px",
paddingBottom: 5,
}}
/> />
</Group> <Flex
align={"center"}
style={{
borderBottom: "2px solid gray",
}}>
<ProjectSelect
data={projects}
value={selectedProject}
onChange={value => value && setSelectedProject(value)}
/>
</Flex>
</Flex>
); );
}; };

View File

@ -9,6 +9,7 @@ import ProjectsEditorDrawer from "@/app/deals/drawers/ProjectsEditorDrawer";
import PageBlock from "@/components/layout/PageBlock/PageBlock"; import PageBlock from "@/components/layout/PageBlock/PageBlock";
import PageContainer from "@/components/layout/PageContainer/PageContainer"; import PageContainer from "@/components/layout/PageContainer/PageContainer";
import { DealsContextProvider } from "./contexts/DealsContext"; import { DealsContextProvider } from "./contexts/DealsContext";
import { Space } from "@mantine/core";
export default function DealsPage() { export default function DealsPage() {
return ( return (
@ -17,6 +18,7 @@ export default function DealsPage() {
<PageContainer> <PageContainer>
<PageBlock className={"mobile-margin-height"}> <PageBlock className={"mobile-margin-height"}>
<Header /> <Header />
<Space h={"md"}/>
<StatusesContextProvider> <StatusesContextProvider>
<DealsContextProvider> <DealsContextProvider>
<Funnel /> <Funnel />

View File

@ -1,7 +1,9 @@
import { IconCircleDotted, IconLayoutKanban } from "@tabler/icons-react"; import { IconCircleDotted, IconLayoutKanban } from "@tabler/icons-react";
import FooterButtons from "@/components/layout/Footer/FooterButtons"; import FooterButtons, {
LinkData,
} from "@/components/layout/Footer/FooterButtons";
const buttonsData = [ const buttonsData: LinkData[] = [
{ {
icon: IconLayoutKanban, icon: IconLayoutKanban,
label: "Сделки", label: "Сделки",

View File

@ -3,7 +3,7 @@ import { Group, Stack, Text } from "@mantine/core";
import FooterClickable from "@/components/layout/Footer/FooterClickable"; import FooterClickable from "@/components/layout/Footer/FooterClickable";
import styles from "./Footer.module.css"; import styles from "./Footer.module.css";
type LinkData = { export type LinkData = {
icon: typeof IconPlus; icon: typeof IconPlus;
label: string; label: string;
href: string; href: string;