diff --git a/src/views/PrincipalDistributors/addPrincipalDistributor.js b/src/views/PrincipalDistributors/addPrincipalDistributor.js
index c0f48dc..875b039 100644
--- a/src/views/PrincipalDistributors/addPrincipalDistributor.js
+++ b/src/views/PrincipalDistributors/addPrincipalDistributor.js
@@ -46,31 +46,29 @@ const AddPrincipalDistributor = () => {
const [selectedState, setSelectedState] = useState(null);
const [selectedCity, setSelectedCity] = useState(null);
- useEffect(() => {
- const fetchStates = async () => {
- const states = State.getStatesOfCountry("IN").map((state) => ({
- label: state.name,
- value: state.isoCode,
- }));
- setStateOptions(states);
- };
- fetchStates();
- }, []);
+ // Fetch all available states on mount
+ useEffect(() => {
+ const states = State.getStatesOfCountry("IN").map((state) => ({
+ label: state.name,
+ value: state.isoCode,
+ }));
+ setStateOptions(states);
+}, []);
- useEffect(() => {
- const fetchCities = async () => {
- if (selectedState) {
- const cities = City.getCitiesOfState("IN", selectedState.value).map(
- (city) => ({
- label: city.name,
- value: city.name,
- })
- );
- setCityOptions(cities);
- }
- };
- fetchCities();
- }, [selectedState]);
+// Fetch city options whenever selected state changes
+useEffect(() => {
+ if (selectedState) {
+ const cities = City.getCitiesOfState("IN", selectedState.value).map(
+ (city) => ({
+ label: city.name,
+ value: city.name,
+ })
+ );
+ setCityOptions(cities);
+ } else {
+ setCityOptions([]); // Reset cities if no state selected
+ }
+}, [selectedState]);
const handleInputChange = (e) => {
setUser({ ...user, [e.target.name]: e.target.value });
@@ -82,10 +80,21 @@ const AddPrincipalDistributor = () => {
const handleStateChange = (event, newValue) => {
setSelectedState(newValue);
+ setData((prev) => ({
+ ...prev,
+ state: newValue ? newValue.label : "",
+ city: "",
+ }));
+ setSelectedCity(null); // Clear city when state changes
+ setCityOptions([]); // Reset city options
};
const handleCityChange = (event, newValue) => {
setSelectedCity(newValue);
+ setData((prev) => ({
+ ...prev,
+ city: newValue ? newValue.label : "",
+ }));
};
const handleFormSubmit = async (e) => {
@@ -97,8 +106,12 @@ const AddPrincipalDistributor = () => {
!user.name ||
!user.email ||
!user.phone ||
- !selectedState ||
- !selectedCity ||
+ !data.panNumber ||
+ !data.tradeName ||
+ !data.gstNumber ||
+ !data.country ||
+ !data.state ||
+ !data.city ||
!data.street ||
!data.postalCode
) {
@@ -124,8 +137,10 @@ const AddPrincipalDistributor = () => {
Name: user.name,
phoneNumber: user.phone,
isDefault: true,
- state: selectedState.label, // Send selected state label
- city: selectedCity.label, // Send selected city label
+ state: data.state,
+ city: data.city,
+ // state: selectedState.label, // Send selected state label
+ // city: selectedCity.label, // Send selected city label
},
{
headers: {
@@ -421,7 +436,7 @@ const AddPrincipalDistributor = () => {
State*
-
+
{
fullWidth
variant="outlined"
label="Select State"
- error={!selectedState}
- helperText={!selectedState ? "Select a state" : null}
+ // error={!selectedState}
+ // helperText={!selectedState ? "Select a state" : null}
/>
)}
/>
+
+
+
{/* City */}
@@ -453,7 +480,7 @@ const AddPrincipalDistributor = () => {
City*
-
+
{
fullWidth
variant="outlined"
label="Select City"
- error={!selectedCity}
- helperText={!selectedCity ? "Select a city" : null}
+ // error={!selectedCity}
+ // helperText={!selectedCity ? "Select a city" : null}
/>
)}
/>
+
+
+
{/* Street */}
diff --git a/src/views/RetailDistributors/EditRetailDistributor.js b/src/views/RetailDistributors/EditRetailDistributor.js
index a4c1cfb..9626646 100644
--- a/src/views/RetailDistributors/EditRetailDistributor.js
+++ b/src/views/RetailDistributors/EditRetailDistributor.js
@@ -76,6 +76,8 @@ const EditRetailDistributor = () => {
}, [selectedState]);
const handleInputChange = (e) => {
+ // console.log(e.target.name, e.target.value);
+ // console.log(user);
setUser({ ...user, [e.target.name]: e.target.value });
};
@@ -571,11 +573,11 @@ const EditRetailDistributor = () => {
{
{
const [selectedCity, setSelectedCity] = useState(null);
const [errors, setErrors] = useState({});
- useEffect(() => {
- const fetchStates = async () => {
- const states = State.getStatesOfCountry("IN").map((state) => ({
- label: state.name,
- value: state.isoCode,
- }));
- setStateOptions(states);
- };
- fetchStates();
- }, []);
+ // Fetch all available states on mount
+ useEffect(() => {
+ const states = State.getStatesOfCountry("IN").map((state) => ({
+ label: state.name,
+ value: state.isoCode,
+ }));
+ setStateOptions(states);
+}, []);
- useEffect(() => {
- const fetchCities = async () => {
- if (selectedState) {
- const cities = City.getCitiesOfState("IN", selectedState.value).map(
- (city) => ({
- label: city.name,
- value: city.name,
- })
- );
- setCityOptions(cities);
- }
- };
- fetchCities();
- }, [selectedState]);
+// Fetch city options whenever selected state changes
+useEffect(() => {
+ if (selectedState) {
+ const cities = City.getCitiesOfState("IN", selectedState.value).map(
+ (city) => ({
+ label: city.name,
+ value: city.name,
+ })
+ );
+ setCityOptions(cities);
+ } else {
+ setCityOptions([]); // Reset cities if no state selected
+ }
+}, [selectedState]);
const handleInputChange = (e) => {
setUser({ ...user, [e.target.name]: e.target.value });
@@ -82,10 +80,21 @@ const AddRetailDistributor = () => {
const handleStateChange = (event, newValue) => {
setSelectedState(newValue);
+ setUser((prev) => ({
+ ...prev,
+ state: newValue ? newValue.label : "",
+ city: "",
+ }));
+ setSelectedCity(null); // Clear city when state changes
+ setCityOptions([]); // Reset city options
};
const handleCityChange = (event, newValue) => {
setSelectedCity(newValue);
+ setUser((prev) => ({
+ ...prev,
+ city: newValue ? newValue.label : "",
+ }));
};
const handleFileChange = (e) => {
@@ -154,8 +163,8 @@ const AddRetailDistributor = () => {
formData.append("email", user.email);
formData.append("trade_name", user.trade_name);
formData.append("address", user.address);
- formData.append("state", selectedState.label);
- formData.append("city", selectedCity.value);
+ formData.append("state", user.state);
+ formData.append("city", user.city);
formData.append("district", user.district);
formData.append("pincode", user.pincode);
formData.append("mobile_number", user.mobile_number);
@@ -424,7 +433,7 @@ const AddRetailDistributor = () => {
State*
-
+
{
)}
/>
+
+
+
{/* City */}
@@ -452,7 +473,7 @@ const AddRetailDistributor = () => {
City*
-
+
{
)}
/>
+
+
+
{/* District */}