"use client"; import { useState, useEffect } from "react"; import { Box, Button, Modal } from "@mui/material"; // Icon import ArrowBottomH from "@/components/icons/ArrowBottomH"; import Location from "@/components/icons/Location"; import { styleDefault } from "@/mui"; import CloseModalD from "@/components/icons/CloseModalD"; import AutoCompleteSelect from "@/app/component/element/AutoCompleteSelect"; import ArrowLeftM from "@/components/icons/ArrowLeftM"; // Data import statesData from "@/data/state.json"; import citiesData from "@/data/city.json"; function ModalSearchCity() { const [states, setStates] = useState([]); const [cities, setCities] = useState([]); const [filteredCities, setFilteredCities] = useState([]); const [open, setOpen] = useState(false); const handleOpen = () => setOpen(true); const handleClose = () => setOpen(false); const [selected, setSelected] = useState({ first: "", second: "", }); // Load states and cities from JSON files useEffect(() => { // Format states data to match the structure expected by AutoCompleteSelect const formattedStates = statesData.map((state) => ({ label: state.name, id: state.id, })); // Format cities data const formattedCities = citiesData.map((city) => ({ label: city.name, id: city.id, province_id: city.province_id, })); setStates(formattedStates); setCities(formattedCities); }, []); // Filter cities when state is selected useEffect(() => { if (selected.first) { const selectedState = states.find( (state) => state.label === selected.first ); if (selectedState) { const stateId = selectedState.id; const filteredCities = cities.filter( (city) => city.province_id === stateId ); setFilteredCities(filteredCities); } } else { setFilteredCities([]); setSelected({ ...selected, second: "" }); } }, [selected.first, cities, states]); const updateData = (event, name) => { if (name === "first" && event !== selected.first) { // If state changes, reset city selection setSelected({ first: event, second: "" }); } else { setSelected({ ...selected, [name]: event }); } }; return ( <> {/* Button Modal */} {/* Content Modal */}

شهر یا استان مورد نظر را انتخاب نمایید:

); } export default ModalSearchCity;