From 1eabecc0c9f6e74f28015ec0828d7c46a831cac5 Mon Sep 17 00:00:00 2001 From: Oj Date: Fri, 23 Apr 2021 17:28:46 +0100 Subject: [PATCH] [PCCompat > Components > Settings] Add ButtonItem --- .../components/settings/buttonItem.js | 36 +++++++++++++++++++ .../powercord/components/settings/index.js | 1 + 2 files changed, 37 insertions(+) create mode 100644 moduleWrappers/powercord/components/settings/buttonItem.js diff --git a/moduleWrappers/powercord/components/settings/buttonItem.js b/moduleWrappers/powercord/components/settings/buttonItem.js new file mode 100644 index 0000000..6934112 --- /dev/null +++ b/moduleWrappers/powercord/components/settings/buttonItem.js @@ -0,0 +1,36 @@ +const { React } = goosemodScope.webpackModules.common; + +import FormItem from './formItem'; + +const OriginalButton = goosemod.webpackModules.findByProps('Sizes', 'Colors', 'Looks', 'DropdownSizes'); + +const Tooltip = goosemodScope.webpackModules.findByDisplayName('Tooltip'); + + +export default class TextInput extends React.PureComponent { + render() { + const title = this.props.children; + delete this.props.children; + + return React.createElement(FormItem, { + title, + note: this.props.note, + required: this.props.required + }, + + React.createElement(Tooltip, { + text: this.props.tooltipText, + position: this.props.tooltipPosition, + shouldShow: this.props.tooltipText !== '' + }, () => React.createElement(OriginalButton, + { + color: this.props.success ? OriginalButton.Colors.GREEN : (this.props.color || Buttons.Colors.BRAND), + disabled: this.props.disabled, + onClick: () => this.props.onClick(), + style: { marginLeft: 5 } + }, + this.props.button + )) + ); + } +} \ No newline at end of file diff --git a/moduleWrappers/powercord/components/settings/index.js b/moduleWrappers/powercord/components/settings/index.js index 7d0f896..e8aa21e 100644 --- a/moduleWrappers/powercord/components/settings/index.js +++ b/moduleWrappers/powercord/components/settings/index.js @@ -2,5 +2,6 @@ export { default as FormItem } from './formItem'; export { default as TextInput } from './textInput'; export { default as SliderInput } from './sliderInput'; export { default as Divider } from './divider'; +export { default as ButtonItem } from './buttonItem'; export const SwitchItem = goosemodScope.webpackModules.findByDisplayName('SwitchItem'); \ No newline at end of file