import {Grid, Typography, TextField, Box, InputLabel, Select, MenuItem, Avatar, SelectChangeEvent} from '@mui/material'; import axios from 'axios'; import { MuiTelInput, matchIsValidTel } from 'mui-tel-input' import { useEffect, useState } from 'react'; interface Paises { name: { common: string; }; flags: { svg: string; }; } export const DadosPessoais = ( {formik}: any ) => { const [selectedValue, setSelectedValue] = useState('Portugal'); const handleChange2 = (event: SelectChangeEvent) => { setSelectedValue(event.target.value as string); formik.setFieldValue( 'pais', event.target.value); }; const handleChange = (newValue: string) => { formik.setFieldValue('telemovelDP', newValue); const isValid = matchIsValidTel(newValue); if (!isValid) { formik.setFieldError('telemovelDP', 'Por favor insira um número de telemóvel válido'); } else { formik.setFieldError('telemovelDP', ''); // Clear error if valid } }; const [countries, setCountries] = useState([]); useEffect(() => { // Fetch countries data from the API axios.get('https://restcountries.com/v3.1/all?fields=name,flags,postalCode') .then(response => { const sortedCountries = response.data.sort((a, b) => a.name.common.localeCompare(b.name.common)); setCountries(sortedCountries); }) .catch(error => { console.error('Error fetching countries:', error); }); }, []); return ( Dados Pessoais País ); };