diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0b3830b..2e31c0c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -68,13 +68,16 @@
android:host="m.youtube.com"
android:pathPrefix="/watch"
android:scheme="https" />
+
diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/IntentUriScreen.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/IntentUriScreen.kt
index 98bde65..7a451d0 100644
--- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/IntentUriScreen.kt
+++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/IntentUriScreen.kt
@@ -77,6 +77,12 @@ fun IntentUriScreen(uri: Uri) {
YouTube.song(videoId)?.map { song ->
song?.let { listOf(song) } ?: emptyList()
}
+ } ?: uri.takeIf {
+ uri.host == "youtu.be"
+ }?.path?.drop(1)?.let { videoId ->
+ YouTube.song(videoId)?.map { song ->
+ song?.let { listOf(song) } ?: emptyList()
+ }
} ?: Result.failure(Error("Missing URL parameters"))
}
}
diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/SearchScreen.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/SearchScreen.kt
index f8f5da9..0d6ce62 100644
--- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/SearchScreen.kt
+++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/ui/screens/SearchScreen.kt
@@ -107,7 +107,13 @@ fun SearchScreen(
val typography = LocalTypography.current
val isOpenableUrl = remember(textFieldValue.text) {
- Regex("""https://(music|www|m)\.youtube.com/(watch|playlist).*""").matches(textFieldValue.text)
+ listOf(
+ "https://www.youtube.com/watch?",
+ "https://music.youtube.com/watch?",
+ "https://www.youtube.com/list?",
+ "https://music.youtube.com/list?",
+ "https://youtu.be/",
+ ).any(textFieldValue.text::startsWith)
}
LaunchedEffect(Unit) {