4 Commits

Author SHA1 Message Date
bobmw 3a2e30bf2d fix: persist city in initial state 8 months ago
bobmw 13760a1d45 fix(RegisterScreen): set-city-field-required 8 months ago
bobmw 83af2bc7d0 fix: set-city-field-required 8 months ago
bobmw 1db7a37861 fix: remove-required-institucional-name 8 months ago
  1. 3
      src/app/screens/RegisterScreen.js
  2. 19
      src/app/screens/UpdateUserInfoScreen.js

3
src/app/screens/RegisterScreen.js

@ -161,11 +161,12 @@ function StatePicker({ name }) {
} }
function CityPicker({ name }) { function CityPicker({ name }) {
const { values } = useFormikContext();
const { values, setValues } = useFormikContext();
const state = values["state"]; const state = values["state"];
useEffect(() => { useEffect(() => {
state && setItems(statesToCities[state].cities); state && setItems(statesToCities[state].cities);
setValues({ ...values, city: "" });
}, [state]); }, [state]);
const [items, setItems] = useState([]); const [items, setItems] = useState([]);

19
src/app/screens/UpdateUserInfoScreen.js

@ -88,15 +88,23 @@ function MaterialCommunityIconsCustom({
} }
function CityPicker({ name }) { function CityPicker({ name }) {
const { values } = useFormikContext();
const [items, setItems] = useState([]);
const [isInitialRender, setIsInitialRender] = useState(true);
const { values, setValues } = useFormikContext();
const state = values["state"]; const state = values["state"];
useEffect(() => { useEffect(() => {
state && setItems(statesToCities[state].cities);
if (isInitialRender) {
state && setItems(statesToCities[state].cities);
setIsInitialRender(false);
} else {
state && setItems(statesToCities[state].cities);
setValues({ ...values, city: "" });
}
}, [state]); }, [state]);
const [items, setItems] = useState([]);
return ( return (
<SearchablePicker <SearchablePicker
name={name} name={name}
@ -241,8 +249,7 @@ export default function UpdateUserInfoScreen({ route, navigation }) {
.required("O nome é obrigatório") .required("O nome é obrigatório")
.matches(/[a-zA-Z]/, "O nome só pode conter letras"), .matches(/[a-zA-Z]/, "O nome só pode conter letras"),
state: Yup.string().required("O estado é obrigatório"), state: Yup.string().required("O estado é obrigatório"),
city: Yup.string().required("A cidade é obrigatória"),
institutionName: Yup.string().required("A instituição é obrigatória"),
city: Yup.string().required("A cidade é obrigatória")
}); });
const passwordSchema = Yup.object().shape({ const passwordSchema = Yup.object().shape({

Loading…
Cancel
Save