"use client"; import Search from "@/components/icons/Search"; import { Button, ButtonGroup, TextField } from "@mui/material"; import SearchD from "@/components/icons/SearchD"; import ModalSearchCity from "@/app/component/modalSearchCity"; import ButtonFilter from "@/app/component/modalSearchCity/ButtonFilter"; import { useState, useCallback } from "react"; import Link from "next/link"; import statesData from "@/data/state.json"; import citiesData from "@/data/city.json"; const provinceIdMap = Object.fromEntries( statesData.map((state) => [state.name, state.id]) ); const citiesByProvinceId = citiesData.reduce((acc, city) => { if (!acc[city.province_id]) acc[city.province_id] = []; acc[city.province_id].push(city); return acc; }, {}); function SearchBar() { const [selected, setSelected] = useState({ province: "", city: "", }); const [open, setOpen] = useState(false); const getDefaultCityForProvince = useCallback((provinceName) => { if (!provinceName) return undefined; const provinceId = provinceIdMap[provinceName]; return citiesByProvinceId[provinceId]?.[0]?.name; }, []); console.log(getDefaultCityForProvince(selected.province)); console.log(selected.province); return ( ); } export default SearchBar;