Skip to content

Commit f70ba74

Browse files
authored
Update README.md
1 parent 6155134 commit f70ba74

File tree

1 file changed

+55
-35
lines changed

1 file changed

+55
-35
lines changed

README.md

Lines changed: 55 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -20,49 +20,68 @@ If you are looking for Country Phone Code Picker for Jetpack Compose you can use
2020
// With Country Phone Code
2121
@Composable
2222
fun SelectCountryWithCountryCode() {
23-
var selectedCountry by rememberSaveable { mutableStateOf(getDefaultCountryCode(this)) }
23+
val getDefaultLangCode = getDefaultLangCode() // Auto detect language
24+
val getDefaultPhoneCode = getDefaultPhoneCode() // Auto detect phone code : +90
25+
var phoneCode by rememberSaveable { mutableStateOf(getDefaultPhoneCode) }
2426
val phoneNumber = rememberSaveable { mutableStateOf("") }
25-
var defaultCountry by rememberSaveable { mutableStateOf(getDefaultCountry(this))}
27+
var defaultLang by rememberSaveable { mutableStateOf(getDefaultLangCode) }
28+
var verifyText by remember { mutableStateOf("") }
29+
var isValidPhone by remember { mutableStateOf(true) }
30+
Column(
31+
modifier = Modifier.padding(16.dp)
32+
) {
33+
Text(
34+
text = verifyText,
35+
fontWeight = FontWeight.Bold,
36+
modifier = Modifier
37+
.fillMaxWidth()
38+
.wrapContentSize(Alignment.Center)
39+
)
40+
TogiCountryCodePicker(
41+
pickedCountry = {
42+
phoneCode = it.countryPhoneCode
43+
defaultLang = it.countryCode
44+
},
45+
defaultCountry = getLibCountries().single { it.countryCode == defaultLang },
46+
focusedBorderColor = MaterialTheme.colors.primary,
47+
unfocusedBorderColor = MaterialTheme.colors.primary,
48+
dialogAppBarTextColor = Color.Black,
49+
dialogAppBarColor = Color.White,
50+
error = isValidPhone,
51+
text = phoneNumber.value,
52+
onValueChange = { phoneNumber.value = it }
53+
)
2654

27-
TogiCountryCodePicker(
28-
pickedCountry = {
29-
selectedCountry = it.countryPhoneCode
30-
defaultCountry = it.countryCode
55+
val fullPhoneNumber = "$phoneCode${phoneNumber.value}"
56+
val checkPhoneNumber = checkPhoneNumber(
57+
phone = phoneNumber.value,
58+
fullPhoneNumber = fullPhoneNumber,
59+
countryCode = defaultLang
60+
)
61+
Button(
62+
onClick = {
63+
verifyText = if (checkPhoneNumber) {
64+
isValidPhone = true
65+
"Phone Number Correct"
66+
} else {
67+
isValidPhone = false
68+
"Phone Number is Wrong"
3169

32-
},
33-
defaultCountry = getLibCountries().single { it.countryCode == defaultCountry },
34-
dialogAppBarTextColor = Color.Black,
35-
dialogAppBarColor = Color.White,
36-
text = phoneNumber.value,
37-
onValueChange = { phoneNumber.value = it }
38-
)
70+
}
71+
},
72+
modifier = Modifier.fillMaxWidth()
73+
.padding(16.dp)
74+
.height(60.dp)
75+
) {
76+
Text(text = "Phone Verify")
77+
}
78+
}
79+
}
3980

4081
}
4182
```
4283

4384

44-
```kotlin
45-
// Without Country Phone Code
46-
@Composable
47-
fun SelectCountryWithoutCountryCode() {
48-
var selectedCountry by rememberSaveable { mutableStateOf(getDefaultCountryCode(this)) }
49-
val phoneNumber = rememberSaveable { mutableStateOf("") }
50-
var defaultCountry by rememberSaveable { mutableStateOf(getDefaultCountry(this))}
51-
52-
TogiCountryCodePicker(
53-
pickedCountry = {
54-
selectedCountry = it.countryPhoneCode
55-
defaultCountry = it.countryCode
56-
},
57-
defaultCountry = getLibCountries().single { it.countryCode == defaultCountry},
58-
showCountryCode = false,
59-
text = phoneNumber.value,
60-
onValueChange = { phoneNumber.value = it }
61-
)
62-
63-
Text(text = "Number with * : $selectedCountry${phoneNumber.value}")
64-
}
65-
```
6685

6786
<h3><- ********* Extras ********* -></h3>
6887

@@ -99,6 +118,7 @@ Step 2. Add the dependency
99118

100119
<br>
101120
<div class="row">
121+
<img src="screenshots/error.gif" width="300">
102122
<img src="screenshots/shot_screen.gif" width="300">
103123
<img src="screenshots/1.jpg" width="300">
104124
<img src="screenshots/2.jpg" width="300">

0 commit comments

Comments
 (0)