diff --git a/app/(auth)/(tabs)/(home)/settings/plugins/jellyseerr/page.tsx b/app/(auth)/(tabs)/(home)/settings/plugins/jellyseerr/page.tsx index 84041fd0..011258d2 100644 --- a/app/(auth)/(tabs)/(home)/settings/plugins/jellyseerr/page.tsx +++ b/app/(auth)/(tabs)/(home)/settings/plugins/jellyseerr/page.tsx @@ -1,11 +1,8 @@ -import { ScrollView } from "react-native"; +import { ScrollView, View } from "react-native"; import { useSafeAreaInsets } from "react-native-safe-area-context"; -import DisabledSetting from "@/components/settings/DisabledSetting"; import { JellyseerrSettings } from "@/components/settings/Jellyseerr"; -import { useSettings } from "@/utils/atoms/settings"; export default function JellyseerrPluginPage() { - const { pluginSettings } = useSettings(); const insets = useSafeAreaInsets(); return ( @@ -16,12 +13,9 @@ export default function JellyseerrPluginPage() { paddingRight: insets.right, }} > - + - + ); } diff --git a/components/settings/Jellyseerr.tsx b/components/settings/Jellyseerr.tsx index 436b46c4..30fbb92b 100644 --- a/components/settings/Jellyseerr.tsx +++ b/components/settings/Jellyseerr.tsx @@ -20,7 +20,10 @@ export const JellyseerrSettings = () => { const { t } = useTranslation(); const [user] = useAtom(userAtom); - const { settings, updateSettings } = useSettings(); + const { settings, updateSettings, pluginSettings } = useSettings(); + // Only the server URL is admin-lockable — the password stays editable so + // the user can still sign in to the admin-pinned Jellyseerr server. + const urlLocked = pluginSettings?.jellyseerrServerUrl?.locked === true; const [jellyseerrPassword, setJellyseerrPassword] = useState< string | undefined @@ -115,30 +118,41 @@ export const JellyseerrSettings = () => { ) : ( - - {t("home.settings.plugins.jellyseerr.server_url")} - - - - {t("home.settings.plugins.jellyseerr.server_url_hint")} + + + {t("home.settings.plugins.jellyseerr.server_url")} - - + + {t("home.settings.plugins.jellyseerr.server_url_hint")} + + + + {urlLocked && ( + + Disabled by admin + )} - value={jellyseerrServerUrl ?? settings?.jellyseerrServerUrl} - defaultValue={ - settings?.jellyseerrServerUrl ?? jellyseerrServerUrl - } - keyboardType='url' - returnKeyType='done' - autoCapitalize='none' - textContentType='URL' - onChangeText={setjellyseerrServerUrl} - editable={!loginToJellyseerrMutation.isPending} - /> + {t("home.settings.plugins.jellyseerr.password")}