[Frontend] Settings for profile fields (#1885)

* get max emoji size from instance settings

* expose (hardcoded) max amount of profile fields in instance api

* basic profile field setting

* fix profile field hook structure for updates

* *twirls mustache* fix ze tests

---------

Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
This commit is contained in:
f0x52 2023-06-13 12:21:26 +02:00 committed by GitHub
commit 8fb5a7e7f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 261 additions and 52 deletions

View file

@ -118,7 +118,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch1() {
},
"accounts": {
"allow_custom_css": true,
"max_featured_tags": 10
"max_featured_tags": 10,
"max_profile_fields": 6
},
"emojis": {
"emoji_size_limit": 51200
@ -221,7 +222,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch2() {
},
"accounts": {
"allow_custom_css": true,
"max_featured_tags": 10
"max_featured_tags": 10,
"max_profile_fields": 6
},
"emojis": {
"emoji_size_limit": 51200
@ -324,7 +326,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch3() {
},
"accounts": {
"allow_custom_css": true,
"max_featured_tags": 10
"max_featured_tags": 10,
"max_profile_fields": 6
},
"emojis": {
"emoji_size_limit": 51200
@ -478,7 +481,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch6() {
},
"accounts": {
"allow_custom_css": true,
"max_featured_tags": 10
"max_featured_tags": 10,
"max_profile_fields": 6
},
"emojis": {
"emoji_size_limit": 51200
@ -603,7 +607,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch8() {
},
"accounts": {
"allow_custom_css": true,
"max_featured_tags": 10
"max_featured_tags": 10,
"max_profile_fields": 6
},
"emojis": {
"emoji_size_limit": 51200
@ -743,7 +748,8 @@ func (suite *InstancePatchTestSuite) TestInstancePatch9() {
},
"accounts": {
"allow_custom_css": true,
"max_featured_tags": 10
"max_featured_tags": 10,
"max_profile_fields": 6
},
"emojis": {
"emoji_size_limit": 51200

View file

@ -54,6 +54,9 @@ type InstanceConfigurationAccounts struct {
// The maximum number of featured tags allowed for each account.
// Currently not implemented, so this is hardcoded to 10.
MaxFeaturedTags int `json:"max_featured_tags"`
// The maximum number of profile fields allowed for each account.
// Currently not configurable, so this is hardcoded to 6. (https://github.com/superseriousbusiness/gotosocial/issues/1876)
MaxProfileFields int `json:"max_profile_fields"`
}
// InstanceConfigurationStatuses models instance status config parameters.