"use client"; import React, { useState} from "react"; import ChevronLeftSvg from "../icons/ChevronLeftSvg"; import {usePathname, useRouter, useSearchParams} from "next/navigation"; import {site_languages} from "@/constants"; interface DropdownProps { defaultValue?: {label: string; value: string}; options: {label: string; value: string}[]; } export default function Dropdown({ defaultValue, options, }: DropdownProps) { const [isOpen, setIsOpen] = useState(false); const [selected, setSelected] = useState<{label: string; value: string}>( defaultValue ?? options[0] ); const router = useRouter(); const pathname = usePathname(); const searchParams = useSearchParams(); const handleChange = (entry: string) => { const target = options.find((option) => option.label === entry) || { label: "", value: "", }; setSelected(target); const segments = pathname.split("/").filter(Boolean); if ( segments.length > 0 && site_languages.map((language) => language.label).includes(segments[0]) ) { segments.shift(); } const newPath = `/${target.value}/${segments.join("/")}`; const search = searchParams.toString(); router.push(newPath + (search ? `?${search}` : "")); }; return ( ); }