From 3ae4ecb1acf732aa5656364acba143d36630144b Mon Sep 17 00:00:00 2001 From: grimsi <9295182+grimsi@users.noreply.github.com> Date: Fri, 28 Mar 2025 21:32:41 +0100 Subject: [PATCH] Implement "secret" toggle for plugin config fields --- .../main/frontend/components/general/PluginDetailsModal.tsx | 5 +++-- .../frontend/components/general/PluginManagementCard.tsx | 4 ++-- .../de/grimsi/gameyfin/pluginapi/core/PluginConfigElement.kt | 3 ++- .../kotlin/de/grimsi/gameyfin/plugins/igdb/IgdbPlugin.kt | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/gameyfin/src/main/frontend/components/general/PluginDetailsModal.tsx b/gameyfin/src/main/frontend/components/general/PluginDetailsModal.tsx index e38e822..ad8a012 100644 --- a/gameyfin/src/main/frontend/components/general/PluginDetailsModal.tsx +++ b/gameyfin/src/main/frontend/components/general/PluginDetailsModal.tsx @@ -70,8 +70,9 @@ export default function PluginDetailsModal({plugin, isOpen, onOpenChange, update

Configuration

{(pluginConfigMeta && pluginConfigMeta.length > 0) ? - pluginConfigMeta.map((entry: any) => ( - + pluginConfigMeta.map((entry: PluginConfigElement) => ( + )) : "This plugin has no configuration options." } diff --git a/gameyfin/src/main/frontend/components/general/PluginManagementCard.tsx b/gameyfin/src/main/frontend/components/general/PluginManagementCard.tsx index 1a9b478..7bfad4f 100644 --- a/gameyfin/src/main/frontend/components/general/PluginManagementCard.tsx +++ b/gameyfin/src/main/frontend/components/general/PluginManagementCard.tsx @@ -68,12 +68,12 @@ export function PluginManagementCard({plugin, updatePlugin}: {
- - diff --git a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/PluginConfigElement.kt b/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/PluginConfigElement.kt index f7a6c14..293c8a7 100644 --- a/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/PluginConfigElement.kt +++ b/plugin-api/src/main/kotlin/de/grimsi/gameyfin/pluginapi/core/PluginConfigElement.kt @@ -3,5 +3,6 @@ package de.grimsi.gameyfin.pluginapi.core data class PluginConfigElement( val key: String, val name: String, - val description: String + val description: String, + val isSecret: Boolean = false ) \ No newline at end of file diff --git a/plugins/igdb/src/main/kotlin/de/grimsi/gameyfin/plugins/igdb/IgdbPlugin.kt b/plugins/igdb/src/main/kotlin/de/grimsi/gameyfin/plugins/igdb/IgdbPlugin.kt index cc718f5..2610739 100644 --- a/plugins/igdb/src/main/kotlin/de/grimsi/gameyfin/plugins/igdb/IgdbPlugin.kt +++ b/plugins/igdb/src/main/kotlin/de/grimsi/gameyfin/plugins/igdb/IgdbPlugin.kt @@ -18,7 +18,7 @@ class IgdbPlugin(wrapper: PluginWrapper) : GameyfinPlugin(wrapper) { override val configMetadata: List = listOf( PluginConfigElement("clientId", "Twitch client ID", "Your Twitch Client ID"), - PluginConfigElement("clientSecret", "Twitch client secret", "Your Twitch Client Secret") + PluginConfigElement("clientSecret", "Twitch client secret", "Your Twitch Client Secret", true) ) override fun validateConfig(config: Map): Boolean {