Peaufiner et localization
This commit is contained in:
@@ -4,23 +4,32 @@ import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.ElevatedButton
|
||||
import androidx.compose.material3.ElevatedCard
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextField
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Brush
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.input.pointer.motionEventSpy
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
@@ -29,6 +38,7 @@ import androidx.compose.ui.unit.sp
|
||||
import com.example.tpfilrouge.ui.theme.TpFilRougeTheme
|
||||
import com.example.tpfilrouge.R
|
||||
import com.example.tpfilrouge.ui.theme.EniBackgroundPage
|
||||
import com.example.tpfilrouge.ui.theme.EniButton
|
||||
import com.example.tpfilrouge.ui.theme.EniTextField
|
||||
|
||||
class LoginActivity : ComponentActivity() {
|
||||
@@ -47,19 +57,29 @@ fun LoginActivityPage() {
|
||||
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
|
||||
Box(modifier = Modifier.padding(innerPadding)) {
|
||||
EniBackgroundPage()
|
||||
Column(modifier = Modifier.padding(40.dp)) {
|
||||
Text(
|
||||
text = "Login", textAlign = TextAlign.Center,
|
||||
fontSize = 46.sp,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 80.dp)
|
||||
Column(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
modifier = Modifier.padding(40.dp)) {
|
||||
Image(
|
||||
painter = painterResource(id=R.drawable.login_user),
|
||||
contentDescription = "Logo Login",
|
||||
modifier = Modifier.padding(vertical = 40.dp))
|
||||
Text(text = stringResource(R.string.aware_login),
|
||||
modifier = Modifier.padding(vertical = 40.dp),
|
||||
textAlign = TextAlign.Center,
|
||||
style = TextStyle(color = Color(0xCCFFFFFF))
|
||||
)
|
||||
EniTextField("Email")
|
||||
EniTextField("Password")
|
||||
ElevatedButton(onClick = {}, modifier = Modifier.fillMaxWidth()) {
|
||||
Text(text = "Connexion")
|
||||
}
|
||||
EniTextField(stringResource(R.string.email))
|
||||
EniTextField(stringResource(R.string.password))
|
||||
EniButton(stringResource(R.string.connection))
|
||||
EniButton(stringResource(R.string.forget_password))
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Text(text = stringResource(R.string.dont_account),
|
||||
modifier = Modifier.padding(vertical = 10.dp),
|
||||
textAlign = TextAlign.Center,
|
||||
style = TextStyle(color = Color(0xCCFFFFFF))
|
||||
)
|
||||
EniButton(stringResource(R.string.register_now))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.example.tpfilrouge.ui.theme.EniButton
|
||||
import com.example.tpfilrouge.ui.theme.EniTextField
|
||||
import com.example.tpfilrouge.ui.theme.TpFilRougeTheme
|
||||
|
||||
@@ -46,9 +47,7 @@ fun ResetPasswordActivityPage() {
|
||||
.padding(vertical = 80.dp)
|
||||
)
|
||||
EniTextField("Email")
|
||||
ElevatedButton(onClick = {}, modifier = Modifier.fillMaxWidth()) {
|
||||
Text(text = "Envoyer le lien de récupération")
|
||||
}
|
||||
EniButton("Envoyer le lien de récupération")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.example.tpfilrouge.ui.theme.EniButton
|
||||
import com.example.tpfilrouge.ui.theme.EniTextField
|
||||
import com.example.tpfilrouge.ui.theme.TpFilRougeTheme
|
||||
|
||||
@@ -51,9 +52,7 @@ fun SignUpActivityPage() {
|
||||
EniTextField("City Code")
|
||||
EniTextField("City")
|
||||
EniTextField("Phone Number")
|
||||
ElevatedButton(onClick = {}, modifier = Modifier.fillMaxWidth()) {
|
||||
Text(text = "Sign In")
|
||||
}
|
||||
EniButton("Sign Up")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,28 @@
|
||||
package com.example.tpfilrouge.ui.theme
|
||||
|
||||
import androidx.compose.foundation.BorderStroke
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.material3.Button
|
||||
import androidx.compose.material3.ButtonDefaults
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextField
|
||||
import androidx.compose.material3.TextFieldDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Brush
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.layout.ContentScale
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.example.tpfilrouge.R
|
||||
|
||||
class AppTheme {
|
||||
@@ -21,10 +33,42 @@ fun HintText(label : String){
|
||||
Text(text = label, style = TextStyle(color = Color.Gray))
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EniButton(label: String){
|
||||
Button(onClick = {},
|
||||
border = BorderStroke(3.dp, Color(0x77FFFFFF)),
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
.padding(vertical = 10.dp),
|
||||
contentPadding = PaddingValues(),
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
containerColor = Color.Transparent
|
||||
)
|
||||
) {
|
||||
Box(contentAlignment = Alignment.Center,
|
||||
modifier =
|
||||
Modifier.background(brush = Brush.linearGradient(listOf(
|
||||
Color(0xFF8BC2FF),
|
||||
Color(0xFFA670B8),
|
||||
)))
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 15.dp)
|
||||
) {
|
||||
Text(label)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EniTextField(label : String){
|
||||
TextField(value = "", onValueChange = {}, modifier = Modifier.fillMaxWidth(),
|
||||
placeholder = { HintText(label) })
|
||||
placeholder = { HintText(label) },
|
||||
colors = TextFieldDefaults.colors(
|
||||
unfocusedContainerColor = Color(0x44000000),
|
||||
unfocusedIndicatorColor = Color.Transparent,
|
||||
focusedIndicatorColor = Color.Transparent
|
||||
),
|
||||
shape = RoundedCornerShape(40.dp)
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
||||
BIN
app/src/main/res/drawable/login_user.png
Normal file
BIN
app/src/main/res/drawable/login_user.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -2,4 +2,11 @@
|
||||
<string name="app_name">TpFilRouge</string>
|
||||
<string name="title_activity_sign_up">SignUpActivity</string>
|
||||
<string name="title_activity_reset_password">ResetPasswordActivity</string>
|
||||
<string name="aware_login">Please be aware when you enter credentials in the login page</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="password">Password</string>
|
||||
<string name="connection">Connection</string>
|
||||
<string name="forget_password">I forget password</string>
|
||||
<string name="dont_account">Don\'t have any account ?</string>
|
||||
<string name="register_now">Register Now</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user