Skip to content

Commit

Permalink
Providing a different navigator depending on the platform. (#310)
Browse files Browse the repository at this point in the history
  • Loading branch information
AdamMc331 committed Jul 8, 2023
1 parent 00f3af4 commit 029d37d
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.adammcneilly.pocketleague.shared.app

import androidx.compose.runtime.Composable
import com.slack.circuit.backstack.SaveableBackStack
import com.slack.circuit.foundation.rememberCircuitNavigator
import com.slack.circuit.runtime.Navigator

/**
* Provide an implementation of [Navigator] for the Android platform.
*/
@Composable
actual fun provideCircuitNavigator(
backStack: SaveableBackStack,
onRootPop: () -> Unit,
): Navigator {
return rememberCircuitNavigator(
backstack = backStack,
enableBackHandler = true,
)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.adammcneilly.pocketleague.shared.app

import androidx.compose.runtime.Composable
import com.slack.circuit.backstack.SaveableBackStack
import com.slack.circuit.runtime.Navigator

/**
* Provide an implementation of [Navigator] with a given [backstack]
*/
@Composable
expect fun provideCircuitNavigator(
backStack: SaveableBackStack,
onRootPop: () -> Unit,
): Navigator
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import com.slack.circuit.foundation.CircuitCompositionLocals
import com.slack.circuit.foundation.CircuitConfig
import com.slack.circuit.foundation.NavigableCircuitContent
import com.slack.circuit.foundation.push
import com.slack.circuit.foundation.rememberCircuitNavigator

/**
* Main composable entrypoint to the shared multiplatform version of
Expand All @@ -38,7 +37,7 @@ fun PocketLeagueApp(
push(FeedScreen)
}

val navigator = rememberCircuitNavigator(backstack) {
val navigator = provideCircuitNavigator(backstack) {
println("Is this being called?")
// In the future, we need to handle a back press when we are at the root
// screen (probably just close the app?)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.adammcneilly.pocketleague.shared.app

import androidx.compose.runtime.Composable
import com.slack.circuit.backstack.SaveableBackStack
import com.slack.circuit.foundation.rememberCircuitNavigator
import com.slack.circuit.runtime.Navigator

/**
* Provide an implementation of [Navigator] for the iOS platform.
*/
@Composable
actual fun provideCircuitNavigator(
backStack: SaveableBackStack,
onRootPop: () -> Unit,
): Navigator {
return rememberCircuitNavigator(
backstack = backStack,
onRootPop = onRootPop,
)
}

0 comments on commit 029d37d

Please sign in to comment.