Patch CustomFields Component (#5914)

This commit is contained in:
CJ 2025-06-10 18:45:03 -07:00 committed by GitHub
parent 815ce7139c
commit 46b0b8cba4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 23 additions and 16 deletions

View file

@ -54,23 +54,28 @@ const CustomField: React.FC<{ field: string; value: unknown }> = ({
); );
}; };
export const CustomFields: React.FC<ICustomFields> = ({ values }) => { export const CustomFields: React.FC<ICustomFields> = PatchComponent(
const intl = useIntl(); "CustomFields",
if (Object.keys(values).length === 0) { ({ values }) => {
return null; const intl = useIntl();
} if (Object.keys(values).length === 0) {
return null;
}
return ( return (
// according to linter rule CSS classes shouldn't use underscores // according to linter rule CSS classes shouldn't use underscores
<div className="custom-fields"> <div className="custom-fields">
<CollapseButton text={intl.formatMessage({ id: "custom_fields.title" })}> <CollapseButton
{Object.entries(values).map(([key, value]) => ( text={intl.formatMessage({ id: "custom_fields.title" })}
<CustomField key={key} field={key} value={value} /> >
))} {Object.entries(values).map(([key, value]) => (
</CollapseButton> <CustomField key={key} field={key} value={value} />
</div> ))}
); </CollapseButton>
}; </div>
);
}
);
function isNumeric(v: string) { function isNumeric(v: string) {
return /^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]+)?$/.test(v); return /^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]+)?$/.test(v);

View file

@ -149,6 +149,7 @@ Returns `void`.
- `CompressedPerformerDetailsPanel` - `CompressedPerformerDetailsPanel`
- `ConstantSetting` - `ConstantSetting`
- `CountrySelect` - `CountrySelect`
- `CustomFields`
- `CustomFieldInput` - `CustomFieldInput`
- `DateInput` - `DateInput`
- `DetailImage` - `DetailImage`

View file

@ -701,6 +701,7 @@ declare namespace PluginApi {
PerformerCard: React.FC<any>; PerformerCard: React.FC<any>;
ExternalLinkButtons: React.FC<any>; ExternalLinkButtons: React.FC<any>;
ExternalLinksButton: React.FC<any>; ExternalLinksButton: React.FC<any>;
CustomFields: React.FC<any>;
CustomFieldInput: React.FC<any>; CustomFieldInput: React.FC<any>;
ImageInput: React.FC<any>; ImageInput: React.FC<any>;
DetailImage: React.FC<any>; DetailImage: React.FC<any>;