From 95079a1a5db029e0a4e321570fd40db57e37cf63 Mon Sep 17 00:00:00 2001 From: Chocolaterie <110991127+Chocolaterie@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:51:19 +0100 Subject: [PATCH] Pailette, OnClick, StartActivity --- app/src/main/AndroidManifest.xml | 1 - .../com/example/tpfilrouge/LoginActivity.kt | 75 +++++++++++------- .../tpfilrouge/ResetPasswordActivity.kt | 29 ++++--- .../com/example/tpfilrouge/SignUpActivity.kt | 41 +++++----- .../example/tpfilrouge/ui/theme/AppTheme.kt | 18 ++++- .../main/res/drawable/reset_password_ic.png | Bin 0 -> 22266 bytes app/src/main/res/drawable/sign_up.png | Bin 0 -> 3238 bytes 7 files changed, 95 insertions(+), 69 deletions(-) create mode 100644 app/src/main/res/drawable/reset_password_ic.png create mode 100644 app/src/main/res/drawable/sign_up.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ac43dbd..9682db4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -29,7 +29,6 @@ android:theme="@style/Theme.TpFilRouge"> - diff --git a/app/src/main/java/com/example/tpfilrouge/LoginActivity.kt b/app/src/main/java/com/example/tpfilrouge/LoginActivity.kt index 2367895..8cc8b9c 100644 --- a/app/src/main/java/com/example/tpfilrouge/LoginActivity.kt +++ b/app/src/main/java/com/example/tpfilrouge/LoginActivity.kt @@ -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() - 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(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)) - } - } + + val context = LocalContext.current; + + EniPage { + 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(stringResource(R.string.email)) + EniTextField(stringResource(R.string.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), + modifier = Modifier.padding(vertical = 10.dp), + textAlign = TextAlign.Center, + style = TextStyle(color = Color(0xCCFFFFFF)) + ) + 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() { diff --git a/app/src/main/java/com/example/tpfilrouge/ResetPasswordActivity.kt b/app/src/main/java/com/example/tpfilrouge/ResetPasswordActivity.kt index 25b71fa..fea3c7b 100644 --- a/app/src/main/java/com/example/tpfilrouge/ResetPasswordActivity.kt +++ b/app/src/main/java/com/example/tpfilrouge/ResetPasswordActivity.kt @@ -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) - ) - EniTextField("Email") - EniButton("Envoyer le lien de récupération") - } - } + 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", onClick = {}) } } } diff --git a/app/src/main/java/com/example/tpfilrouge/SignUpActivity.kt b/app/src/main/java/com/example/tpfilrouge/SignUpActivity.kt index 4e15a5d..7de1c9d 100644 --- a/app/src/main/java/com/example/tpfilrouge/SignUpActivity.kt +++ b/app/src/main/java/com/example/tpfilrouge/SignUpActivity.kt @@ -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,27 +38,22 @@ 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) - ) - EniTextField("Pseudo") - EniTextField("Email") - EniTextField("Password") - EniTextField("Password Confirmation") - EniTextField("City Code") - EniTextField("City") - EniTextField("Phone Number") - EniButton("Sign Up") - } - } + 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") + EniTextField("Password Confirmation") + EniTextField("City Code") + EniTextField("City") + EniTextField("Phone Number") + EniButton("Sign Up", onClick = {}) } } } diff --git a/app/src/main/java/com/example/tpfilrouge/ui/theme/AppTheme.kt b/app/src/main/java/com/example/tpfilrouge/ui/theme/AppTheme.kt index b270952..fa17c84 100644 --- a/app/src/main/java/com/example/tpfilrouge/ui/theme/AppTheme.kt +++ b/app/src/main/java/com/example/tpfilrouge/ui/theme/AppTheme.kt @@ -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), diff --git a/app/src/main/res/drawable/reset_password_ic.png b/app/src/main/res/drawable/reset_password_ic.png new file mode 100644 index 0000000000000000000000000000000000000000..b047a2ade943d98809e55c1677996ab8b0e15a86 GIT binary patch literal 22266 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 z

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 XZqDS+8=sFv0TqB~J$hKHVH^2B`9JYF literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/sign_up.png b/app/src/main/res/drawable/sign_up.png new file mode 100644 index 0000000000000000000000000000000000000000..7006508f57e2cd550f4eff9fc835b8d3b89f2600 GIT binary patch literal 3238 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 PTLlh3I@^}+qg?tgy;{M4 literal 0 HcmV?d00001