fix: show proper icon after toggle setting in VC

This commit is contained in:
Oleh Polisan 2024-06-17 18:35:39 +03:00
parent c931d7d5e2
commit d44df8abaa
2 changed files with 20 additions and 10 deletions

View file

@ -14,7 +14,7 @@ import { isMac, isWindows } from "renderer/utils";
import { AutoStartToggle } from "./AutoStartToggle"; import { AutoStartToggle } from "./AutoStartToggle";
import { DiscordBranchPicker } from "./DiscordBranchPicker"; import { DiscordBranchPicker } from "./DiscordBranchPicker";
import { NotificationBadgeToggle } from "./NotificationBadgeToggle"; import { NotificationBadgeToggle } from "./NotificationBadgeToggle";
import { TrayIconPicker } from "./TrayColorPicker"; import { TrayIconPicker, TraySwitch } from "./TraySettings";
import { VencordLocationPicker } from "./VencordLocationPicker"; import { VencordLocationPicker } from "./VencordLocationPicker";
import { WindowsTransparencyControls } from "./WindowsTransparencyControls"; import { WindowsTransparencyControls } from "./WindowsTransparencyControls";
@ -69,13 +69,7 @@ const SettingsOptions: Record<string, Array<BooleanSetting | SettingsComponent>>
WindowsTransparencyControls WindowsTransparencyControls
], ],
Behaviour: [ Behaviour: [
{ TraySwitch,
key: "tray",
title: "Tray Icon",
description: "Add a tray icon for Vesktop",
defaultValue: true,
invisible: () => isMac
},
TrayIconPicker, TrayIconPicker,
{ {
key: "minimizeToTray", key: "minimizeToTray",

View file

@ -8,9 +8,9 @@ import "./traySetting.css";
import { Margins } from "@vencord/types/utils"; import { Margins } from "@vencord/types/utils";
import { findByCodeLazy } from "@vencord/types/webpack"; import { findByCodeLazy } from "@vencord/types/webpack";
import { Forms } from "@vencord/types/webpack/common"; import { Forms, Switch } from "@vencord/types/webpack/common";
import { isInCall, setCurrentState } from "renderer/patches/tray"; import { isInCall, setCurrentState } from "renderer/patches/tray";
import { isLinux } from "renderer/utils"; import { isLinux, isMac } from "renderer/utils";
import { SettingsComponent } from "./Settings"; import { SettingsComponent } from "./Settings";
@ -33,6 +33,22 @@ if (!isLinux)
if (color) presets.unshift(color); if (color) presets.unshift(color);
}); });
export const TraySwitch: SettingsComponent = ({ settings }) => {
if (isMac) return null;
return (
<Switch
value={settings.tray ?? true}
onChange={async t => {
settings.tray = t;
if (isInCall) setCurrentState();
}}
note="Tray Icon"
>
Tray Icon
</Switch>
);
};
export const TrayIconPicker: SettingsComponent = ({ settings }) => { export const TrayIconPicker: SettingsComponent = ({ settings }) => {
if (!settings.tray) return null; if (!settings.tray) return null;
return ( return (