This commit is contained in:
Kakabay 2025-05-30 06:23:23 +05:00
parent 512c8c933b
commit f94c2954a0
4 changed files with 70 additions and 4 deletions

View File

@ -17,9 +17,15 @@ interface Props {
text: string;
link?: string;
}[];
setIsOpen: (val: boolean) => void;
}
export const HoverMenu: FC<Props> = ({ className, text, hoverItems }) => {
export const HoverMenu: FC<Props> = ({
className,
text,
hoverItems,
setIsOpen,
}) => {
return (
<NavigationMenu>
<NavigationMenuList>
@ -32,9 +38,13 @@ export const HoverMenu: FC<Props> = ({ className, text, hoverItems }) => {
>
{text}
</NavigationMenuTrigger>
<NavigationMenuContent className="bg-surface_container shadow flex flex-col pb-2 rounded-[2px] w-40 items-center justify-center px-4 pt-2">
<NavigationMenuContent className="bg-surface_container shadow flex flex-col pb-2 rounded-[2px] w-40 items-center justify-center pt-2">
{hoverItems?.map((item, i) => (
<NavigationMenuLink key={i} className="h-14 py-2 w-full">
<NavigationMenuLink
key={i}
onClick={() => setIsOpen(false)}
className="h-14 py-2 flex items-center justify-center w-40 cursor-pointer px-4 hover:bg-slate-300/50 transition-all"
>
<Link to={item.link ?? ""}>{item.text}</Link>
</NavigationMenuLink>
))}

View File

@ -46,7 +46,7 @@ export const Menu: FC<PropsWithChildren<Props>> = ({
{dropDownContent &&
dropDownContent.map((item, i) =>
item.hover ? (
<HoverMenu key={i} {...item} />
<HoverMenu setIsOpen={setIsOpen} key={i} {...item} />
) : item.link ? (
<Link
onClick={() => {

View File

@ -26,6 +26,20 @@
{
"text": "Media",
"link": "/media"
},
{
"text": "Fashion shows",
"hover": true,
"hoverItems": [
{
"text": "Foreign designers",
"link": "/impressions"
},
{
"text": "Turkmen designers",
"link": ""
}
]
}
]
},
@ -47,6 +61,20 @@
"text": "Travel guide",
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/travel_guide/Travel_guide_eng.pdf",
"blank": "blank"
},
{
"text": "Master classes",
"hover": true,
"hoverItems": [
{
"text": "For designers",
"link": "/impressions"
},
{
"text": "For visitors",
"link": ""
}
]
}
]
},

View File

@ -25,6 +25,20 @@
{
"text": "Медиа",
"link": "/media"
},
{
"text": "Модные показы",
"hover": true,
"hoverItems": [
{
"text": "Зарубежные дизайнеры",
"link": "/impressions"
},
{
"text": "Туркменские дизайнеры",
"link": ""
}
]
}
]
},
@ -46,6 +60,20 @@
"text": "Путеводитель",
"link": "https://turkmentextile.turkmenexpo.com/app/storage/app/media/travel_guide/Travel_guide_ru.pdf",
"blank": "blank"
},
{
"text": "Матстер классы",
"hover": true,
"hoverItems": [
{
"text": "Для дизайнеров",
"link": "/impressions"
},
{
"text": "Для посетителей",
"link": ""
}
]
}
]
},