feat: Implement dynamic state and city selection

- Load states and cities from JSON data files
- Filter cities based on selected state
- Update UI to disable city dropdown until state is selected
- Fix AutoCompleteSelect component to properly handle selection
- Reset city selection when state changes
- Display selected state and city in button
This commit is contained in:
2025-04-25 17:11:24 +03:30
parent 0c9a15153d
commit 574f7bf005
6 changed files with 789 additions and 23 deletions
+219
View File
@@ -0,0 +1,219 @@
[
{
"id": "1",
"type": "2",
"province_id": "1",
"name": "تبریز",
"domain": "tabriz-nobat.ir"
},
{
"id": "2",
"type": "2",
"province_id": "2",
"name": "ارومیه",
"domain": "urmia-nobat.ir"
},
{
"id": "3",
"type": "2",
"province_id": "3",
"name": "اردبیل",
"domain": "ardabil-nobat.ir"
},
{
"id": "4",
"type": "2",
"province_id": "4",
"name": "اصفهان",
"domain": "esf-nobat.ir"
},
{
"id": "5",
"type": "2",
"province_id": "5",
"name": "کرج",
"domain": "karaj-nobat.ir"
},
{
"id": "6",
"type": "2",
"province_id": "6",
"name": "ایلام",
"domain": "ilam-nobat.ir"
},
{
"id": "7",
"type": "2",
"province_id": "7",
"name": "بوشهر",
"domain": "bushehr-nobat.ir"
},
{
"id": "8",
"type": "2",
"province_id": "8",
"name": "تهران",
"domain": "tehran-nobat.ir"
},
{
"id": "9",
"type": "2",
"province_id": "9",
"name": "شهرکرد",
"domain": "shkord-nobat.ir"
},
{
"id": "10",
"type": "2",
"province_id": "10",
"name": "بیرجند",
"domain": "birjand-nobat.ir"
},
{
"id": "11",
"type": "2",
"province_id": "11",
"name": "مشهد",
"domain": "mashhad-nobat.ir"
},
{
"id": "12",
"type": "2",
"province_id": "12",
"name": "بجنورد",
"domain": "bojnord-nobat.ir"
},
{
"id": "13",
"type": "2",
"province_id": "13",
"name": "اهواز",
"domain": "ahvaz-nobat.ir"
},
{
"id": "14",
"type": "2",
"province_id": "14",
"name": "زنجان",
"domain": "zanjan-nobat.ir"
},
{
"id": "15",
"type": "2",
"province_id": "15",
"name": "سمنان",
"domain": "semnan-nobat.ir"
},
{
"id": "16",
"type": "2",
"province_id": "16",
"name": "زاهدان",
"domain": "zahedan-nobat.ir"
},
{
"id": "17",
"type": "2",
"province_id": "17",
"name": "شیراز",
"domain": "shiraz-nobat.ir"
},
{
"id": "18",
"type": "2",
"province_id": "18",
"name": "قزوین",
"domain": "qazvin-nobat.ir"
},
{
"id": "19",
"type": "2",
"province_id": "19",
"name": "قم",
"domain": "qom-nobat.ir"
},
{
"id": "20",
"type": "2",
"province_id": "20",
"name": "سنندج",
"domain": "sanandaj-nobat.ir"
},
{
"id": "21",
"type": "2",
"province_id": "21",
"name": "کرمان",
"domain": "kerman-nobat.ir"
},
{
"id": "22",
"type": "2",
"province_id": "22",
"name": "کرمانشاه",
"domain": "kermanshah-nobat.ir"
},
{
"id": "23",
"type": "2",
"province_id": "23",
"name": "یاسوج",
"domain": "yasuj-nobat.ir"
},
{
"id": "24",
"type": "2",
"province_id": "24",
"name": "گرگان",
"domain": "golestan-nobat.ir"
},
{
"id": "25",
"type": "2",
"province_id": "25",
"name": "رشت",
"domain": "rasht-nobat.ir"
},
{
"id": "26",
"type": "2",
"province_id": "26",
"name": "خرم‌آباد",
"domain": "lorestan-nobat.ir"
},
{
"id": "27",
"type": "2",
"province_id": "27",
"name": "ساری",
"domain": "sari-nobat.ir"
},
{
"id": "28",
"type": "2",
"province_id": "28",
"name": "اراک",
"domain": "arak-nobat.ir"
},
{
"id": "29",
"type": "2",
"province_id": "29",
"name": "بندرعباس",
"domain": "bandar-nobat.ir"
},
{
"id": "30",
"type": "2",
"province_id": "30",
"name": "همدان",
"domain": "hamadan-nobat.ir"
},
{
"id": "31",
"type": "2",
"province_id": "31",
"name": "یزد",
"domain": "yazd-nobat.ir"
}
]
+33
View File
@@ -0,0 +1,33 @@
[
{ "id": "1", "name": "آذربایجان شرقی" },
{ "id": "2", "name": "آذربایجان غربی" },
{ "id": "3", "name": "اردبیل" },
{ "id": "4", "name": "اصفهان" },
{ "id": "5", "name": "البرز" },
{ "id": "6", "name": "ایلام" },
{ "id": "7", "name": "بوشهر" },
{ "id": "8", "name": "تهران" },
{ "id": "9", "name": "چهارمحال و بختیاری" },
{ "id": "10", "name": "خراسان جنوبی" },
{ "id": "11", "name": "خراسان رضوی" },
{ "id": "12", "name": "خراسان شمالی" },
{ "id": "13", "name": "خوزستان" },
{ "id": "14", "name": "زنجان" },
{ "id": "15", "name": "سمنان" },
{ "id": "16", "name": "سیستان و بلوچستان" },
{ "id": "17", "name": "فارس" },
{ "id": "18", "name": "قزوین" },
{ "id": "19", "name": "قم" },
{ "id": "20", "name": "کردستان" },
{ "id": "21", "name": "کرمان" },
{ "id": "22", "name": "کرمانشاه" },
{ "id": "23", "name": "کهگیلویه و بویراحمد" },
{ "id": "24", "name": "گلستان" },
{ "id": "25", "name": "گیلان" },
{ "id": "26", "name": "لرستان" },
{ "id": "27", "name": "مازندران" },
{ "id": "28", "name": "مرکزی" },
{ "id": "29", "name": "هرمزگان" },
{ "id": "30", "name": "همدان" },
{ "id": "31", "name": "یزد" }
]