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