Plugin settings (#4143)

* Add backend support for plugin settings
* Add plugin settings config
* Add UI support for plugin settings
This commit is contained in:
WithoutPants
2023-10-18 14:09:13 +11:00
committed by GitHub
parent 06d8353f4f
commit 2b8718100b
24 changed files with 445 additions and 57 deletions

View File

@@ -192,6 +192,7 @@ export const ChangeButtonSetting = <T extends {}>(props: IDialogSetting<T>) => {
id,
className,
headingID,
heading,
tooltipID,
subHeadingID,
subHeading,
@@ -211,7 +212,11 @@ export const ChangeButtonSetting = <T extends {}>(props: IDialogSetting<T>) => {
<div className={`setting ${className ?? ""} ${disabledClassName}`} id={id}>
<div>
<h3 title={tooltip}>
{headingID ? intl.formatMessage({ id: headingID }) : undefined}
{headingID
? intl.formatMessage({ id: headingID })
: heading
? heading
: undefined}
</h3>
<div className="value">
@@ -240,7 +245,7 @@ export const ChangeButtonSetting = <T extends {}>(props: IDialogSetting<T>) => {
};
export interface ISettingModal<T> {
heading?: string;
heading?: React.ReactNode;
headingID?: string;
subHeadingID?: string;
subHeading?: React.ReactNode;
@@ -319,6 +324,7 @@ export const ModalSetting = <T extends {}>(props: IModalSetting<T>) => {
className,
value,
headingID,
heading,
subHeadingID,
subHeading,
onChange,
@@ -338,6 +344,7 @@ export const ModalSetting = <T extends {}>(props: IModalSetting<T>) => {
<SettingModal<T>
headingID={headingID}
subHeadingID={subHeadingID}
heading={heading}
subHeading={subHeading}
value={value}
renderField={renderField}
@@ -356,6 +363,7 @@ export const ModalSetting = <T extends {}>(props: IModalSetting<T>) => {
buttonText={buttonText}
buttonTextID={buttonTextID}
headingID={headingID}
heading={heading}
tooltipID={tooltipID}
subHeadingID={subHeadingID}
subHeading={subHeading}