turkmen-expo/components/ui/burger-drop.tsx

66 lines
1.8 KiB
TypeScript
Raw Normal View History

2025-10-12 17:42:17 +00:00
"use client";
import { burgerMenuData } from "@/lib/database/pathnames";
import { useAppDispatch } from "@/redux/hooks";
import { Link } from "@/i18n/navigation";
2025-10-12 17:42:17 +00:00
import React from "react";
import Image from "next/image";
import { v4 } from "uuid";
import { useTranslations } from "next-intl";
2025-10-12 17:42:17 +00:00
import arrow from "@/public/assets/icons/header/burger-arrow.svg";
import {
setBurgerDrop,
setBurgerOpen,
setFooterDrop,
} from "@/redux/slices/burgerSlice";
export const BurgerDrop = ({
filter,
setDrop,
}: {
filter: string;
setDrop: (name: boolean) => void;
}) => {
const dispatch = useAppDispatch();
const t = useTranslations();
2025-10-12 17:42:17 +00:00
return burgerMenuData
.filter((obj) => !obj.only)
.map(
(item) =>
item.pathname === filter && (
<div key={v4()} className="flex flex-col">
<div
onClick={() => {
setDrop(false);
dispatch(setBurgerDrop(""));
dispatch(setFooterDrop(""));
}}
className="cursor-pointer flex items-center gap-[10px] mb-[10px]"
>
<Image src={arrow} alt="стрелка" className="rotate-180" />
<h3 className="leading-[135%] text-[18px]">{t(item.titleKey)}</h3>
2025-10-12 17:42:17 +00:00
</div>
<hr className="border-bgWhite mb-5" />
<div className="flex flex-col leading-[150%] gap-5">
{item.info?.map((subj) => (
<Link
key={v4()}
href={subj.link}
className="cursor-pointer text-white"
onClick={() => {
dispatch(setBurgerOpen(false));
setDrop(false);
}}
>
{t(subj.titleKey)}
2025-10-12 17:42:17 +00:00
</Link>
))}
</div>
</div>
)
);
};