From 0b8c88282329226fc5caecf5486aa5257f913ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B0=D1=88=D0=B8=D0=BD=20=D0=9C=D0=B0=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D0=BC?= Date: Tue, 21 Nov 2023 00:24:18 +0400 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20=D1=88?= =?UTF-8?q?=D1=83=D1=82=D0=BE=D1=87=D0=BD=D1=83=D1=8E=20=D0=B0=D0=B2=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/labwork/database/DAO/UserDao.kt | 3 +++ .../example/labwork/pages/user/LoginPage.kt | 25 ++++++++++++++----- .../example/labwork/pages/user/RegOrLog.kt | 2 +- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/example/labwork/database/DAO/UserDao.kt b/app/src/main/java/com/example/labwork/database/DAO/UserDao.kt index 6900775..f218aad 100644 --- a/app/src/main/java/com/example/labwork/database/DAO/UserDao.kt +++ b/app/src/main/java/com/example/labwork/database/DAO/UserDao.kt @@ -27,6 +27,9 @@ interface UserDao { @Query("SELECT * FROM users WHERE email = :email") suspend fun getUserByEmail(email: String): User + @Query("SELECT password FROM users WHERE email = :email") + suspend fun getPasswordByEmail(email: String): String + @Query("SELECT * FROM users WHERE email = :email AND password = :password") suspend fun getUserByEmailAndPassword(email: String, password: String): User? } \ No newline at end of file diff --git a/app/src/main/java/com/example/labwork/pages/user/LoginPage.kt b/app/src/main/java/com/example/labwork/pages/user/LoginPage.kt index 0f00e18..bf55bf0 100644 --- a/app/src/main/java/com/example/labwork/pages/user/LoginPage.kt +++ b/app/src/main/java/com/example/labwork/pages/user/LoginPage.kt @@ -30,14 +30,20 @@ import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.navigation.NavController +import androidx.navigation.NavHostController import com.example.labwork.R +import com.example.labwork.database.DAO.UserDao import com.example.labwork.ui.theme.LightBluePolitech +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.launch @Composable -fun LoginPage(navController: NavController) { - var username by remember { mutableStateOf("") } +fun LoginPage(navController: NavController, userDao: UserDao, navHostController: NavHostController) { + var email by remember { mutableStateOf("") } var password by remember { mutableStateOf("") } + var userPassword by remember { mutableStateOf("") } var showPassword by remember { mutableStateOf(false) } + var acceptLogin by remember { mutableStateOf(false) } Column( modifier = Modifier @@ -54,9 +60,9 @@ fun LoginPage(navController: NavController) { Spacer(modifier = Modifier.height(16.dp)) TextField( - value = username, - onValueChange = { username = it }, - label = { Text("Логин") }, + value = email, + onValueChange = { email = it }, + label = { Text("Почта") }, modifier = Modifier .fillMaxWidth() .padding(horizontal = 16.dp), @@ -109,7 +115,14 @@ fun LoginPage(navController: NavController) { Spacer(modifier = Modifier.height(8.dp)) Button( - onClick = { /* Login logic */ }, + onClick = { + GlobalScope.launch { + userPassword = userDao.getPasswordByEmail(email) + } + if(userPassword == password) { + navHostController.navigate("ListProduct") + } + }, colors = ButtonDefaults.buttonColors(backgroundColor = LightBluePolitech, ), modifier = Modifier .fillMaxWidth() diff --git a/app/src/main/java/com/example/labwork/pages/user/RegOrLog.kt b/app/src/main/java/com/example/labwork/pages/user/RegOrLog.kt index 7ae44f3..5f0b281 100644 --- a/app/src/main/java/com/example/labwork/pages/user/RegOrLog.kt +++ b/app/src/main/java/com/example/labwork/pages/user/RegOrLog.kt @@ -45,7 +45,7 @@ fun RegisteryOrLogin(userDao: UserDao, navHostController: NavHostController) { NavHost(navController, startDestination = "login") { composable("login") { - LoginPage(navController) + LoginPage(navController, userDao, navHostController) } composable("register") { RegisteryPage(navController, userDao, navHostController)