diff --git a/sample-compose/app/src/main/AndroidManifest.xml b/sample-compose/app/src/main/AndroidManifest.xml
index 52d952c5f..ae40d2156 100644
--- a/sample-compose/app/src/main/AndroidManifest.xml
+++ b/sample-compose/app/src/main/AndroidManifest.xml
@@ -26,6 +26,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/AppNavGraph.kt b/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/AppNavGraph.kt
index b9a9048a6..4782b215d 100644
--- a/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/AppNavGraph.kt
+++ b/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/AppNavGraph.kt
@@ -2,11 +2,11 @@ package co.nimblehq.sample.compose.ui
import androidx.compose.runtime.Composable
import androidx.navigation.NavBackStackEntry
-import androidx.navigation.NavDeepLink
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
+import androidx.navigation.navDeepLink
import co.nimblehq.sample.compose.ui.base.BaseDestination
import co.nimblehq.sample.compose.ui.screens.main.mainNavGraph
@@ -25,13 +25,16 @@ fun AppNavGraph(
fun NavGraphBuilder.composable(
destination: BaseDestination,
- deepLinks: List = emptyList(),
content: @Composable (NavBackStackEntry) -> Unit,
) {
composable(
route = destination.route,
arguments = destination.arguments,
- deepLinks = deepLinks,
+ deepLinks = destination.deepLinks.map {
+ navDeepLink {
+ uriPattern = it
+ }
+ },
content = content
)
}
diff --git a/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/base/BaseDestination.kt b/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/base/BaseDestination.kt
index b8eae02ba..03af800b4 100644
--- a/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/base/BaseDestination.kt
+++ b/sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/base/BaseDestination.kt
@@ -8,6 +8,11 @@ abstract class BaseDestination(val route: String = "") {
open val arguments: List = emptyList()
+ open val deepLinks: List = listOf(
+ "https://android.nimblehq.co/$route",
+ "android://$route",
+ )
+
open var destination: String = route
open var parcelableArgument: Pair = "" to null
diff --git a/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/AppNavGraph.kt b/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/AppNavGraph.kt
index 6dd922c48..e2c662a68 100644
--- a/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/AppNavGraph.kt
+++ b/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/AppNavGraph.kt
@@ -2,11 +2,11 @@ package co.nimblehq.template.compose.ui
import androidx.compose.runtime.Composable
import androidx.navigation.NavBackStackEntry
-import androidx.navigation.NavDeepLink
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
+import androidx.navigation.navDeepLink
import co.nimblehq.template.compose.ui.base.BaseDestination
import co.nimblehq.template.compose.ui.screens.main.mainNavGraph
@@ -25,13 +25,16 @@ fun AppNavGraph(
fun NavGraphBuilder.composable(
destination: BaseDestination,
- deepLinks: List = emptyList(),
content: @Composable (NavBackStackEntry) -> Unit,
) {
composable(
route = destination.route,
arguments = destination.arguments,
- deepLinks = deepLinks,
+ deepLinks = destination.deepLinks.map {
+ navDeepLink {
+ uriPattern = it
+ }
+ },
content = content
)
}
diff --git a/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/base/BaseDestination.kt b/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/base/BaseDestination.kt
index a56152cfa..9efb868b2 100644
--- a/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/base/BaseDestination.kt
+++ b/template-compose/app/src/main/java/co/nimblehq/template/compose/ui/base/BaseDestination.kt
@@ -6,6 +6,8 @@ abstract class BaseDestination(val route: String = "") {
open val arguments: List = emptyList()
+ open val deepLinks: List = emptyList()
+
open var destination: String = route
data class Up(val results: HashMap = hashMapOf()) : BaseDestination() {