mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 22:22:25 -05:00 
			
		
		
		
	[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:
		
					parent
					
						
							
								4990099fde
							
						
					
				
			
			
				commit
				
					
						8fb5a7e7f8
					
				
			
		
					 15 changed files with 261 additions and 52 deletions
				
			
		|  | @ -20,23 +20,7 @@ | |||
| "use strict"; | ||||
| 
 | ||||
| const { createApi, fetchBaseQuery } = require("@reduxjs/toolkit/query/react"); | ||||
| const { isPlainObject } = require("is-plain-object"); | ||||
| 
 | ||||
| function convertToForm(obj) { | ||||
| 	const formData = new FormData(); | ||||
| 	Object.entries(obj).forEach(([key, val]) => { | ||||
| 		if (isPlainObject(val)) { | ||||
| 			Object.entries(val).forEach(([key2, val2]) => { | ||||
| 				if (val2 != undefined) { | ||||
| 					formData.set(`${key}[${key2}]`, val2); | ||||
| 				} | ||||
| 			}); | ||||
| 		} else if (val != undefined) { | ||||
| 			formData.set(key, val); | ||||
| 		} | ||||
| 	}); | ||||
| 	return formData; | ||||
| } | ||||
| const { serialize: serializeForm } = require("object-to-formdata"); | ||||
| 
 | ||||
| function instanceBasedQuery(args, api, extraOptions) { | ||||
| 	const state = api.getState(); | ||||
|  | @ -55,7 +39,9 @@ function instanceBasedQuery(args, api, extraOptions) { | |||
| 
 | ||||
| 	if (args.asForm) { | ||||
| 		delete args.asForm; | ||||
| 		args.body = convertToForm(args.body); | ||||
| 		args.body = serializeForm(args.body, { | ||||
| 			indices: true, // Array indices, for profile fields
 | ||||
| 		}); | ||||
| 	} | ||||
| 
 | ||||
| 	return fetchBaseQuery({ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue