From af885eae58463501fb8e511390063a6de5a714b3 Mon Sep 17 00:00:00 2001 From: justinzeus Date: Thu, 22 Oct 2026 14:46:41 +0200 Subject: [PATCH] Default Seerr login to Jellyfin and prefill Wolfskin Seerr URL --- .../damontecres/wholphin/WolfskinDefaults.kt | 9 +++++++++ .../wholphin/ui/setup/seerr/AddSeerrServer.kt | 5 +++-- .../ui/setup/seerr/AddSeerrServerDialog.kt | 8 ++++---- .../wholphin/WolfskinDefaultsTest.kt | 17 +++++++++++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 app/src/main/java/com/github/damontecres/wholphin/WolfskinDefaults.kt create mode 100644 app/src/test/java/com/github/damontecres/wholphin/WolfskinDefaultsTest.kt diff --git a/app/src/main/java/com/github/damontecres/wholphin/WolfskinDefaults.kt b/app/src/main/java/com/github/damontecres/wholphin/WolfskinDefaults.kt new file mode 100644 index 00000000..aa023e97 --- /dev/null +++ b/app/src/main/java/com/github/damontecres/wholphin/WolfskinDefaults.kt @@ -0,0 +1,9 @@ +package com.github.damontecres.wholphin + +/** Wolfskin-specific defaults kept in one place to keep upstream diffs small. */ +object WolfskinDefaults { + const val SEERR_URL = "https://seerr.justinvisser.org" +} + +/** Returns [url] when it has content, otherwise the Wolfskin Seerr URL so the user can still edit it. */ +fun seerrUrlPrefill(url: String = ""): String = if (url.isBlank()) WolfskinDefaults.SEERR_URL else url diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServer.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServer.kt index 5fa8c667..59c9b2ae 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServer.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServer.kt @@ -30,6 +30,7 @@ import androidx.compose.ui.unit.dp import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text import com.github.damontecres.wholphin.R +import com.github.damontecres.wholphin.seerrUrlPrefill import com.github.damontecres.wholphin.ui.PreviewTvSpec import com.github.damontecres.wholphin.ui.components.Button import com.github.damontecres.wholphin.ui.components.EditTextBox @@ -54,7 +55,7 @@ fun AddSeerrServerApiKey( .padding(16.dp) .wrapContentSize(), ) { - var url by remember { mutableStateOf("") } + var url by remember { mutableStateOf(seerrUrlPrefill()) } var apiKey by remember { mutableStateOf("") } val focusRequester = remember { FocusRequester() } @@ -166,7 +167,7 @@ fun AddSeerrServerUsername( .padding(16.dp) .wrapContentSize(), ) { - var url by remember { mutableStateOf("") } + var url by remember { mutableStateOf(seerrUrlPrefill()) } var username by remember { mutableStateOf(username) } var password by remember { mutableStateOf("") } diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServerDialog.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServerDialog.kt index d84b98db..bb38aabb 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServerDialog.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/setup/seerr/AddSeerrServerDialog.kt @@ -89,10 +89,6 @@ fun ChooseSeerrLoginType( title = stringResource(R.string.seerr_login), items = listOf( - DialogItem( - text = stringResource(R.string.api_key), - onClick = { onChoose.invoke(SeerrAuthMethod.API_KEY) }, - ), DialogItem( text = stringResource(R.string.seerr_jellyfin_user), onClick = { onChoose.invoke(SeerrAuthMethod.JELLYFIN) }, @@ -101,6 +97,10 @@ fun ChooseSeerrLoginType( text = stringResource(R.string.seerr_local_user), onClick = { onChoose.invoke(SeerrAuthMethod.LOCAL) }, ), + DialogItem( + text = stringResource(R.string.api_key), + onClick = { onChoose.invoke(SeerrAuthMethod.API_KEY) }, + ), ), ) diff --git a/app/src/test/java/com/github/damontecres/wholphin/WolfskinDefaultsTest.kt b/app/src/test/java/com/github/damontecres/wholphin/WolfskinDefaultsTest.kt new file mode 100644 index 00000000..14d59cf2 --- /dev/null +++ b/app/src/test/java/com/github/damontecres/wholphin/WolfskinDefaultsTest.kt @@ -0,0 +1,17 @@ +package com.github.damontecres.wholphin + +import org.junit.Assert.assertEquals +import org.junit.Test + +class WolfskinDefaultsTest { + @Test + fun emptyUrlIsPrefilledWithWolfskinSeerrUrl() { + assertEquals(WolfskinDefaults.SEERR_URL, seerrUrlPrefill()) + assertEquals(WolfskinDefaults.SEERR_URL, seerrUrlPrefill(" ")) + } + + @Test + fun enteredUrlIsKept() { + assertEquals("https://seerr.example.org", seerrUrlPrefill("https://seerr.example.org")) + } +} -- 2.49.1