diff --git a/web/components/config/form-toggleswitch.tsx b/web/components/config/form-toggleswitch.tsx
index 1a05ad65b..f162d0a57 100644
--- a/web/components/config/form-toggleswitch.tsx
+++ b/web/components/config/form-toggleswitch.tsx
@@ -22,6 +22,7 @@ interface ToggleSwitchProps {
apiPath?: string;
checked?: boolean;
+ reversed?: boolean;
configPath?: string;
disabled?: boolean;
label?: string;
@@ -40,6 +41,7 @@ export default function ToggleSwitch(props: ToggleSwitchProps) {
const {
apiPath,
checked,
+ reversed = false,
configPath = '',
disabled = false,
fieldName,
@@ -58,12 +60,13 @@ export default function ToggleSwitch(props: ToggleSwitchProps) {
const handleChange = async (isChecked: boolean) => {
if (useSubmit) {
setSubmitStatus(createInputStatus(STATUS_PROCESSING));
+ const isCheckedSend = reversed ? !isChecked : isChecked;
await postConfigUpdateToAPI({
apiPath,
- data: { value: isChecked },
+ data: { value: isCheckedSend },
onSuccess: () => {
- setFieldInConfigState({ fieldName, value: isChecked, path: configPath });
+ setFieldInConfigState({ fieldName, value: isCheckedSend, path: configPath });
setSubmitStatus(createInputStatus(STATUS_SUCCESS));
},
onError: (message: string) => {
@@ -109,6 +112,7 @@ export default function ToggleSwitch(props: ToggleSwitchProps) {
ToggleSwitch.defaultProps = {
apiPath: '',
checked: false,
+ reversed: false,
configPath: '',
disabled: false,
label: '',
diff --git a/web/pages/config-chat.tsx b/web/pages/config-chat.tsx
index 9da4134c1..bc22ef5a7 100644
--- a/web/pages/config-chat.tsx
+++ b/web/pages/config-chat.tsx
@@ -36,7 +36,7 @@ export default function ConfigChat() {
};
function handleChatDisableChange(disabled: boolean) {
- handleFieldChange({ fieldName: 'chatDisabled', value: disabled });
+ handleFieldChange({ fieldName: 'chatDisabled', value: !disabled });
}
function resetForbiddenUsernameState() {
@@ -95,7 +95,8 @@ export default function ConfigChat() {