mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-04 08:08:55 +01:00 
			
		
		
		
	Prevent backing out from initial onboarding
This commit is contained in:
		@@ -1,6 +1,8 @@
 | 
			
		||||
package eu.kanade.tachiyomi.ui.more
 | 
			
		||||
 | 
			
		||||
import androidx.activity.compose.BackHandler
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.runtime.remember
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
@@ -8,6 +10,7 @@ import eu.kanade.domain.base.BasePreferences
 | 
			
		||||
import eu.kanade.presentation.more.onboarding.OnboardingScreen
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.ui.setting.SettingsScreen
 | 
			
		||||
import tachiyomi.presentation.core.util.collectAsState
 | 
			
		||||
import uy.kohesive.injekt.Injekt
 | 
			
		||||
import uy.kohesive.injekt.api.get
 | 
			
		||||
 | 
			
		||||
@@ -18,14 +21,22 @@ class OnboardingScreen : Screen() {
 | 
			
		||||
        val navigator = LocalNavigator.currentOrThrow
 | 
			
		||||
 | 
			
		||||
        val basePreferences = remember { Injekt.get<BasePreferences>() }
 | 
			
		||||
        val shownOnboardingFlow by basePreferences.shownOnboardingFlow().collectAsState()
 | 
			
		||||
 | 
			
		||||
        val finishOnboarding = {
 | 
			
		||||
        val finishOnboarding: () -> Unit = {
 | 
			
		||||
            basePreferences.shownOnboardingFlow().set(true)
 | 
			
		||||
            navigator.pop()
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        BackHandler(
 | 
			
		||||
            enabled = !shownOnboardingFlow,
 | 
			
		||||
            onBack = {
 | 
			
		||||
                // Prevent exiting if onboarding hasn't been completed
 | 
			
		||||
            },
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        OnboardingScreen(
 | 
			
		||||
            onComplete = { finishOnboarding() },
 | 
			
		||||
            onComplete = finishOnboarding,
 | 
			
		||||
            onRestoreBackup = {
 | 
			
		||||
                finishOnboarding()
 | 
			
		||||
                navigator.push(SettingsScreen(SettingsScreen.Destination.DataAndStorage))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user