From 75d65ee667566591a95725decf3eda64bfe2702b Mon Sep 17 00:00:00 2001 From: Yusuf Nasser Date: Fri, 27 Jun 2025 07:11:44 +0300 Subject: [PATCH 1/2] update navigation logic to properly pop up the onboarding route --- .../screen/onboarding/OnBoardingScreen.kt | 25 ++++++------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt b/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt index 9f108fa4..4e7a73aa 100644 --- a/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt +++ b/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt @@ -1,7 +1,6 @@ package com.example.tudee.presentation.screen.onboarding import android.content.res.Configuration -import android.util.Log import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -12,8 +11,8 @@ import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.PagerState import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.material3.Text +import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable -import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope @@ -35,7 +34,6 @@ import com.example.tudee.designsystem.theme.textstyle.TudeeTextStyle import com.example.tudee.naviagtion.Destination import com.example.tudee.presentation.components.BottomPageIndicator import com.example.tudee.presentation.components.OnBoardingPage -import com.example.tudee.presentation.components.buttons.TextButton import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import org.koin.compose.getKoin @@ -49,13 +47,9 @@ fun OnBoardingScreen( val isFirstEntry by viewModel.isFirstEntry.collectAsState() - LaunchedEffect(isFirstEntry) { - if (!isFirstEntry) { - navController.navigate(Destination.HomeScreen.route) { - popUpTo(navController.graph.startDestinationId) { - inclusive = true - } - } + if (!isFirstEntry) { + navController.navigate(Destination.HomeScreen.route) { + popUpTo(Destination.OnBoardingScreen.route) { inclusive = true } } } @@ -95,9 +89,7 @@ fun OnBoardingScreen( viewModel.loadInitialData() viewModel.saveFirstEntry() navController.navigate(Destination.HomeScreen.route) { - popUpTo(navController.graph.startDestinationId) { - inclusive = true - } + popUpTo(Destination.OnBoardingScreen.route) { inclusive = true } } } ) @@ -123,10 +115,7 @@ private fun OnBoardingContent( modifier = Modifier .align(alignment = Alignment.TopStart) .zIndex(10f), - onClick = { - Log.d("OnBoarding", "Skip button clicked") - navigateToHome() - }, + onClick = navigateToHome, ) { Text( stringResource(R.string.skip_button), @@ -158,7 +147,7 @@ private fun OnBoardingContent( onClick = { scope.launch { if (pageState.currentPage != onBoardingPageUiModels.lastIndex) { - pageState.animateScrollToPage(pageState.currentPage + 1) + pageState.animateScrollToPage(pageState.currentPage + Pages.SecondPage.page) } else { navigateToHome() } From b16319d63f21e669982c7ab4fa121ce7a0756426 Mon Sep 17 00:00:00 2001 From: Yusuf Nasser Date: Fri, 27 Jun 2025 13:48:38 +0300 Subject: [PATCH 2/2] replace material 3 TextButton with Tudee's TextButton --- .../tudee/presentation/screen/onboarding/OnBoardingScreen.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt b/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt index 4e7a73aa..15a8bc51 100644 --- a/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt +++ b/app/src/main/java/com/example/tudee/presentation/screen/onboarding/OnBoardingScreen.kt @@ -11,7 +11,6 @@ import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.PagerState import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.material3.Text -import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue @@ -34,6 +33,7 @@ import com.example.tudee.designsystem.theme.textstyle.TudeeTextStyle import com.example.tudee.naviagtion.Destination import com.example.tudee.presentation.components.BottomPageIndicator import com.example.tudee.presentation.components.OnBoardingPage +import com.example.tudee.presentation.components.buttons.TextButton import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import org.koin.compose.getKoin