/* * SPDX-License-Identifier: GPL-3.0 * Vesktop, a desktop app aiming to give you a snappier Discord Experience * Copyright (c) 2023 Vendicated and Vencord contributors */ import "./settings.css"; import { Margins } from "@vencord/types/utils"; import { Button, Forms, Select, Switch, Text, useState } from "@vencord/types/webpack/common"; import { setBadge } from "renderer/appBadge"; import { useSettings } from "renderer/settings"; export default function SettingsUi() { const Settings = useSettings(); const supportsWindowsTransparency = VesktopNative.app.supportsWindowsTransparency(); const { autostart } = VesktopNative; const [autoStartEnabled, setAutoStartEnabled] = useState(autostart.isEnabled()); const switches: [keyof typeof Settings, string, string, boolean?, (() => boolean)?][] = [ ["tray", "Tray Icon", "Add a tray icon for Vesktop", true], [ "minimizeToTray", "Minimize to tray", "Hitting X will make Vesktop minimize to the tray instead of closing", true, () => Settings.tray ?? true ], ["arRPC", "Rich Presence", "Enables Rich Presence via arRPC", false], [ "disableMinSize", "Disable minimum window size", "Allows you to make the window as small as your heart desires" ], [ "openLinksWithElectron", "Open Links in app (experimental)", "Opens links in a new Vesktop window instead of your web browser" ], ["staticTitle", "Static Title", 'Makes the window title "Vencord" instead of changing to the current page'] ]; return ( Vesktop Settings Discord Branch (Settings.transparencyOption = v)} isSelected={v => v === Settings.transparencyOption} serialize={s => s} /> )} Vencord Location Vencord files are loaded from{" "} {Settings.vencordDir ? ( { e.preventDefault(); VesktopNative.fileManager.showItemInFolder(Settings.vencordDir!); }} > {Settings.vencordDir} ) : ( "the default location" )}
); }