From 549bb1afece5b274b127b8bea7538809149289b2 Mon Sep 17 00:00:00 2001 From: Oj Date: Mon, 7 Jun 2021 22:19:03 +0100 Subject: [PATCH] [PCCompat > Settings] Properly show SwitchItem changes, return values for settings store --- .../powercord/components/settings/index.js | 3 +-- .../components/settings/switchItem.js | 22 +++++++++++++++++++ moduleWrappers/powercord/util/settings.js | 4 ++++ 3 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 moduleWrappers/powercord/components/settings/switchItem.js diff --git a/moduleWrappers/powercord/components/settings/index.js b/moduleWrappers/powercord/components/settings/index.js index 1d5d4ad..61d6c9a 100644 --- a/moduleWrappers/powercord/components/settings/index.js +++ b/moduleWrappers/powercord/components/settings/index.js @@ -4,5 +4,4 @@ export { default as SliderInput } from './sliderInput'; export { default as Divider } from './divider'; export { default as ButtonItem } from './buttonItem'; export { default as Category } from './category'; - -export const SwitchItem = goosemodScope.webpackModules.findByDisplayName('SwitchItem'); \ No newline at end of file +export { default as SwitchItem } from './switchItem'; \ No newline at end of file diff --git a/moduleWrappers/powercord/components/settings/switchItem.js b/moduleWrappers/powercord/components/settings/switchItem.js new file mode 100644 index 0000000..85ce412 --- /dev/null +++ b/moduleWrappers/powercord/components/settings/switchItem.js @@ -0,0 +1,22 @@ +const { React } = goosemodScope.webpackModules.common; +const SwitchItem = goosemodScope.webpackModules.findByDisplayName('SwitchItem'); + +export default class SwitchItemContainer extends React.Component { + constructor(props) { + const originalHandler = props.onChange; + props.onChange = (e) => { + originalHandler(e); + + this.props.value = e; + this.forceUpdate(); + }; + + super(props); + } + + render() { + return React.createElement(SwitchItem, { + ...this.props + }); + } +} \ No newline at end of file diff --git a/moduleWrappers/powercord/util/settings.js b/moduleWrappers/powercord/util/settings.js index bde6780..17023d6 100644 --- a/moduleWrappers/powercord/util/settings.js +++ b/moduleWrappers/powercord/util/settings.js @@ -19,10 +19,14 @@ class SimpleStore { } this.store[key] = value; + + return this.store[key]; } toggleSetting = (key) => { this.store[key] = !this.store[key]; + + return this.store[key]; } deleteSetting = (key) => {