Update image dimensions and placeholder text across multiple components

This commit is contained in:
Don Wilfried 2025-02-21 10:59:59 +01:00
parent e122bfdb05
commit daa2e8ed33
17 changed files with 228 additions and 118 deletions

View File

@ -651,7 +651,7 @@
"PRINCIPAL_AMOUNT": "Principal amount",
"DATE_AVIS_IMPOSITION": "Tax notice date",
"TEXT_NETWORK_UNABLE_CHOOSE_ANOTHER": "This network is inactive, please choose another",
"ENTER_SPONSOR_CODE": "Renseignez votre code parrain",
"ENTER_SPONSOR_CODE": "Renseignez votre code hiérarchique ou taxe",
"NOM_SOCIETE": "Society name",
"TAKE_My_POSITION": "Retreive position",
"CREATE_ACTIF": "Create asset",

View File

@ -148,9 +148,9 @@
"ANNEE_TAXE_N_1": "Année taxé payée N-1",
"ANNEE_TAXE_N_2": "Année taxé payée N-2",
"TYPE_ACTIVITE": "Type d'activité",
"TECHNICAL_AGREMENT": "Agrément technique",
"IMMATRICULATION_DGI": "Immatriculation DGI",
"INFORMATION_FICHE_CIRCUIT": "Information fiche circuit",
"TECHNICAL_AGREMENT": "Agrément technique ou Licence",
"IMMATRICULATION_DGI": "NIU",
"INFORMATION_FICHE_CIRCUIT": "Fiche d'identification",
"OTHERS_INFORMATIONS": "Autres informations",
"CREATE_GROUP": "Créer un groupe",
"MANAGE_GROUP": "Gérer le groupe",
@ -303,15 +303,15 @@
"SUPER_ADMIN": "Super administrateur",
"GEOLOCATED": "Agent géo-localisé",
"DELETE_GEOLOCATED_USER": "Supprimer",
"ADDRESS": "Adresse",
"ADDRESS": "Adresse EX:TotalEnergies Bonateki",
"CREDIT": "Crédit",
"NEXT": "Suivant",
"PREVIOUS": "Précédent",
"SPONSOR_CODE": "Code réseau de taxe",
"CODE_PARRAIN": "Code parrain",
"CODE_PARRAIN": "Code hiérarchique ou taxe",
"CODE_SPONSOR": "Code sponsor",
"SOLDE_UNVAIBLE": "solde non disponible",
"TEXT_BIG_CREATE_AGENT_1": "Inscrivez-vous en tant qu'agent",
"TEXT_BIG_CREATE_AGENT_1": "Créer un acteur",
"EMAIL": "Email",
"COUNTRY": "Pays",
"LOADING_INFO": "Chargement des informations...",
@ -428,7 +428,7 @@
"WAY": "Itinéraire",
"ADD_NETWORK": "Ajouter réseau de taxe",
"POINT_NUMBER": "Nombres de points",
"SUPERIOR_CODE": "Code parrain",
"SUPERIOR_CODE": "Code hiérarchique ou taxe",
"ADD_SUCCES": "Ajout reussi",
"ADD_SUCCESS_TEXT": "La taxe a été ajoutée avec succès ",
"MEMBER_CODE": "Code membre",
@ -589,7 +589,7 @@
"UNABLE_GET_INFORMATION_TEXT": "Vérifiez que votre GPS est activé et mis en mode haute precision et relancez iLink City",
"TITLE_HELP_SOON": "Aide non disponible !",
"YOUR_NETWORK": "Sélectionner votre réseau",
"YOUR_NETWORK_SELECTED": "Votre réseau",
"YOUR_NETWORK_SELECTED": "Classe de la taxe",
"UNIT_PER_TAXE_UNIT_COUNT": "Taxe par unité",
"HELP_SOON": "Un tutoriel vous aidant dans la compréhension des fonctionnalités de l'application vous sera bientôt mis à disposition.",
"UPLOAD_PHOTO": "Chargement de la photo",
@ -658,7 +658,7 @@
"PRINCIPAL_AMOUNT": "Montant principal",
"DATE_AVIS_IMPOSITION": "Date avis imposition",
"TEXT_NETWORK_UNABLE_CHOOSE_ANOTHER": "Ce réseau n'est pas actif, veuillez choisir un autre",
"ENTER_SPONSOR_CODE": "Renseignez votre code parrain",
"ENTER_SPONSOR_CODE": "Renseignez votre code hiérarchique ou taxe",
"NOM_SOCIETE": "Nom de la société",
"TAKE_My_POSITION": "Récupération de votre position",
"CREATE_ACTIF": "Créer un actif",

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -420,7 +420,10 @@ export default class AddNetwork extends Component {
<ScrollView style={{flex: 1, paddingTop: 30}}>
<View style={style.appContainer}>
<Image source={require('../../assets/img/icon3.png')}
style={{width: responsiveWidth(90), resizeMode: "contain"}}/>
style={{width: responsiveWidth(90), resizeMode: "contain",
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
}}/>
</View>
<Text style={style.title}>{I18n.t('ADD_NETWORK')}</Text>

View File

@ -52,7 +52,10 @@ export default class About extends React.Component {
<View style={{ flex: 6, alignItems: "center", justifyContent: "space-evenly" }}>
<Image resizeMode="contain" style={{ width: responsiveWidth(50), height: responsiveHeight(20) }} source={require("../../assets/img/ilinklogo.png")} />
<Image resizeMode="contain" style={{ width: responsiveWidth(90) }} source={require("../../assets/img/icon3.png")} />
<Image resizeMode="contain" style={{ width: responsiveWidth(90),
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
}} source={require("../../assets/img/icon3.png")} />
<Text style={{ color: "white", margin: 10, fontSize: 15, alignSelf: "center" }}>{I18n.t("ABOUT_TEXT")}</Text>
</View>

View File

@ -105,6 +105,7 @@ const styles = StyleSheet.create({
},
img_style: {
resizeMode: 'contain',
width: responsiveWidth(90)
width: responsiveWidth(90),
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
}
});

View File

@ -126,7 +126,9 @@ export default class ActivateAccount extends Component {
alignItems: 'center',
}}>
<View style={{flexDirection: 'row', alignItems: 'center', justifyContent: 'center'}}>
<Image style={{width: responsiveWidth(90), resizeMode: 'contain',}}
<Image style={{width: responsiveWidth(90), resizeMode: 'contain',
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
}}
source={require('../../assets/img/icon3.png')}/>
</View>
@ -177,7 +179,9 @@ export default class ActivateAccount extends Component {
alignItems: 'center',
}}>
<View style={{flexDirection: 'row', alignItems: 'center', justifyContent: 'center'}}>
<Image style={{width: responsiveWidth(90), resizeMode: 'contain',}}
<Image style={{width: responsiveWidth(90), resizeMode: 'contain',
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
}}
source={require('../../assets/img/icon3.png')}/>
</View>
@ -284,7 +288,9 @@ export default class ActivateAccount extends Component {
alignItems: 'center',
}}>
<View style={{flexDirection: 'row', alignItems: 'center', justifyContent: 'center'}}>
<Image style={{width: responsiveWidth(90), resizeMode: 'contain',}}
<Image style={{width: responsiveWidth(90), resizeMode: 'contain',
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
}}
source={require('../../assets/img/icon3.png')}/>
</View>

View File

@ -124,6 +124,7 @@ class CreateUserStep extends Component {
latlng: [],
id_company_type: null,
identification_number: null,
remainingCharacters: 14,
trade_registry: null,
tabTaxe: [0],
taxes_selected: [],
@ -366,7 +367,7 @@ class CreateUserStep extends Component {
}
}, (e) => {
Alert.alert(I18n.t('TITLE_PROBLE_COME'), "Impossible de recuperer les informations du code parrain", [{
Alert.alert(I18n.t('TITLE_PROBLE_COME'), "Impossible de recuperer les informations du code hiérarchique ou taxe", [{
text: "Reesayer",
onPress: () => this.watchLocation(param)
}])
@ -804,7 +805,7 @@ class CreateUserStep extends Component {
backgroundColor: 'white'
}}>
<Dropdown
label={I18n.t('TAXES')}
label={`${I18n.t('TAXES')} *`}
data={this.state.result.taxes}
useNativeDriver={true}
valueExtractor={(value) => {
@ -1229,7 +1230,7 @@ class CreateUserStep extends Component {
null}
</MapView>
</Animatable.View>
<TouchableOpacity style={{flexDirection: 'row', alignItems: 'center'}}>
{/* <TouchableOpacity style={{flexDirection: 'row', alignItems: 'center'}}>
<Image
style={{
@ -1244,7 +1245,7 @@ class CreateUserStep extends Component {
marginTop: 10, marginRight: responsiveWidth(6), color: 'white', fontWeight: 'bold'
}}
>{this.state.textadress !== undefined ? this.state.textadress : I18n.t('TAKE_MY_POSITION')}</Text>
</TouchableOpacity>
</TouchableOpacity> */}
</>
}
<Animatable.View ref={(comp) => {
@ -1336,8 +1337,9 @@ handleTaxSlection = (selectedTax) => {
paddingRight: 20,
backgroundColor: 'white'
}}>
{console.log("this.state.result===>>",this.state.result)}
<Dropdown
label={I18n.t('SOCIETY_TYPE')}
label={`${I18n.t('SOCIETY_TYPE')} *`}
data={this.state.result !== null ? this.state.result.companies_types : []}
useNativeDriver={true}
valueExtractor={(value) => {
@ -1463,13 +1465,27 @@ handleTaxSlection = (selectedTax) => {
<Animatable.View>
<Fumi iconClass={FontAwesomeIcon}
iconName={'lock'}
label={I18n.t('IMMATRICULATION_DGI')}
label={`${I18n.t('IMMATRICULATION_DGI')}`}
iconColor={'#f95a25'}
iconSize={20}
style={styles.input}
maxLength={14}
keyboardType="default"
autoCapitalize="characters"
onChangeText={(text) => {
this.setState({identification_number: text})
}}/>
// Update the identification_number state
this.setState({
identification_number: text,
remainingCharacters: 14 - text.length // Update the remaining characters
});
}}/>
<Text style={{
color: 'white',
marginLeft: responsiveWidth(5),
marginTop: 5
}}>
{this.state.remainingCharacters} caractères restants
</Text>
</Animatable.View>
<Animatable.View>
@ -1501,7 +1517,7 @@ handleTaxSlection = (selectedTax) => {
}}>
<Fumi iconClass={FontAwesomeIcon}
iconName={'user-o'}
label={I18n.t('NOM_RESPONSABLE')}
label={`${I18n.t('NOM_RESPONSABLE')} *`}
iconColor={'#f95a25'}
iconSize={20}
style={styles.input}
@ -1525,7 +1541,7 @@ handleTaxSlection = (selectedTax) => {
backgroundColor: 'white'
}}>
<Dropdown
label={I18n.t("COMMUNE_SIEGE_SOCIAL")}
label={`${I18n.t("COMMUNE_SIEGE_SOCIAL")} *`}
data={this.state.result.municipalities}
useNativeDriver={true}
valueExtractor={(value) => {
@ -1557,7 +1573,7 @@ handleTaxSlection = (selectedTax) => {
backgroundColor: 'white'
}}>
<Dropdown
label={I18n.t('ARRONDISSEMENT')}
label={`${I18n.t('ARRONDISSEMENT')} *`}
data={this.result.districts}
useNativeDriver={true}
valueExtractor={(value) => {
@ -1578,7 +1594,7 @@ handleTaxSlection = (selectedTax) => {
}}>
<Fumi iconClass={FontAwesomeIcon}
iconName={'map-marker'}
label={I18n.t('QUARTIER_COMMUNE')}
label={`${I18n.t('QUARTIER_COMMUNE')} *`}
iconColor={'#f95a25'}
iconSize={20}
style={styles.input}
@ -1626,8 +1642,16 @@ handleTaxSlection = (selectedTax) => {
style={styles.checkbox}/>
<Text style={styles.label}>{I18n.t('IRPP')}</Text>
</View>
<View
style={styles.checkboxContainer}>
<CheckBox
onValueChange={value => this.setState({IRPP: value})}
value={this.state.IRPP}
style={styles.checkbox}/>
<Text style={styles.label}>Licence</Text>
</View>
{/* <View
style={styles.checkboxContainer}>
<CheckBox
onValueChange={value => this.setState({year_tax_paid_N: value})}
@ -1635,12 +1659,12 @@ handleTaxSlection = (selectedTax) => {
style={styles.checkbox}/>
<Text
style={styles.label}>{I18n.t('ANNEE_TAXE')} {Number(year.getFullYear() - 1)}</Text>
</View>
</View> */}
</View>
<View style={{
{/* <View style={{
flexDirection: "row",
paddingLeft: 5,
paddingRight: 5,
@ -1657,9 +1681,9 @@ handleTaxSlection = (selectedTax) => {
<Text
style={styles.label}>{I18n.t('ANNEE_TAXE')} {Number(year.getFullYear() - 2)}</Text>
</View>
</View>
</View> */}
<View style={{
{/* <View style={{
flexDirection: "row",
paddingLeft: 5,
paddingRight: 5,
@ -1676,7 +1700,7 @@ handleTaxSlection = (selectedTax) => {
<Text
style={styles.label}>{I18n.t('ANNEE_TAXE')} {Number(year.getFullYear() - 3)}</Text>
</View>
</View>
</View> */}
</>
<Button style={styles.btnvalide} textStyle={styles.textbtnvalide}

View File

@ -52,7 +52,7 @@ class FilteredList extends Component {
>
<TextInput
style={{ padding: 18, borderBottomWidth: 1 }}
placeholder="Quel est votre activité..."
placeholder="Quelle est votre activité *"
value={searchTerm}
onChangeText={this.handleSearch}
onFilterChange={this.handleFilter}

View File

@ -95,7 +95,8 @@ const log = StyleSheet.create({
img: {
width: responsiveWidth(90),
resizeMode: 'contain',
alignSelf: 'center'
alignSelf: 'center',
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
},
title: {
color: "white",

View File

@ -167,6 +167,10 @@ export default class CreateAccount extends Component {
}}>
{I18n.t('NEXT')}
</Button>
<View style={{display:"flex", flexDirection: 'column'}}>
<Text style={styles.indication}><Text style={styles.indicationTitle}>Code Hierachique :</Text> Code entré lors de la création d'un administrateur de taxe ou d'un régisseur</Text>
<Text style={styles.indication}><Text style={styles.indicationTitle}>Code Taxe :</Text> Code entré lors de la création d'un contribuable</Text>
</View>
</ScrollView>
);
}
@ -888,6 +892,19 @@ const styles = StyleSheet.create({
textAlign: 'center',
margin: 5,
},
indication: {
color: 'white',
fontSize: 14,
marginLeft: 20,
marginRight: 20,
marginBottom: 10,
},
indicationTitle: {
color: 'white',
fontSize: 14,
marginLeft: 20,
fontWeight: '600',
},
btnvalide: {
marginTop: 20,
marginLeft: 20,

View File

@ -120,7 +120,8 @@ export default class CreateUserStep2 extends Component {
isLoging: false,
countries: '',
selectedCountry: null,
indicatif: '',
indicatif: '+237',
country: "Cameroon",
snackVisible: false,
snackText: '',
disableNetwork: false,
@ -145,11 +146,10 @@ export default class CreateUserStep2 extends Component {
loadingUpload: false,
latitude: "",
longitude: "",
// town: this.data !== null && this.data.town ? this.data.town : {
// name: "",
// id: "2",
// indicatif: "",
// districts: []
// town: {
// name: "Douala",
// id: "38",
// indicatif: "+237"
// },
};
@ -223,11 +223,12 @@ export default class CreateUserStep2 extends Component {
}
const { category, country, dial_code, child, network } = result;
console.log("network1===>>",network)
this.setState({
result,
country,
indicatif: dial_code
// country,
// indicatif: dial_code
});
if (child) {
@ -243,10 +244,12 @@ export default class CreateUserStep2 extends Component {
} : {})
});
} else {
throw new Error("Impossible de récupérer les informations du code parrain");
throw new Error("Impossible de récupérer les informations du code hiérarchique ou taxe");
}
} else {
const networks = await getCountryNetwork(indicatif);
console.log("indicatif1===>>",indicatif)
const networks = await getCountryNetwork("+237");
console.log("network2===>>",networks)
const reseaux = Object.values(networks).filter(network => network !== "");
this.setState({
networks: reseaux,
@ -257,7 +260,7 @@ export default class CreateUserStep2 extends Component {
console.error("Erreur dans getNetworks:", error);
this.setState({ modalVisible: false });
if (error.message === "Impossible de récupérer les informations du code parrain") {
if (error.message === "Impossible de récupérer les informations du code hiérarchique ou taxe") {
Alert.alert(I18n.t('TITLE_PROBLE_COME'), error.message, [{
text: "Revenir",
onPress: () => this.props.navigation.pop()
@ -320,13 +323,13 @@ export default class CreateUserStep2 extends Component {
code_dial: country.code_dial,
code_country: country.code_country
}));
console.log("formattedCountries===>>",formattedCountries)
this.setState({
country: formattedCountries,
// country: formattedCountries,
countries: formattedCountries[0],
isLoading: false,
selectedCountry: formattedCountries[0], // Sélectionne le premier pays par défaut
indicatif: formattedCountries[0].code_dial
// indicatif: formattedCountries[0].code_dial
});
this.getNetworks(formattedCountries[0].label);
} catch (error) {
@ -338,7 +341,7 @@ export default class CreateUserStep2 extends Component {
onSelectCountry = (country) => {
this.setState({
selectedCountry: country,
indicatif: country.code_dial,
// indicatif: country.code_dial,
modalVisible: false
});
this.getNetworks(country.code_dial);
@ -386,7 +389,7 @@ export default class CreateUserStep2 extends Component {
const selectedCountry = this.state.countries[index];
this.setState({
selectedCountry: selectedCountry,
indicatif: selectedCountry.code_dial,
// indicatif: selectedCountry.code_dial,
network: null
});
this.getNetworks(selectedCountry.code_dial);
@ -456,7 +459,7 @@ export default class CreateUserStep2 extends Component {
}
}, (e) => {
Alert.alert(I18n.t('TITLE_PROBLE_COME'), "Impossible de recuperer les informations du code parrain", [{
Alert.alert(I18n.t('TITLE_PROBLE_COME'), "Impossible de recuperer les informations du code hiérarchique ou taxe", [{
text: "Reesayer",
onPress: () => this.watchLocation()
}])
@ -510,7 +513,11 @@ export default class CreateUserStep2 extends Component {
town = result[0];
} else
town = result;
this.setState({town: town});
this.setState({town: {
name: "Douala",
id: "38",
indicatif: "+237"
}});
})
} else {
getDefaultTown().then(result => {
@ -520,7 +527,11 @@ export default class CreateUserStep2 extends Component {
town = resultTowwn[0];
} else
town = resultTowwn;
this.setState({town: town});
this.setState({town: {
name: "Douala",
id: "38",
indicatif: "+237"
}});
});
})
}
@ -533,7 +544,10 @@ export default class CreateUserStep2 extends Component {
for (let i of cnt) {
if (i.code_country === shortcountry) {
found = true
this.setState({indicatif: i.code_dial, country: i.name})
this.setState({
// indicatif: i.code_dial,
country: i.name
})
this.getNetworks(i.code_dial);
}
}
@ -678,14 +692,40 @@ export default class CreateUserStep2 extends Component {
<View
style={{
width: responsiveWidth(90),
marginTop: 20,
marginTop: 10,
alignSelf: 'center',
display:"flex",
flexDirection:"row",
borderRadius: 10,
paddingLeft: 20,
paddingRight: 20,
paddingLeft: 5,
paddingRight: 5,
backgroundColor: 'white'
}}>
<Fumi
{/* <Fumi
iconClass={FontAwesomeIcon}
iconName={'flag'}
value={selectedCountry ? `${selectedCountry.code_dial}` : ''}
enabled={false}
editable={false}
style={{
width: responsiveWidth(30),
height: responsiveHeight(10),
marginLeft: responsiveWidth(5),
marginRight: responsiveWidth(5),
borderRadius: 5,
}}
/>
<Text
style={{
marginLeft: responsiveWidth(5),
marginRight: responsiveWidth(5),
color:"#00aeef",
fontSize: 18,
alignSelf: 'center'
}}>
{selectedCountry ? `${selectedCountry.label}` : ''}
</Text> */}
{/* <Fumi
iconClass={FontAwesomeIcon}
label={I18n.t('COUNTRY_CHOICE')}
// value={this.state.countries}
@ -702,7 +742,7 @@ export default class CreateUserStep2 extends Component {
this.getNetworks(selectedCountry.label);
}}
/>
/> */}
{/* <Dropdown
@ -746,6 +786,7 @@ export default class CreateUserStep2 extends Component {
<Animatable.View ref={(comp) => {
this.numanim = comp
}}>
<View style={{flexDirection: 'row', flex: 1}}>
{/* <Fumi iconClass={FontAwesomeIcon} iconName={'flag'}
value={this.state.indicatif}
@ -766,27 +807,7 @@ export default class CreateUserStep2 extends Component {
}}
/> */}
<Fumi
iconClass={FontAwesomeIcon}
iconName={'flag'}
// value={this.state.indicatif}
value={selectedCountry ? `${selectedCountry.code_dial}` : ''}
enabled={false}
editable={false}
// onChangeText={(text) => {
// let phonenum = text + (this.state.contact !== undefined ? this.state.contact : "");
// this.setState({indicatif: text, phone: phonenum});
// }}
style={{
width: responsiveWidth(30),
height: responsiveHeight(10),
alignSelf: 'center',
marginTop: responsiveHeight(2),
marginLeft: responsiveWidth(5),
marginRight: responsiveWidth(5),
borderRadius: 5,
}}
/>
<View>
<Fumi iconClass={FontAwesomeIcon} iconName={'phone'}
placeholder={I18n.t('PHONE')}
@ -803,8 +824,9 @@ export default class CreateUserStep2 extends Component {
marginTop: responsiveHeight(2),
marginRight: responsiveWidth(5),
marginLeft: responsiveWidth(5),
width: responsiveWidth(55),
width: responsiveWidth(90),
borderRadius: 5,
}}
>
@ -824,8 +846,8 @@ export default class CreateUserStep2 extends Component {
marginTop: responsiveHeight(2),
marginRight: responsiveWidth(5),
width: responsiveWidth(55),
marginLeft: responsiveWidth(5),
width: responsiveWidth(90),
borderRadius: 5,
}}
>
@ -845,22 +867,22 @@ export default class CreateUserStep2 extends Component {
borderRadius: 10,
paddingLeft: 20,
paddingRight: 20,
backgroundColor: 'white'
backgroundColor:"#ef4444",
}}
>
<Button
style={{borderColor: 'transparent'}}
<View
style={{borderColor: 'transparent',padding:15}}
isDisabled={this.state.disableNetwork}
onPress={() => {
this.setState({networksinglePickerVisible: true})
}}>
<View>
<Text style={material.subheading}>{this.state.select_network}</Text>
<Text style={{color:"#fff", fontWeight:"500"}}>{this.state.select_network}</Text>
<Text
style={material.subheading}>{this.state.network ? this.state.network.name : ""}</Text>
style={{color:"#fff", fontWeight:"600"}}>{this.state.network ? this.state.network.name : ""}</Text>
</View>
</Button>
</View>
</View>
</Animatable.View>
@ -939,7 +961,7 @@ export default class CreateUserStep2 extends Component {
null}
</MapView>
</Animatable.View>
<TouchableOpacity style={{flexDirection: 'row', alignItems: 'center'}}>
{/* <TouchableOpacity style={{flexDirection: 'row', alignItems: 'center'}}>
<Image
style={{
@ -957,7 +979,7 @@ export default class CreateUserStep2 extends Component {
fontWeight: 'bold'
}}
>{this.state.textadress !== undefined ? this.state.textadress : I18n.t('TAKE_MY_POSITION')}</Text>
</TouchableOpacity>
</TouchableOpacity> */}
</>
}
<Button style={styles.btnvalide} textStyle={styles.textbtnvalide}
@ -1042,21 +1064,25 @@ export default class CreateUserStep2 extends Component {
>
<Dropdown
label={I18n.t('COUNTRY_CHOICE')}
data={this.state.countries}
data={[{"code_country": "CM", "code_dial": "+237", "label": "Cameroon", "value": "Cameroon"}]}
useNativeDriver={true}
value={this.state.country === null ? "" :
this.state.country}
// value={this.state.country === null ? "" :
// this.state.country}
value={this.state.country}
onChangeText={(value, index, data) => {
this.setState({country: value, indicatif: value.code_dial, network: null})
this.setState({
// country: value,
// indicatif: value.code_dial,
network: null})
this.getNetworks(value.code_dial)
}}
valueExtractor={(value) => {
return value
}}
labelExtractor={(value) => {
return value.name
}}
// valueExtractor={(value) => {
// return value
// }}
// labelExtractor={(value) => {
// return value.name
// }}
/>
</View>
<Animatable.View ref={(comp) => {
@ -1069,7 +1095,7 @@ export default class CreateUserStep2 extends Component {
onChangeText={(text) => {
this.setState({indicatif: text})
// this.setState({indicatif: text})
}}
style={{
width: responsiveWidth(30),
@ -1147,25 +1173,38 @@ export default class CreateUserStep2 extends Component {
}
_onUserCreateAccount() {
console.log("logmessi===>1")
let {myPosition, textaddress, place, user, network, phone, indicatif} = this.state;
this.setState({isLoading: true})
if (user !== undefined) {
console.log("logmessi===>2")
if (this.checkOrShake(myPosition, this.mapanim)) {
console.log("logmessi===>3")
if (this.checkOrShake(phone, this.numanim)) {
console.log("logmessi===>4")
if (this.checkOrShake(network, this.networkanim)) {
console.log("logmessi===>5")
var data = {};
data.tag = "member"
data['type'] = "create_user"
data['phone'] = indicatif + phone;
data['network'] = network;
data['town'] = this.state.town;
// data['town'] = this.state.town;
data['town'] = {
name: "Douala",
id: "38",
indicatif: "+237"
}
data['latitude'] = myPosition.latitude;
data['longitude'] = myPosition.longitude;
for (let i in user) {
data[i] = user[i];
}
console.log("data :", data);
console.log("logmessi===>6",this.state.town)
createUserAccount(data).then((result) => {
console.log("logmessi===>7")
console.log("result : ", result)
console.log("Données envoyées au serveur data :", JSON.stringify(data, null, 2));
console.log("Réponse complète du serveur result :", JSON.stringify(result, null, 2));
@ -1177,7 +1216,7 @@ export default class CreateUserStep2 extends Component {
this.props.navigation.popToTop()
this.setState({isLoading: false})
}
}], {cancelable: false})
}], {cancelable: false});
} else {
if (result.error !== undefined) {
switch (result.error) {
@ -1187,7 +1226,13 @@ export default class CreateUserStep2 extends Component {
break;
default:
Alert.alert(I18n.t("CONNEXION_SUCCESSFUL"), result.error_msg
, [{text: 'OK', onPress: () => ""}], {cancelable: false})
, [{text: 'OK', onPress: () => {
this.props.navigation.popToTop();
}}], {cancelable: false})
setTimeout(() => {
this.setState({isLoading: false})
}, 1000)
}
this.setState({isLoading: false})
}

View File

@ -518,6 +518,9 @@ export class LoginUi extends Component {
</View>
</ScrollView>
<View style={style.logoContaner}>
<Image style={style.byIlinkLogo} source={require('../../../assets/img/by-ilink-world.png')}/>
</View>
</Animated.View>
@ -810,6 +813,12 @@ const style = StyleSheet.create({
},
logo: {
width: responsiveWidth(90),
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
resizeMode: "contain"
},
byIlinkLogo: {
width: responsiveWidth(30),
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
resizeMode: "contain"
},
title: {

View File

@ -240,7 +240,8 @@ const styles=StyleSheet.create({
},
logo:{
width:responsiveWidth(90),
resizeMode:'contain'
resizeMode:'contain',
height: responsiveHeight(16), // Delete this line if the image size sucks and change the width and the height of icon3.png to 257 x 112
},
lottie: {
width: 48

View File

@ -652,7 +652,7 @@
"PRINCIPAL_AMOUNT": "Principal amount",
"DATE_AVIS_IMPOSITION": "Tax notice date",
"TEXT_NETWORK_UNABLE_CHOOSE_ANOTHER": "This network is inactive, please choose another",
"ENTER_SPONSOR_CODE": "Renseignez votre code parrain",
"ENTER_SPONSOR_CODE": "Renseignez votre code hiérarchique ou taxe",
"NOM_SOCIETE": "Society name",
"TAKE_My_POSITION": "Retreive position",
"CREATE_ACTIF": "Create asset",

View File

@ -148,9 +148,9 @@
"ANNEE_TAXE_N_1": "Année taxé payée N-1",
"ANNEE_TAXE_N_2": "Année taxé payée N-2",
"TYPE_ACTIVITE": "Type d'activité",
"TECHNICAL_AGREMENT": "Agrément technique",
"IMMATRICULATION_DGI": "Immatriculation DGI",
"INFORMATION_FICHE_CIRCUIT": "Information fiche circuit",
"TECHNICAL_AGREMENT": "Agrément technique ou Licence",
"IMMATRICULATION_DGI": "NIU",
"INFORMATION_FICHE_CIRCUIT": "Fiche d'identification",
"OTHERS_INFORMATIONS": "Autres informations",
"CREATE_GROUP": "Créer un groupe",
"MANAGE_GROUP": "Gérer le groupe",
@ -303,15 +303,15 @@
"SUPER_ADMIN": "Super administrateur",
"GEOLOCATED": "Agent géo-localisé",
"DELETE_GEOLOCATED_USER": "Supprimer",
"ADDRESS": "Adresse",
"ADDRESS": "Adresse EX:TotalEnergies Bonateki",
"CREDIT": "Crédit",
"NEXT": "Suivant",
"PREVIOUS": "Précédent",
"SPONSOR_CODE": "Code réseau de taxe",
"CODE_PARRAIN": "Code parrain",
"CODE_PARRAIN": "Code hiérarchique ou taxe",
"CODE_SPONSOR": "Code sponsor",
"SOLDE_UNVAIBLE": "solde non disponible",
"TEXT_BIG_CREATE_AGENT_1": "Inscrivez-vous en tant qu'agent",
"TEXT_BIG_CREATE_AGENT_1": "Créer un administrateur un régisseur ou un contribuable",
"EMAIL": "Email",
"COUNTRY": "Pays",
"LOADING_INFO": "Chargement des informations...",
@ -428,7 +428,7 @@
"WAY": "Itinéraire",
"ADD_NETWORK": "Ajouter réseau de taxe",
"POINT_NUMBER": "Nombres de points",
"SUPERIOR_CODE": "Code parrain",
"SUPERIOR_CODE": "Code hiérarchique ou taxe",
"ADD_SUCCES": "Ajout reussi",
"ADD_SUCCESS_TEXT": "La taxe a été ajoutée avec succès ",
"MEMBER_CODE": "Code membre",
@ -590,7 +590,7 @@
"UNABLE_GET_INFORMATION_TEXT": "Vérifiez que votre GPS est activé et mis en mode haute precision et relancez iLink City",
"TITLE_HELP_SOON": "Aide non disponible !",
"YOUR_NETWORK": "Sélectionner votre réseau",
"YOUR_NETWORK_SELECTED": "Votre réseau",
"YOUR_NETWORK_SELECTED": "Classe de la taxe",
"UNIT_PER_TAXE_UNIT_COUNT": "Taxe par unité",
"HELP_SOON": "Un tutoriel vous aidant dans la compréhension des fonctionnalités de l'application vous sera bientôt mis à disposition.",
"UPLOAD_PHOTO": "Chargement de la photo",
@ -659,7 +659,7 @@
"PRINCIPAL_AMOUNT": "Montant principal",
"DATE_AVIS_IMPOSITION": "Date avis imposition",
"TEXT_NETWORK_UNABLE_CHOOSE_ANOTHER": "Ce réseau n'est pas actif, veuillez choisir un autre",
"ENTER_SPONSOR_CODE": "Renseignez votre code parrain",
"ENTER_SPONSOR_CODE": "Renseignez votre code hiérarchique ou taxe",
"NOM_SOCIETE": "Nom de la société",
"TAKE_My_POSITION": "Récupération de votre position",
"CREATE_ACTIF": "Créer un actif",