diff --git a/packages/discord-types/src/stores/AuthenticationStore.d.ts b/packages/discord-types/src/stores/AuthenticationStore.d.ts index 3ad2354f6..1c95db532 100644 --- a/packages/discord-types/src/stores/AuthenticationStore.d.ts +++ b/packages/discord-types/src/stores/AuthenticationStore.d.ts @@ -5,7 +5,7 @@ export class AuthenticationStore extends FluxStore { * Gets the id of the current user */ getId(): string; - + getSessionId(): string; // This Store has a lot more methods related to everything Auth, but they really should // not be needed, so they are not typed } diff --git a/src/api/Notifications/styles.css b/src/api/Notifications/styles.css index e1bf26172..400fb7d4a 100644 --- a/src/api/Notifications/styles.css +++ b/src/api/Notifications/styles.css @@ -136,6 +136,6 @@ } .vc-notification-log-danger-btn { - color: var(--white-500); - background-color: var(--status-danger); + color: var(--control-critical-primary-text-default); + background-color: var(--control-critical-primary-background-default); } \ No newline at end of file diff --git a/src/components/Button.css b/src/components/Button.css index 396123a69..9a77eaf86 100644 --- a/src/components/Button.css +++ b/src/components/Button.css @@ -144,11 +144,11 @@ } .vc-btn-positive { - background-color: var(--status-positive-background); + background-color: var(--control-connected-background-default, var(--green-430)); color: var(--white); &:hover { - background-color: var(--redesign-button-positive-pressed-background, var(--green-460)); + background-color: var(--control-connected-background-hover, var(--green-460)); } } diff --git a/src/components/settings/QuickAction.css b/src/components/settings/QuickAction.css index 0d65f5a75..2666b33da 100644 --- a/src/components/settings/QuickAction.css +++ b/src/components/settings/QuickAction.css @@ -14,8 +14,8 @@ .vc-settings-quickActions-pill { all: unset; - background: var(--channeltextarea-background); - color: var(--text-default); + background: var(--control-secondary-background-default); + color: var(--control-secondary-text-default, var(--text-default)); display: flex; align-items: center; justify-content: center; @@ -29,7 +29,7 @@ } .vc-settings-quickActions-pill:hover { - background: var(--redesign-button-tertiary-pressed-background); + background: var(--control-secondary-background-hover); transform: translateY(-1px); box-shadow: var(--elevation-high); } diff --git a/src/components/settings/tabs/plugins/PluginModal.css b/src/components/settings/tabs/plugins/PluginModal.css index bab1bbf19..90620c665 100644 --- a/src/components/settings/tabs/plugins/PluginModal.css +++ b/src/components/settings/tabs/plugins/PluginModal.css @@ -42,7 +42,7 @@ gap: var(--space-8, 8px); } -.vc-plugin-modal-confirm [class*="footer"]>button { +.vc-plugin-modal-confirm [class*="footer"] > button { flex: 1; margin: 0; width: 100%; @@ -54,3 +54,11 @@ gap: 4px; color: var(--text-feedback-critical); } + +.vc-settings-modal-content { + padding-bottom: 24px; +} + +.vc-plugin-modal-info { + align-items: center; +} \ No newline at end of file diff --git a/src/components/settings/tabs/plugins/PluginModal.tsx b/src/components/settings/tabs/plugins/PluginModal.tsx index 57b3d5ebf..76b266db9 100644 --- a/src/components/settings/tabs/plugins/PluginModal.tsx +++ b/src/components/settings/tabs/plugins/PluginModal.tsx @@ -78,7 +78,8 @@ export default function PluginModal({ plugin, onRestartNeeded, onClose, transiti const pluginSettings = useSettings([`plugins.${plugin.name}.*`]).plugins[plugin.name]; const hasSettings = Boolean(pluginSettings && plugin.options && !isObjectEmpty(plugin.options)); - const [authors, setAuthors] = useState[]>([]); + // prefill dummy user to avoid layout shift + const [authors, setAuthors] = useState[]>(() => [makeDummyUser({ username: "Loading...", id: "-1465912127305809920" })]); useEffect(() => { (async () => { @@ -178,7 +179,7 @@ export default function PluginModal({ plugin, onRestartNeeded, onClose, transiti - +
Authors
diff --git a/src/components/settings/tabs/plugins/UIElements.tsx b/src/components/settings/tabs/plugins/UIElements.tsx index 2010d6c09..6d79c96cb 100644 --- a/src/components/settings/tabs/plugins/UIElements.tsx +++ b/src/components/settings/tabs/plugins/UIElements.tsx @@ -55,28 +55,35 @@ function Section(props: { }) { const { buttonMap, description, title, settings } = props; + const switches = Array.from(buttonMap, ([name, { icon }]) => { + const Icon = icon ?? PlaceholderIcon; + return ( + + + {name} + { + settings[name] ??= {} as any; + settings[name].enabled = v; + }} + /> + + ); + }); + return (
{title} {description}
- {Array.from(buttonMap, ([name, { icon }]) => { - const Icon = icon ?? PlaceholderIcon; - return ( - - - {name} - { - settings[name] ??= {} as any; - settings[name].enabled = v; - }} - /> - - ); - })} + {switches.length === 0 && ( + + Buttons of enabled plugins will appear here. + + )} + {switches}
); diff --git a/src/components/settings/tabs/plugins/components/TextSetting.tsx b/src/components/settings/tabs/plugins/components/TextSetting.tsx index 7eb4b9f9c..ad60a1111 100644 --- a/src/components/settings/tabs/plugins/components/TextSetting.tsx +++ b/src/components/settings/tabs/plugins/components/TextSetting.tsx @@ -17,7 +17,7 @@ */ import { PluginOptionString } from "@utils/types"; -import { React, TextInput, useState } from "@webpack/common"; +import { React, TextArea, TextInput, useState } from "@webpack/common"; import { resolveError, SettingProps, SettingsSection } from "./Common"; @@ -38,15 +38,23 @@ export function TextSetting({ option, pluginSettings, definedSettings, id, onCha return ( - + {option.multiline + ?