Merge branch 'develop' of https://codeberg.org/mkljczk/pl-fe into develop

This commit is contained in:
2026-04-06 21:45:15 +00:00
6 changed files with 33 additions and 10 deletions

View File

@@ -353,7 +353,7 @@ const AccountHeader: React.FC<IAccountHeader> = ({ account }) => {
/>
</a>
{account.verified && (
<div className='absolute -bottom-2 -right-2'>
<div className='absolute -bottom-2 -right-2 z-[1]'>
<VerificationBadge className='!size-[24px] rounded-full !p-[2px] ring-2 ring-white black:ring-black dark:ring-primary-900' />
</div>
)}

View File

@@ -354,7 +354,7 @@ const Account = ({
username={account.username}
/>
) : (
<LinkEl className='rounded-lg' {...linkProps}>
<LinkEl className={clsx('rounded-lg', emoji && 'relative')} {...linkProps}>
<Avatar
src={account.avatar}
size={avatarSize}

View File

@@ -16,7 +16,19 @@ const useAdminConfig = () => {
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,
};

View File

@@ -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<PleromaConfigDescription>
>,
accounts: {
root: ['admin', 'accounts'] as const,
show: (accountId: string) => {

View File

@@ -639,7 +639,8 @@ body {
color: rgb(var(--color-gray-500));
}
.dark &:hover {
.dark &:hover,
.dark &:focus {
background-color: rgb(var(--color-gray-800));
}

View File

@@ -6,7 +6,7 @@ import * as v from 'valibot';
const pleromaConfigDescriptionChildSchema: v.GenericSchema<PleromaConfigDescriptionChild> =
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<typeof pleromaConfigDescriptionSch
*/
type PleromaConfigDescriptionChild = {
key?: string;
type: string | string[];
type: string | Array<string | Array<string>>;
description?: string;
label?: string;
suggestions?: unknown[];
children?: PleromaConfigDescriptionChild[];
group?: string | string[];
suggestions?: Array<unknown>;
children?: Array<PleromaConfigDescriptionChild>;
group?: string | Array<string>;
};
export {