Skip to content

Commit e25bb27

Browse files
committed
feat: wrap Checkbox to support the prop value
1 parent 0d05598 commit e25bb27

File tree

4 files changed

+30
-12
lines changed

4 files changed

+30
-12
lines changed
Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
import type React from "react";
12
import components from "../common/components";
23

3-
export default components.Checkbox;
4+
import type * as Design from "discord-client-types/discord_app/design/web";
5+
6+
const { Checkbox } = components;
7+
8+
type CustomCheckboxProps = Design.CheckboxProps & {
9+
value?: boolean;
10+
};
11+
12+
export type CustomCheckboxType = React.FC<CustomCheckboxProps>;
13+
14+
function CustomCheckbox({ value, ...props }: CustomCheckboxProps): React.ReactElement {
15+
return <Checkbox checked={value} {...props} />;
16+
}
17+
18+
export default CustomCheckbox;

src/renderer/modules/components/HelpMessage.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
import { getExportsForProps, getFunctionBySource } from "@webpack";
22
import components from "../common/components";
33

4-
import type * as CommonDesign from "discord-client-types/discord_common/packages/design/web";
4+
import type * as Design from "discord-client-types/discord_app/design/web";
55

6-
export type CustomHelpMessage = CommonDesign.HelpMessage & {
6+
export type CustomHelpMessage = Design.HelpMessage & {
77
// Backwards compatibility
8-
Types: typeof CommonDesign.HelpMessageTypes;
9-
HelpMessageTypes: typeof CommonDesign.HelpMessageTypes;
8+
Types: typeof Design.HelpMessageTypes;
9+
HelpMessageTypes: typeof Design.HelpMessageTypes;
1010
};
1111

1212
const HelpMessage = getFunctionBySource<CustomHelpMessage>(components, /messageType:\i,action/)!;
13-
const HelpMessageTypes = getExportsForProps<typeof CommonDesign.HelpMessageTypes>(components, [
13+
const HelpMessageTypes = getExportsForProps<typeof Design.HelpMessageTypes>(components, [
1414
"INFO",
1515
"ERROR",
1616
])!;

src/renderer/modules/components/Text.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
import { parser } from "@common";
2+
import type React from "react";
23
import components from "../common/components";
34

4-
import type * as CommonDesign from "discord-client-types/discord_common/packages/design/web";
5+
import type * as Design from "discord-client-types/discord_app/design/web";
56

6-
interface CustomTextProps extends CommonDesign.TextProps {
7+
interface CustomTextProps extends Design.TextProps {
78
markdown?: boolean;
89
allowMarkdownLinks?: boolean;
910
allowMarkdownHeading?: boolean;
1011
allowMarkdownList?: boolean;
1112
}
1213

13-
export type CustomTextType = CommonDesign.Text &
14+
export type CustomTextType = Design.Text &
1415
Record<"Normal" | "H1" | "H2" | "H3" | "H4" | "Eyebrow", React.FC<CustomTextProps>>;
1516

1617
const { Text } = components;

src/renderer/modules/components/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,6 @@ importTimeout("Breadcrumbs", import("./Breadcrumbs"), (mod) => (Breadcrumbs = mo
4444
export let Button: VoidDesign.Button;
4545
importTimeout("Button", import("./ButtonItem"), (mod) => (Button = mod.Button));
4646

47-
export let Checkbox: Design.Checkbox;
48-
importTimeout("Checkbox", import("./Checkbox"), (mod) => (Checkbox = mod.default));
49-
5047
export let Clickable: typeof Design.Clickable;
5148
importTimeout("Clickable", import("./Clickable"), (mod) => (Clickable = mod.default));
5249

@@ -104,6 +101,11 @@ export type { ButtonItemType };
104101
export let ButtonItem: ButtonItemType;
105102
importTimeout("ButtonItem", import("./ButtonItem"), (mod) => (ButtonItem = mod.ButtonItem));
106103

104+
import type { CustomCheckboxType } from "./Checkbox";
105+
export type { CustomCheckboxType };
106+
export let Checkbox: CustomCheckboxType;
107+
importTimeout("Checkbox", import("./Checkbox"), (mod) => (Checkbox = mod.default));
108+
107109
import type { ColorPickerItemType } from "./ColorPickerItem";
108110
export type { ColorPickerItemType };
109111
export let ColorPickerItem: ColorPickerItemType;

0 commit comments

Comments
 (0)