diff --git a/packages/nicolium/src/components/accounts/account-header.tsx b/packages/nicolium/src/components/accounts/account-header.tsx index 12d92edc4..e0e7e562c 100644 --- a/packages/nicolium/src/components/accounts/account-header.tsx +++ b/packages/nicolium/src/components/accounts/account-header.tsx @@ -353,7 +353,7 @@ const AccountHeader: React.FC = ({ account }) => { /> {account.verified && ( -
+
)} diff --git a/packages/nicolium/src/components/accounts/account.tsx b/packages/nicolium/src/components/accounts/account.tsx index 159a6c75c..241febafc 100644 --- a/packages/nicolium/src/components/accounts/account.tsx +++ b/packages/nicolium/src/components/accounts/account.tsx @@ -354,7 +354,7 @@ const Account = ({ username={account.username} /> ) : ( - + { return useQuery({ queryKey: queryKeys.admin.config, queryFn: () => client.admin.config.getPleromaConfig(), - enabled: ownAccount?.is_admin && features.pleromaAdminAccounts, + enabled: ownAccount?.is_admin && features.pleromaAdminConfig, + }); +}; + +const useAdminConfigDescriptions = () => { + const client = useClient(); + const features = useFeatures(); + const { data: ownAccount } = useOwnAccount(); + + return useQuery({ + queryKey: queryKeys.admin.configDescriptions, + queryFn: () => client.admin.config.getPleromaConfigDescriptions(), + enabled: ownAccount?.is_admin && features.pleromaAdminConfig, }); }; @@ -52,4 +64,9 @@ const getUpdateFrontendConfigParams = (data: any) => { ]; }; -export { useAdminConfig, useUpdateAdminConfig, getUpdateFrontendConfigParams }; +export { + useAdminConfig, + useAdminConfigDescriptions, + useUpdateAdminConfig, + getUpdateFrontendConfigParams, +}; diff --git a/packages/nicolium/src/queries/keys.ts b/packages/nicolium/src/queries/keys.ts index 061804c4d..15b2a8c26 100644 --- a/packages/nicolium/src/queries/keys.ts +++ b/packages/nicolium/src/queries/keys.ts @@ -54,6 +54,7 @@ import type { PaginatedResponse, PlApiClient, PleromaConfig, + PleromaConfigDescription, Poll, Relationship, RssFeed, @@ -306,6 +307,10 @@ const groupRelationships = { const admin = { root: ['admin'] as const, config: ['admin', 'config'] as TaggedKey<['admin', 'config'], PleromaConfig>, + configDescriptions: ['admin', 'configDescriptions'] as TaggedKey< + ['admin', 'configDescriptions'], + Array + >, accounts: { root: ['admin', 'accounts'] as const, show: (accountId: string) => { diff --git a/packages/nicolium/src/styles/new/layout.scss b/packages/nicolium/src/styles/new/layout.scss index 4ebf8f2a4..63e222ee4 100644 --- a/packages/nicolium/src/styles/new/layout.scss +++ b/packages/nicolium/src/styles/new/layout.scss @@ -639,7 +639,8 @@ body { color: rgb(var(--color-gray-500)); } - .dark &:hover { + .dark &:hover, + .dark &:focus { background-color: rgb(var(--color-gray-800)); } diff --git a/packages/pl-api/lib/entities/admin/pleroma-config-description.ts b/packages/pl-api/lib/entities/admin/pleroma-config-description.ts index b94ac863c..3d106dc00 100644 --- a/packages/pl-api/lib/entities/admin/pleroma-config-description.ts +++ b/packages/pl-api/lib/entities/admin/pleroma-config-description.ts @@ -6,7 +6,7 @@ import * as v from 'valibot'; const pleromaConfigDescriptionChildSchema: v.GenericSchema = v.looseObject({ key: v.optional(v.string()), - type: v.union([v.string(), v.array(v.string())]), + type: v.union([v.string(), v.array(v.union([v.string(), v.array(v.string())]))]), description: v.optional(v.string()), label: v.optional(v.string()), suggestions: v.optional(v.array(v.any())), @@ -38,12 +38,12 @@ type PleromaConfigDescription = v.InferOutput>; description?: string; label?: string; - suggestions?: unknown[]; - children?: PleromaConfigDescriptionChild[]; - group?: string | string[]; + suggestions?: Array; + children?: Array; + group?: string | Array; }; export {