diff --git a/src/pages/add-user-form.jsx b/src/pages/add-user-form.jsx index 5dbc29e..635d0c7 100644 --- a/src/pages/add-user-form.jsx +++ b/src/pages/add-user-form.jsx @@ -14,16 +14,16 @@ const typeParent = "parent" export default function addUserForm() { const [allLanguage, setLanguage] = useState([ - {lang: "Assamese", value:false}, - {lang: "Bengali", value:false}, - {lang: "English", value:false}, - {lang: "Hindi", value:false}, - {lang: "telegu", value:false}, - {lang: "Punjabi", value:false}, - {lang: "malayalam", value:false}, - {lang: "tamil", value:false}, - {lang: "kannada", value:false}, - {lang: "gujrati", value:false}, + {lang: "Assamese", value: false}, + {lang: "Bengali", value: false}, + {lang: "English", value: false}, + {lang: "Hindi", value: false}, + {lang: "telegu", value: false}, + {lang: "Punjabi", value: false}, + {lang: "malayalam", value: false}, + {lang: "tamil", value: false}, + {lang: "kannada", value: false}, + {lang: "gujrati", value: false}, ]) const [currentType, setCurrentType] = useState(typeParent) const [countryValue, setCountryValue] = useState('') @@ -31,8 +31,41 @@ export default function addUserForm() { const [phoneValue, setphoneValue] = useState() let [individualValue = true, setindividualValue] = useState() -// console.log(phoneValue) + const [allStates, setAllStates] = useState([]) + const [allCities, setAllCities] = useState([]) + + const handleSelectAllStates = stateCode => { + setAllCities([]) + fetch(`https://api.siliconpin.com/v3/list/country/city/?country=${countryValue.value}&state=${stateCode.value}`).then(res => res.json()) + .then(data => { + console.log("handleSelectAllStates:", data, options) + let newData = data && data.length > 0 && data.map(n => { + return { + label: n.name, + value: n.name + + } + }) + setAllCities(newData) + }) + } + const selectCountry = countryValue => { + setAllStates([]) + fetch(`https://api.siliconpin.com/v3/list/country/state/?country=${countryValue.value}`).then(res => res.json()) + .then(data => { + console.log("countryValue:", data, options) + let newData = data && data.length > 0 && data.map(n => { + return { + label: n.name, + value: n.iso2 + + } + }) + setAllStates(newData) + setAllCities([]) + }) + setCountryValue(countryValue) } @@ -86,7 +119,7 @@ export default function addUserForm() { let newAllLang = [...allLanguage] newAllLang[idx].value = true - + if ([typeParent, "teacher"].includes(currentType)) { let counter = 0 newAllLang.forEach((n, idx) => { @@ -153,6 +186,22 @@ export default function addUserForm() { name="country" instanceId={useId()} options={options} value={countryValue} onChange={selectCountry}/> + {allStates && allStates.length > 0 &&