diff --git a/app/src/main/java/com/fluxa/app/ui/catalog/SettingsScreen.kt b/app/src/main/java/com/fluxa/app/ui/catalog/SettingsScreen.kt index 7b4a183..f55783d 100644 --- a/app/src/main/java/com/fluxa/app/ui/catalog/SettingsScreen.kt +++ b/app/src/main/java/com/fluxa/app/ui/catalog/SettingsScreen.kt @@ -62,6 +62,7 @@ fun SettingsScreen( onBack: () -> Unit, onLogout: () -> Unit, onConnectStremio: () -> Unit, + onConnectNuvio: () -> Unit, onConnectTrakt: () -> Unit, onConnectMal: () -> Unit, onConnectSimkl: () -> Unit, @@ -227,6 +228,7 @@ fun SettingsScreen( onBack = { mobileCategory = null }, onLogout = onLogout, onConnectStremio = onConnectStremio, + onConnectNuvio = onConnectNuvio, onConnectTrakt = onConnectTrakt, onConnectMal = onConnectMal, onConnectSimkl = onConnectSimkl, diff --git a/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsAccountSection.kt b/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsAccountSection.kt index 8c23bfb..a791b9b 100644 --- a/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsAccountSection.kt +++ b/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsAccountSection.kt @@ -58,6 +58,7 @@ internal fun AccountSettings( profile: UserProfile, lang: String, onSwitchProfiles: () -> Unit, + onConnectStremio: () -> Unit, onConnectTrakt: () -> Unit, onConnectMal: () -> Unit, onConnectSimkl: () -> Unit, @@ -75,6 +76,12 @@ internal fun AccountSettings( icon = FluxaIcons.AccountCircle, onClick = onSwitchProfiles ) + SettingsConnectionTile( + title = AppStrings.t(lang, "brand.stremio"), + iconRes = com.fluxa.app.R.drawable.ic_stremio, + value = if (!profile.isGuest) AppStrings.t(lang, "auto.connected") else AppStrings.t(lang, "auto.not_connected"), + onClick = onConnectStremio + ) } SettingsSection( AppStrings.t(lang, "settings.sync_with"), diff --git a/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsComponents.kt b/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsComponents.kt index e5d9f92..4e14893 100644 --- a/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsComponents.kt +++ b/app/src/main/java/com/fluxa/app/ui/catalog/TvSettingsComponents.kt @@ -75,7 +75,7 @@ internal fun SettingsContent( ) { val profileValue = profile ?: return when (tabId) { - "account" -> AccountSettings(profileValue, lang, onLogout, onConnectTrakt, onConnectMal, onConnectSimkl, onConnectAnilist, onUpdateProfile) + "account" -> AccountSettings(profileValue, lang, onLogout, onConnectStremio, onConnectTrakt, onConnectMal, onConnectSimkl, onConnectAnilist, onUpdateProfile) "general" -> GeneralSettings(profileValue, lang, onUpdateProfile) "appearance" -> { val categories by viewModel.categories.collectAsStateWithLifecycle() diff --git a/app/src/main/java/com/fluxa/app/ui/catalog/mobile/settings/MobileSettingsCategoryDetail.kt b/app/src/main/java/com/fluxa/app/ui/catalog/mobile/settings/MobileSettingsCategoryDetail.kt index ad087f9..55f6ac8 100644 --- a/app/src/main/java/com/fluxa/app/ui/catalog/mobile/settings/MobileSettingsCategoryDetail.kt +++ b/app/src/main/java/com/fluxa/app/ui/catalog/mobile/settings/MobileSettingsCategoryDetail.kt @@ -77,6 +77,7 @@ internal fun MobileCategoryDetail( onBack: () -> Unit, onLogout: () -> Unit, onConnectStremio: () -> Unit, + onConnectNuvio: () -> Unit, onConnectTrakt: () -> Unit, onConnectMal: () -> Unit, onConnectSimkl: () -> Unit, @@ -226,6 +227,20 @@ internal fun MobileCategoryDetail( onClick = onLogout, prominent = true ) + MobileActionRow( + title = AppStrings.t(lang, "brand.stremio"), + iconRes = R.drawable.ic_stremio, + value = if (!profile.isGuest) AppStrings.t(lang, "auto.connected") else AppStrings.t(lang, "auto.not_connected"), + onClick = onConnectStremio, + prominent = true + ) + MobileActionRow( + title = AppStrings.t(lang, "brand.nuvio"), + iconRes = R.drawable.ic_nuvio, + value = AppStrings.t(lang, "auto.import_nuvio_account"), + onClick = onConnectNuvio, + prominent = true + ) } } item { diff --git a/app/src/main/java/com/fluxa/app/ui/routes/SettingsRoute.kt b/app/src/main/java/com/fluxa/app/ui/routes/SettingsRoute.kt index b328406..ce5aaf0 100644 --- a/app/src/main/java/com/fluxa/app/ui/routes/SettingsRoute.kt +++ b/app/src/main/java/com/fluxa/app/ui/routes/SettingsRoute.kt @@ -54,6 +54,7 @@ internal fun SettingsRoute( navigator.navigateTo(Screen.Profiles, true) }, onConnectStremio = { navigator.navigateTo(Screen.Login()) }, + onConnectNuvio = { navigator.navigateTo(Screen.Login(startOnNuvio = true)) }, onConnectTrakt = { if (!activeProfile?.traktAccessToken.isNullOrBlank()) { onShowTraktSheet() diff --git a/core/src/main/assets/i18n/en-US.json b/core/src/main/assets/i18n/en-US.json index 7c04370..35b2e48 100644 --- a/core/src/main/assets/i18n/en-US.json +++ b/core/src/main/assets/i18n/en-US.json @@ -873,6 +873,9 @@ "brand.myanimelist": "MyAnimeList", "brand.simkl": "Simkl", "brand.anilist": "AniList", + "brand.stremio": "Stremio", + "brand.nuvio": "Nuvio", + "auto.import_nuvio_account": "Import from Nuvio", "brand.tmdb": "TMDB", "brand.netflix": "Netflix", "brand.prime_video": "Prime Video", diff --git a/core/src/main/assets/i18n/tr-TR.json b/core/src/main/assets/i18n/tr-TR.json index c031ee2..1f5db99 100644 --- a/core/src/main/assets/i18n/tr-TR.json +++ b/core/src/main/assets/i18n/tr-TR.json @@ -873,6 +873,9 @@ "brand.myanimelist": "MyAnimeList", "brand.simkl": "Simkl", "brand.anilist": "AniList", + "brand.stremio": "Stremio", + "brand.nuvio": "Nuvio", + "auto.import_nuvio_account": "Nuvio'dan içe aktar", "brand.tmdb": "TMDB", "brand.netflix": "Netflix", "brand.prime_video": "Prime Video",