Pailette, OnClick, StartActivity
This commit is contained in:
@@ -29,7 +29,6 @@
|
||||
android:theme="@style/Theme.TpFilRouge">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.example.tpfilrouge
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
@@ -8,6 +9,7 @@ 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.BoxScope
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
@@ -28,6 +30,7 @@ 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.platform.LocalContext
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
@@ -39,6 +42,7 @@ 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.EniPage
|
||||
import com.example.tpfilrouge.ui.theme.EniTextField
|
||||
|
||||
class LoginActivity : ComponentActivity() {
|
||||
@@ -53,42 +57,53 @@ class LoginActivity : ComponentActivity() {
|
||||
|
||||
@Composable
|
||||
fun LoginActivityPage() {
|
||||
TpFilRougeTheme {
|
||||
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
|
||||
Box(modifier = Modifier.padding(innerPadding)) {
|
||||
EniBackgroundPage()
|
||||
|
||||
val context = LocalContext.current;
|
||||
|
||||
EniPage {
|
||||
Column(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
modifier = Modifier.padding(40.dp)) {
|
||||
modifier = Modifier.padding(40.dp)
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource(id=R.drawable.login_user),
|
||||
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)
|
||||
)
|
||||
Text(
|
||||
text = stringResource(R.string.aware_login),
|
||||
modifier = Modifier.padding(vertical = 40.dp),
|
||||
textAlign = TextAlign.Center,
|
||||
style = TextStyle(color = Color(0xCCFFFFFF))
|
||||
)
|
||||
EniTextField(stringResource(R.string.email))
|
||||
EniTextField(stringResource(R.string.password))
|
||||
EniButton(stringResource(R.string.connection))
|
||||
EniButton(stringResource(R.string.forget_password))
|
||||
EniButton(stringResource(R.string.connection), onClick = {})
|
||||
EniButton(stringResource(R.string.forget_password),
|
||||
onClick = {
|
||||
// Changer de page (d'activity)
|
||||
context.startActivity(Intent(context, ResetPasswordActivity::class.java))
|
||||
})
|
||||
Spacer(modifier = Modifier.weight(1f))
|
||||
Text(text = stringResource(R.string.dont_account),
|
||||
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))
|
||||
}
|
||||
}
|
||||
EniButton(stringResource(R.string.register_now),
|
||||
onClick = {
|
||||
// Changer de page (d'activity)
|
||||
context.startActivity(Intent(context, SignUpActivity::class.java))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Preview(
|
||||
showBackground = true,
|
||||
locale = "zh"
|
||||
locale = "en"
|
||||
)
|
||||
@Composable
|
||||
fun LoginActivityPreview() {
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
@@ -13,12 +14,15 @@ import androidx.compose.material3.ElevatedButton
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.painterResource
|
||||
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.EniPage
|
||||
import com.example.tpfilrouge.ui.theme.EniTextField
|
||||
import com.example.tpfilrouge.ui.theme.TpFilRougeTheme
|
||||
|
||||
@@ -35,21 +39,16 @@ class ResetPasswordActivity : ComponentActivity() {
|
||||
|
||||
@Composable
|
||||
fun ResetPasswordActivityPage() {
|
||||
TpFilRougeTheme {
|
||||
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
|
||||
Box(modifier = Modifier.padding(innerPadding)) {
|
||||
Column(modifier = Modifier.padding(40.dp)) {
|
||||
Text(
|
||||
text = "Récupération de mot de passe", textAlign = TextAlign.Center,
|
||||
fontSize = 28.sp,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 80.dp)
|
||||
)
|
||||
EniPage {
|
||||
Column(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
modifier = Modifier.padding(40.dp)) {
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.reset_password_ic),
|
||||
contentDescription = "Logo SignUp",
|
||||
modifier = Modifier.padding(vertical = 40.dp))
|
||||
EniTextField("Email")
|
||||
EniButton("Envoyer le lien de récupération")
|
||||
}
|
||||
}
|
||||
EniButton("Envoyer le lien de récupération", onClick = {})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.layout.Box
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
@@ -13,12 +14,15 @@ import androidx.compose.material3.ElevatedButton
|
||||
import androidx.compose.material3.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.painterResource
|
||||
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.EniPage
|
||||
import com.example.tpfilrouge.ui.theme.EniTextField
|
||||
import com.example.tpfilrouge.ui.theme.TpFilRougeTheme
|
||||
|
||||
@@ -34,17 +38,14 @@ class SignUpActivity : ComponentActivity() {
|
||||
|
||||
@Composable
|
||||
fun SignUpActivityPage() {
|
||||
TpFilRougeTheme {
|
||||
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
|
||||
Box(modifier = Modifier.padding(innerPadding)) {
|
||||
Column(modifier = Modifier.padding(40.dp)) {
|
||||
Text(
|
||||
text = "Sign Up", textAlign = TextAlign.Center,
|
||||
fontSize = 46.sp,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.padding(vertical = 80.dp)
|
||||
)
|
||||
EniPage {
|
||||
Column(
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
modifier = Modifier.padding(40.dp)) {
|
||||
Image(
|
||||
painter = painterResource(id = R.drawable.sign_up),
|
||||
contentDescription = "Logo SignUp",
|
||||
modifier = Modifier.padding(vertical = 40.dp))
|
||||
EniTextField("Pseudo")
|
||||
EniTextField("Email")
|
||||
EniTextField("Password")
|
||||
@@ -52,9 +53,7 @@ fun SignUpActivityPage() {
|
||||
EniTextField("City Code")
|
||||
EniTextField("City")
|
||||
EniTextField("Phone Number")
|
||||
EniButton("Sign Up")
|
||||
}
|
||||
}
|
||||
EniButton("Sign Up", onClick = {})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ 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.Scaffold
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextField
|
||||
import androidx.compose.material3.TextFieldDefaults
|
||||
@@ -28,14 +29,27 @@ import com.example.tpfilrouge.R
|
||||
class AppTheme {
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EniPage(content: @Composable () -> Unit){
|
||||
TpFilRougeTheme {
|
||||
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
|
||||
Box(modifier = Modifier.padding(innerPadding)) {
|
||||
EniBackgroundPage()
|
||||
// Inserer un composant dynamiquement
|
||||
content()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun HintText(label : String){
|
||||
Text(text = label, style = TextStyle(color = Color.Gray))
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EniButton(label: String){
|
||||
Button(onClick = {},
|
||||
fun EniButton(label: String, onClick: () -> Unit){
|
||||
Button(onClick = onClick,
|
||||
border = BorderStroke(3.dp, Color(0x77FFFFFF)),
|
||||
modifier = Modifier.fillMaxWidth()
|
||||
.padding(vertical = 10.dp),
|
||||
|
||||
BIN
app/src/main/res/drawable/reset_password_ic.png
Normal file
BIN
app/src/main/res/drawable/reset_password_ic.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
app/src/main/res/drawable/sign_up.png
Normal file
BIN
app/src/main/res/drawable/sign_up.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Reference in New Issue
Block a user