diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 08379fd9d..fe679eae1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -103,6 +103,20 @@
android:scheme="https" />
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/kotlin/net/primal/android/navigation/PrimalAppNavigation.kt b/app/src/main/kotlin/net/primal/android/navigation/PrimalAppNavigation.kt
index 786c73237..ae964ccdf 100644
--- a/app/src/main/kotlin/net/primal/android/navigation/PrimalAppNavigation.kt
+++ b/app/src/main/kotlin/net/primal/android/navigation/PrimalAppNavigation.kt
@@ -453,6 +453,11 @@ fun SharedTransitionScope.PrimalAppNavigation() {
navController.navigateToArticleDetails(deepLink.naddr)
}
+ is DeepLink.AdvancedSearch -> {
+ navController.popBackStack()
+ navController.navigateToExploreFeed(feedSpec = deepLink.feedSpec)
+ }
+
null -> navController.navigateToHome()
}
}
diff --git a/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLink.kt b/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLink.kt
index 10add9826..6916ac921 100644
--- a/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLink.kt
+++ b/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLink.kt
@@ -8,4 +8,5 @@ sealed class DeepLink {
data class Note(val noteId: String) : DeepLink()
data class Article(val naddr: String) : DeepLink()
data class PrimalNWC(val primalWalletNwc: PrimalWalletNwc) : DeepLink()
+ data class AdvancedSearch(val feedSpec: String) : DeepLink()
}
diff --git a/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLinkingHandler.kt b/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLinkingHandler.kt
index c01334b8b..3acb2385c 100644
--- a/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLinkingHandler.kt
+++ b/app/src/main/kotlin/net/primal/android/navigation/deeplinking/DeepLinkingHandler.kt
@@ -10,6 +10,7 @@ import net.primal.android.user.domain.parseNWCUrl
private val PRIMAL_NOTE_REGEX = Regex("https://.*primal.net/e/")
private val PRIMAL_ARTICLE_REGEX = Regex("https://.*primal.net/a/")
private val PRIMAL_PROFILE_REGEX = Regex("https://.*primal.net/p/")
+private val PRIMAL_ADVANCED_SEARCH = Regex("https://.*primal.net/asearch/")
private const val NOSTR_WALLET_CONNECT_SCHEMA = "nostr+walletconnect://"
private const val NOSTR_WALLET_CONNECT_ALT_SCHEMA = "nostrwalletconnect://"
@@ -34,6 +35,11 @@ fun String.parseDeepLinkOrNull(): DeepLink? =
unknownArticleIdentifier.let { DeepLink.Article(it) }
}
+ PRIMAL_ADVANCED_SEARCH.containsMatchIn(this) -> {
+ val unknownArticleIdentifier = PRIMAL_ADVANCED_SEARCH.replace(this, "")
+ unknownArticleIdentifier.let { DeepLink.AdvancedSearch(it) }
+ }
+
isNostrWalletConnectSchemaAndUrl() ->
runCatching {
DeepLink.NostrWalletConnect(nwc = this.parseNWCUrl())