GoToSocial: Support hide_collections
Signed-off-by: marcin mikołajczak <git@mkljczk.pl>
This commit is contained in:
parent
157b36a87f
commit
e3e787fc53
3 changed files with 15 additions and 7 deletions
|
@ -120,6 +120,8 @@ interface AccountCredentials {
|
||||||
header_description?: string;
|
header_description?: string;
|
||||||
/** GoToSocial: Enable RSS feed for public posts */
|
/** GoToSocial: Enable RSS feed for public posts */
|
||||||
enable_rss?: boolean;
|
enable_rss?: boolean;
|
||||||
|
/** GoToSocial: whether to publicly display followers/follows. */
|
||||||
|
hide_collections?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Convert an account into an update_credentials request object. */
|
/** Convert an account into an update_credentials request object. */
|
||||||
|
@ -127,7 +129,7 @@ const accountToCredentials = (account: Account): AccountCredentials => {
|
||||||
const hideNetwork = hidesNetwork(account);
|
const hideNetwork = hidesNetwork(account);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...(pick(account, ['discoverable', 'bot', 'display_name', 'locked', 'location', 'avatar_description', 'header_description', 'enable_rss'])),
|
...(pick(account, ['discoverable', 'bot', 'display_name', 'locked', 'location', 'avatar_description', 'header_description', 'enable_rss', 'hide_collections'])),
|
||||||
note: account.source?.note ?? '',
|
note: account.source?.note ?? '',
|
||||||
fields_attributes: [...account.source?.fields ?? []],
|
fields_attributes: [...account.source?.fields ?? []],
|
||||||
stranger_notifications: account.pleroma?.notification_settings?.block_from_strangers === true,
|
stranger_notifications: account.pleroma?.notification_settings?.block_from_strangers === true,
|
||||||
|
@ -257,10 +259,12 @@ const EditProfile: React.FC = () => {
|
||||||
const hide = e.target.checked;
|
const hide = e.target.checked;
|
||||||
setData(prevData => ({
|
setData(prevData => ({
|
||||||
...prevData,
|
...prevData,
|
||||||
hide_followers: hide,
|
...(software === GOTOSOCIAL ? { hide_collections: hide } : {
|
||||||
hide_follows: hide,
|
hide_followers: hide,
|
||||||
hide_followers_count: hide,
|
hide_follows: hide,
|
||||||
hide_follows_count: hide,
|
hide_followers_count: hide,
|
||||||
|
hide_follows_count: hide,
|
||||||
|
}),
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -372,7 +376,7 @@ const EditProfile: React.FC = () => {
|
||||||
hint={<FormattedMessage id='edit_profile.hints.hide_network' defaultMessage='Who you follow and who follows you will not be shown on your profile' />}
|
hint={<FormattedMessage id='edit_profile.hints.hide_network' defaultMessage='Who you follow and who follows you will not be shown on your profile' />}
|
||||||
>
|
>
|
||||||
<Toggle
|
<Toggle
|
||||||
checked={account ? (data.hide_followers && data.hide_follows && data.hide_followers_count && data.hide_follows_count) : false}
|
checked={account ? (software === GOTOSOCIAL ? data.hide_collections : (data.hide_followers && data.hide_follows && data.hide_followers_count && data.hide_follows_count)) : false}
|
||||||
onChange={handleHideNetworkChange}
|
onChange={handleHideNetworkChange}
|
||||||
/>
|
/>
|
||||||
</ListItem>
|
</ListItem>
|
||||||
|
|
|
@ -49,6 +49,7 @@ const baseAccountSchema = z.object({
|
||||||
header: z.string().url().catch(headerMissing),
|
header: z.string().url().catch(headerMissing),
|
||||||
header_description: z.string().catch(''),
|
header_description: z.string().catch(''),
|
||||||
header_static: z.string().url().optional().catch(undefined),
|
header_static: z.string().url().optional().catch(undefined),
|
||||||
|
hide_collections: z.boolean().catch(false),
|
||||||
id: z.string(),
|
id: z.string(),
|
||||||
last_status_at: z.string().datetime().optional().catch(undefined),
|
last_status_at: z.string().datetime().optional().catch(undefined),
|
||||||
local: z.boolean().catch(false),
|
local: z.boolean().catch(false),
|
||||||
|
|
|
@ -580,7 +580,10 @@ const getInstanceFeatures = (instance: Instance) => {
|
||||||
* Can hide follows/followers lists and counts.
|
* Can hide follows/followers lists and counts.
|
||||||
* @see PATCH /api/v1/accounts/update_credentials
|
* @see PATCH /api/v1/accounts/update_credentials
|
||||||
*/
|
*/
|
||||||
hideNetwork: v.software === PLEROMA,
|
hideNetwork: any([
|
||||||
|
v.software === PLEROMA,
|
||||||
|
v.software === GOTOSOCIAL,
|
||||||
|
]),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pleroma import API.
|
* Pleroma import API.
|
||||||
|
|
Loading…
Reference in a new issue