From ab81c4b7268de5e60176322a542855de7c390e67 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Sun, 31 Aug 2025 20:02:34 +0700 Subject: [PATCH] feat(plugins/settings): add optional descriptions for plugin list filters --- .../start/settings/components/FilterAndSortActionSheet.tsx | 4 +++- .../start/settings/screens/RevengePluginsSettingScreen.tsx | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/start/settings/components/FilterAndSortActionSheet.tsx b/src/plugins/start/settings/components/FilterAndSortActionSheet.tsx index 7ca0692..7470900 100644 --- a/src/plugins/start/settings/components/FilterAndSortActionSheet.tsx +++ b/src/plugins/start/settings/components/FilterAndSortActionSheet.tsx @@ -9,6 +9,7 @@ export interface FilterAndSortActionSheetProps { string, { icon: AssetId + desc?: string filter: (p: AnyPlugin, meta: InternalPluginMeta) => boolean } > @@ -57,7 +58,7 @@ export default function FilterAndSortActionSheet({ - {Object.entries(filters).map(([label, { icon }]) => { + {Object.entries(filters).map(([label, { icon, desc }]) => { const checked = filter_.includes(label) return ( @@ -65,6 +66,7 @@ export default function FilterAndSortActionSheet({ key={label} icon={} label={label} + subLabel={desc} value={label} checked={checked} onPress={() => { diff --git a/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx b/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx index a57e43d..82b7d77 100644 --- a/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx +++ b/src/plugins/start/settings/screens/RevengePluginsSettingScreen.tsx @@ -65,14 +65,17 @@ const Filters: FilterAndSortActionSheetProps['filters'] = { }, Internal: { icon: RevengeIcon, + desc: 'Included with Revenge.', filter: (_, meta) => isPluginInternal(meta), }, Essential: { icon: getAssetIdByName('StarIcon')!, + desc: 'Required for Revenge to function properly.', filter: (_, meta) => isPluginEssential(meta), }, 'Non-APIs': { icon: getAssetIdByName('PaperIcon')!, + desc: 'Exclude essential plugins that provide APIs for other plugins.', filter: (_, meta) => !(meta.iflags & InternalPluginFlags.ImplicitDependency), },