diff --git a/README.md b/README.md
index 8c23a86..1bc0de4 100644
--- a/README.md
+++ b/README.md
@@ -1,93 +1,9 @@
-
π KMP Task Manager
-
- ΠΡΠ»ΡΡΠΈΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π·Π°Π΄Π°Ρ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π½Π° Kotlin Multiplatform ΠΈ Compose Multiplatform.
-
-
-
-
-
-
-
-

+
Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
-## β¨ Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅
+## π Π€ΠΈΡΠΈ
-**Task Manager** β ΡΡΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Kotlin Multiplatform ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° **iOS**, **Android** ΠΈ **Desktop (macOS/Windows/Linux)** Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ.
-
-ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ Π·Π°Π΄Π°Ρ, ΡΠΎΡΡΠΈΡΡΡ ΠΈΡ
ΠΏΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°
-
-## π Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠ΅ΠΊ
-
-* **Π―Π·ΡΠΊ:** [Kotlin](https://kotlinlang.org/) Multiplatform
-* **UI:** [Compose Multiplatform](https://www.jetbrains.com/compose-multiplatform/) ΠΎΡ JetBrains
-* **ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°:** Clean Architecture + MVVM
-* **DI:** [Koin](https://insert-koin.io/)
-* **ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ
:** [PostgreSQL](https://www.postgresql.org/) Π½Π° [Supabase](https://supabase.com/)
-* **ΠΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΡΡΡ:** [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) + [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/)
-
-## π Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ
-
-- [x] π Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ
-- [x] β
ΠΡΠΌΠ΅ΡΠΊΠ° ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ
-- [x] π ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΌΠ΅Π½Π° ΡΠ΅ΠΌΡ (ΡΠ²Π΅ΡΠ»Π°Ρ/ΡΠ΅ΠΌΠ½Π°Ρ) Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ
-- [x] π± ΠΠ΄Π°ΠΏΡΠΈΠ²Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΠ»Π°ΡΡΠΎΡΠΌ
-- [x] πΎ Π₯ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°Ρ
-
-## πΈ Π‘ΠΊΡΠΈΠ½ΡΠΎΡΡ
-
-
-
-
-  |
-  |
-  |
-
-
- | Android |
- iOS |
- Desktop (macOS) |
-
-
-
-
-## π ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ°
-
-### ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
-- Android Studio (ΠΈΠ»ΠΈ IntelliJ IDEA)
-- Xcode (Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π½Π° iOS)
-- JDK 17+
-
-### Π¨Π°Π³ΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°
-
-1. **ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:**
- ```bash
- git clone https://github.com/BigCapybara638/TaskManager.git
- ```
-2. **ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ** Π² Android Studio.
-3. **ΠΠ»Ρ Android:** ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ `androidApp` ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Run.
-4. **ΠΠ»Ρ Desktop:** ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ `composeApp [jvm]` ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Run.
-5. **ΠΠ»Ρ iOS:** ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΠ°ΠΏΠΊΡ `iosApp/iosApp.xcodeproj` Π² Xcode ΠΈ ΡΠΎΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ (ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ KMM Π² Android Studio).
-
-## π€ ΠΠ°ΠΊ Π²Π½Π΅ΡΡΠΈ Π²ΠΊΠ»Π°Π΄
-
-ΠΠΊΠ»Π°Π΄Ρ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ! ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ΄Π΅ΠΈ ΠΈΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ Π±Π°Π³, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ [Issue](https://github.com/BigCapybara638/TaskManager/issues) ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΡΡΠ΅ Pull Request.
-
-1. Π€ΠΎΡΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ
-2. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²Π΅ΡΠΊΡ Π΄Π»Ρ ΡΠΈΡΠΈ (`git checkout -b feature/amazing-feature`)
-3. ΠΠ°ΠΊΠΎΠΌΠΌΠΈΡΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ (`git commit -m 'Add some amazing feature'`)
-4. ΠΠ°ΠΏΡΡΡΡΠ΅ Π² Π²Π΅ΡΠΊΡ (`git push origin feature/amazing-feature`)
-5. ΠΡΠΊΡΠΎΠΉΡΠ΅ Pull Request
-
-## π¬ ΠΠΎΠ½ΡΠ°ΠΊΡΡ
-
-ΠΠ°Π²Π»ΠΎΠ² Π‘Π΅ΠΌΡΠ½ - sp2007pavlov@yandex.ru
-
-Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡ: [https://github.com/BigCapybara638/TaskManager](https://github.com/BigCapybara638/TaskManager)
-
----
-
-
- Π‘Π΄Π΅Π»Π°Π½ΠΎ Ρ β€οΈ ΠΈ Kotlin Multiplatform.
-
+* **ΠΡΠΏΡΠ°Π²ΠΊΠ° ΠΎΡΠΈΠ±ΠΎΠΊ Π² UI**
+* **Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΡΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π² ΠΎΡΡΠ»Π°ΠΉΠ½Π΅**
+* **ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°**
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/App.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/App.kt
index e377c26..34f4d00 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/App.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/App.kt
@@ -1,6 +1,7 @@
package com.example.testkmp
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
@@ -43,7 +44,11 @@ fun App(modifier: Modifier) {
val authViewModel: AuthViewModel = koinViewModel()
val navController = rememberNavController()
- val sessionStatus by supabase.auth.sessionStatus.collectAsState()
+ val sessionStatus by authViewModel.startAuthState.collectAsState()
+
+ LaunchedEffect(Unit) {
+ authViewModel.checkAuthState()
+ }
val startDestination = when (sessionStatus) {
is SessionStatus.Authenticated -> Home
@@ -76,6 +81,9 @@ fun App(modifier: Modifier) {
}
composable {
SignUpScreen(
+ onNavigateToHome = {
+ navController.navigate(Home)
+ },
onNavigateToSignIn = {
navController.navigate(SignIn)
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/data/SupabaseAuthRepositoryImpl.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/data/SupabaseAuthRepositoryImpl.kt
index 0930bb6..4bb333d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/data/SupabaseAuthRepositoryImpl.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/data/SupabaseAuthRepositoryImpl.kt
@@ -1,5 +1,6 @@
package com.example.testkmp.data
+import androidx.compose.runtime.collectAsState
import com.example.testkmp.domain.repositories.AuthRepository
import io.github.jan.supabase.auth.auth
import io.github.jan.supabase.auth.providers.builtin.Email
@@ -7,12 +8,19 @@ import io.github.jan.supabase.auth.user.UserInfo
import com.example.testkmp.domain.models.Result
import io.github.jan.supabase.auth.exception.AuthErrorCode
import io.github.jan.supabase.auth.exception.AuthRestException
+import io.github.jan.supabase.auth.status.SessionStatus
import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.Flow
class SupabaseAuthRepositoryImpl() : AuthRepository {
private val auth = supabase.auth
+
+ override suspend fun checkAuthorizationState(): SessionStatus {
+ return auth.sessionStatus.value
+ }
+
override suspend fun signUp(
email: String,
password: String,
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/di/SharedModule.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/di/SharedModule.kt
index 76293e2..25707b3 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/di/SharedModule.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/di/SharedModule.kt
@@ -9,6 +9,7 @@ import com.example.testkmp.domain.usecases.AddCategoryUseCase
import com.example.testkmp.domain.usecases.GetAllCategoriesUseCase
import com.example.testkmp.domain.usecases.GetAllTasksUseCase
import com.example.testkmp.domain.usecases.GetTasksInCategoryUseCase
+import com.example.testkmp.domain.usecases.auth.CheckAuthorizationState
import com.example.testkmp.domain.usecases.auth.SignInUseCase
import com.example.testkmp.domain.usecases.auth.SignOutUseCase
import com.example.testkmp.domain.usecases.auth.SignUpUseCase
@@ -29,6 +30,8 @@ val sharedModule = module {
factory { AddCategoryUseCase(get()) }
+ factory { CheckAuthorizationState(get()) }
+
factory { SignUpUseCase(get()) }
factory { SignInUseCase(get()) }
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/AuthRepository.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/AuthRepository.kt
index 03bea2e..ab10058 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/AuthRepository.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/repositories/AuthRepository.kt
@@ -2,9 +2,13 @@ package com.example.testkmp.domain.repositories
import io.github.jan.supabase.auth.user.UserInfo
import com.example.testkmp.domain.models.Result
+import io.github.jan.supabase.auth.status.SessionStatus
+import kotlinx.coroutines.flow.Flow
interface AuthRepository {
+ suspend fun checkAuthorizationState() : SessionStatus
+
suspend fun signUp(
email: String,
password: String,
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/usecases/auth/CheckAuthorizationState.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/usecases/auth/CheckAuthorizationState.kt
new file mode 100644
index 0000000..ab27788
--- /dev/null
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/domain/usecases/auth/CheckAuthorizationState.kt
@@ -0,0 +1,15 @@
+package com.example.testkmp.domain.usecases.auth
+
+import com.example.testkmp.domain.repositories.AuthRepository
+import io.github.jan.supabase.auth.status.SessionStatus
+import kotlinx.coroutines.flow.Flow
+
+class CheckAuthorizationState(
+ private val authRepository: AuthRepository
+) {
+
+ suspend operator fun invoke() : SessionStatus {
+ return authRepository.checkAuthorizationState()
+ }
+
+}
\ No newline at end of file
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/AuthViewModel.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/AuthViewModel.kt
index f44b41e..111b2bc 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/AuthViewModel.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/AuthViewModel.kt
@@ -5,13 +5,16 @@ import androidx.lifecycle.viewModelScope
import com.example.testkmp.domain.usecases.auth.SignUpUseCase
import kotlinx.coroutines.launch
import com.example.testkmp.domain.models.Result
+import com.example.testkmp.domain.usecases.auth.CheckAuthorizationState
import com.example.testkmp.domain.usecases.auth.SignInUseCase
import com.example.testkmp.domain.usecases.auth.SignOutUseCase
+import io.github.jan.supabase.auth.status.SessionStatus
import io.github.jan.supabase.auth.user.UserInfo
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
class AuthViewModel(
+ private val checkAuthorizationState: CheckAuthorizationState,
private val signUpUseCase: SignUpUseCase,
private val signInUseCase: SignInUseCase,
private val signOutUseCase: SignOutUseCase
@@ -20,6 +23,20 @@ class AuthViewModel(
private var _authState = MutableStateFlow>(Result.Loading)
val authState: StateFlow> = _authState
+ private var _startAuthState = MutableStateFlow(SessionStatus.Initializing)
+ val startAuthState: StateFlow = _startAuthState
+
+ fun checkAuthState() {
+ viewModelScope.launch {
+ try {
+ val result = checkAuthorizationState()
+ _startAuthState.value = result
+ } catch (e: Exception) {
+ println(e)
+ }
+ }
+ }
+
fun signUp(email: String, pass: String, username: String? = null) {
viewModelScope.launch {
val result = signUpUseCase(email, pass, username)
@@ -29,7 +46,7 @@ class AuthViewModel(
is Result.Error -> {println(result.error)}
is Result.Loading -> {println("loading")}
}
-
+ checkAuthState()
}
}
@@ -42,6 +59,7 @@ class AuthViewModel(
} catch (e: Exception) {
_authState.value = Result.Error(e.message.toString())
}
+ checkAuthState()
}
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/HomeScreen.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/HomeScreen.kt
index 373edb3..b60c98d 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/HomeScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/HomeScreen.kt
@@ -3,6 +3,7 @@ package com.example.testkmp.presentation.screens
import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
+import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
@@ -81,16 +82,34 @@ fun HomeScreen(
is DataState.Error -> {
Column(
horizontalAlignment = Alignment.CenterHorizontally,
- verticalArrangement = Arrangement.Center,
modifier = Modifier
.fillMaxSize()
.padding(bottom = 14.dp)
) {
Text(
- text = "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ",
- textAlign = TextAlign.Center
+ text = "ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ",
+ fontSize = 24.sp,
+ modifier = Modifier
+ .padding(top = 18.dp, bottom = 6.dp)
+ )
+ Spacer(
+ modifier = Modifier
+ .fillMaxWidth(0.85F)
+ .height(2.dp)
+ .background(Color.Gray)
)
+ Box(
+ contentAlignment = Alignment.Center,
+ modifier = Modifier
+ .fillMaxSize()
+ ) {
+ Text(
+ text = "ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ",
+ textAlign = TextAlign.Center
+ )
+ }
+
}
}
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignInScreen.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignInScreen.kt
index b5ec81e..4e296cd 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignInScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignInScreen.kt
@@ -20,6 +20,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
+import androidx.compose.ui.graphics.Color
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
@@ -29,6 +30,7 @@ import com.example.testkmp.SignUp
import com.example.testkmp.TaskManagerTheme
import com.example.testkmp.domain.models.Result
import com.example.testkmp.presentation.AuthViewModel
+import io.github.jan.supabase.auth.status.SessionStatus
import org.koin.compose.viewmodel.koinViewModel
@Preview(showBackground = true)
@@ -41,6 +43,8 @@ fun SignInScreen(
val viewModel: AuthViewModel = koinViewModel()
val authState by viewModel.authState.collectAsState()
+ val startAuthState by viewModel.startAuthState.collectAsState()
+
Column(
horizontalAlignment = Alignment.CenterHorizontally,
@@ -74,6 +78,27 @@ fun SignInScreen(
modifier = Modifier.fillMaxWidth(0.85F)
)
+ when(startAuthState) {
+ is SessionStatus.RefreshFailure -> {
+ Text(
+ text = "ΠΡΠΈΠ±ΠΊΠ° Π²Ρ
ΠΎΠ΄Π° - $startAuthState",
+ color = Color.Red)
+ }
+ is SessionStatus.Initializing -> {
+
+ }
+
+ is SessionStatus.Authenticated -> {
+ Text("Π£ΡΠΏΠ΅ΡΠ½ΠΎ!")
+ }
+ is SessionStatus.NotAuthenticated -> {
+ Text(
+ text = "ΠΡΠΈΠ±ΠΊΠ°: ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ Π»ΠΎΠ³ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ",
+ color = Color.Red
+ )
+ }
+ }
+
Button(
modifier = Modifier
.fillMaxWidth(0.3F)
diff --git a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignUpScreen.kt b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignUpScreen.kt
index 138ecd3..e787ffe 100644
--- a/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignUpScreen.kt
+++ b/composeApp/src/commonMain/kotlin/com/example/testkmp/presentation/screens/SignUpScreen.kt
@@ -30,7 +30,8 @@ import org.koin.compose.viewmodel.koinViewModel
@Preview(showBackground = true)
@Composable
fun SignUpScreen(
- onNavigateToSignIn: () -> Unit
+ onNavigateToSignIn: () -> Unit,
+ onNavigateToHome: () -> Unit
) {
TaskManagerTheme {
Column(
@@ -84,6 +85,7 @@ fun SignUpScreen(
onClick = {
if(login.isNotBlank() && pass.isNotBlank()) {
viewModel.signUp(email, pass, login)
+ onNavigateToHome()
}
}
) {