Skip to content

Commit 455d93a

Browse files
committed
feat: enhance DNamespaceProjectMenu with improved styling and additional menu labels for better project interaction
1 parent 8ceb902 commit 455d93a

File tree

1 file changed

+36
-13
lines changed

1 file changed

+36
-13
lines changed

src/components/d-project/DNamespaceProjectMenu.tsx

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
"use client"
22

33
import React from "react"
4-
import {Menu, MenuContent, MenuItem, MenuPortal, MenuProps, MenuSeparator, MenuTrigger} from "../menu/Menu"
4+
import {Menu, MenuContent, MenuItem, MenuLabel, MenuPortal, MenuProps, MenuSeparator, MenuTrigger} from "../menu/Menu"
55
import {DNamespaceProjectReactiveService} from "./DNamespaceProject.service"
66
import {useService} from "../../utils/contextStore"
77
import {Namespace, Scalars} from "@code0-tech/sagittarius-graphql-types"
88
import {Button} from "../button/Button"
99
import {DNamespaceProjectView} from "./DNamespaceProject.view";
1010
import {DNamespaceProjectContent} from "./DNamespaceProjectContent";
11+
import {Card} from "../card/Card";
12+
import {Flex} from "../flex/Flex";
13+
import {Badge} from "../badge/Badge";
14+
import {IconArrowDown, IconArrowUp, IconCornerDownLeft} from "@tabler/icons-react";
15+
import {Spacing} from "../spacing/Spacing";
1116

1217
export interface DNamespaceProjectMenuProps extends MenuProps {
1318
onProjectSelect: (project: DNamespaceProjectView) => void
@@ -37,18 +42,36 @@ const DNamespaceProjectMenu: React.FC<DNamespaceProjectMenuProps> = props => {
3742
)}
3843
</MenuTrigger>
3944
<MenuPortal>
40-
<MenuContent side={"bottom"} align={"center"} sideOffset={8} maw={"200px"}>
41-
{projects.map((project, index) => (
42-
<>
43-
<MenuItem
44-
key={project.id}
45-
onSelect={() => onProjectSelect(project)}
46-
>
47-
<DNamespaceProjectContent minimized projectId={project.id}/>
48-
</MenuItem>
49-
{index < projects.length - 1 && <MenuSeparator/>}
50-
</>
51-
))}
45+
<MenuContent side={"bottom"} align={"center"} sideOffset={8} maw={"210px"} color={"secondary"}>
46+
<Card paddingSize={"xxs"} mt={-0.35} mx={-0.35} style={{borderWidth: "2px"}}>
47+
{projects.map((project, index) => (
48+
<>
49+
<MenuItem
50+
key={project.id}
51+
onSelect={() => onProjectSelect(project)}
52+
>
53+
<DNamespaceProjectContent minimized projectId={project.id}/>
54+
</MenuItem>
55+
{index < projects.length - 1 && <MenuSeparator/>}
56+
</>
57+
))}
58+
</Card>
59+
<MenuLabel>
60+
<Flex style={{gap: ".35rem"}}>
61+
<Flex align={"center"} style={{gap: "0.35rem"}}>
62+
<Flex>
63+
<Badge border><IconArrowUp size={12}/></Badge>
64+
<Badge border><IconArrowDown size={12}/></Badge>
65+
</Flex>
66+
move
67+
</Flex>
68+
<Spacing spacing={"xxs"}/>
69+
<Flex align={"center"} style={{gap: ".35rem"}}>
70+
<Badge border><IconCornerDownLeft size={12}/></Badge>
71+
add
72+
</Flex>
73+
</Flex>
74+
</MenuLabel>
5275
</MenuContent>
5376
</MenuPortal>
5477
</Menu>

0 commit comments

Comments
 (0)