Skip to content
Snippets Groups Projects
Unverified Commit 7a5433c2 authored by pierre-lehnen-rc's avatar pierre-lehnen-rc Committed by GitHub
Browse files

[FIX] Admin UI is not rendering when trying to edit an user (#17972)

parent a2244206
No related branches found
No related tags found
No related merge requests found
import React, { useMemo, useEffect } from 'react';
import React, { useMemo, useEffect, useState } from 'react';
import { TextInput, Select, Field, Divider, Box } from '@rocket.chat/fuselage';
import { useSetting } from '../../contexts/SettingsContext';
......@@ -59,17 +59,27 @@ export default function CustomFieldsForm({ customFieldsData, setCustomFieldsData
const customFieldsJson = useSetting('Accounts_CustomFields');
// TODO: add deps. Left this way so that a possible change in the setting can't crash the page (useForm generates states automatically)
const customFields = useMemo(() => JSON.parse(customFieldsJson || '{}'), []);
const [customFields] = useState(() => {
try {
JSON.parse(customFieldsJson || '{}');
} catch {
return {};
}
});
const hasCustomFields = Boolean(Object.values(customFields).length);
const defaultFields = useMemo(() => Object.entries(customFields).reduce((data, [key, value]) => { data[key] = value.defaultValue ?? ''; return data; }, {}), []);
const { values, handlers } = useForm({ ...defaultFields, ...customFieldsData });
useEffect(() => {
setCustomFieldsData(values);
if (hasCustomFields) {
setCustomFieldsData(values);
}
// TODO: remove stringify. Is needed to avoid infinite rendering
}, [JSON.stringify(values)]);
if (!Object.values(customFields).length) {
if (!hasCustomFields) {
return null;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment