VencordDesktop: Include web plugins & use proper showItemInFolder
This commit is contained in:
parent
d8a5e43034
commit
676bc612d9
9 changed files with 21 additions and 13 deletions
|
@ -80,7 +80,7 @@ await Promise.all([
|
|||
globalName: "Vencord",
|
||||
sourcemap,
|
||||
plugins: [
|
||||
globPlugins,
|
||||
globPlugins("discordDesktop"),
|
||||
...commonOpts.plugins
|
||||
],
|
||||
define: {
|
||||
|
@ -114,7 +114,7 @@ await Promise.all([
|
|||
globalName: "Vencord",
|
||||
sourcemap,
|
||||
plugins: [
|
||||
globPlugins,
|
||||
globPlugins("vencordDesktop"),
|
||||
...commonOpts.plugins
|
||||
],
|
||||
define: {
|
||||
|
|
|
@ -38,7 +38,7 @@ const commonOptions = {
|
|||
format: "iife",
|
||||
external: ["plugins", "git-hash", "/assets/*"],
|
||||
plugins: [
|
||||
globPlugins,
|
||||
globPlugins("web"),
|
||||
...commonOpts.plugins,
|
||||
],
|
||||
target: ["esnext"],
|
||||
|
|
|
@ -48,9 +48,9 @@ export const makeAllPackagesExternalPlugin = {
|
|||
};
|
||||
|
||||
/**
|
||||
* @type {import("esbuild").Plugin}
|
||||
* @type {(kind: "web" | "discordDesktop" | "vencordDesktop") => import("esbuild").Plugin}
|
||||
*/
|
||||
export const globPlugins = {
|
||||
export const globPlugins = kind => ({
|
||||
name: "glob-plugins",
|
||||
setup: build => {
|
||||
const filter = /^~plugins$/;
|
||||
|
@ -76,8 +76,10 @@ export const globPlugins = {
|
|||
if (fileBits.length > 2 && ["ts", "tsx"].includes(fileBits.at(-1))) {
|
||||
const mod = fileBits.at(-2);
|
||||
if (mod === "dev" && !watch) continue;
|
||||
if (mod === "web" && !isWeb) continue;
|
||||
if (mod === "desktop" && isWeb) continue;
|
||||
if (mod === "web" && kind === "discordDesktop") continue;
|
||||
if (mod === "desktop" && kind === "web") continue;
|
||||
if (mod === "discordDesktop" && kind !== "discordDesktop") continue;
|
||||
if (mod === "vencordDesktop" && kind !== "vencordDesktop") continue;
|
||||
}
|
||||
|
||||
const mod = `p${i}`;
|
||||
|
@ -93,7 +95,7 @@ export const globPlugins = {
|
|||
};
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
/**
|
||||
* @type {import("esbuild").Plugin}
|
||||
|
|
|
@ -26,7 +26,7 @@ import { ErrorCard } from "@components/ErrorCard";
|
|||
import IpcEvents from "@utils/IpcEvents";
|
||||
import { Margins } from "@utils/margins";
|
||||
import { identity, useAwaiter } from "@utils/misc";
|
||||
import { relaunch } from "@utils/native";
|
||||
import { relaunch, showItemInFolder } from "@utils/native";
|
||||
import { Button, Card, Forms, React, Select, Slider, Switch } from "@webpack/common";
|
||||
|
||||
const cl = classNameFactory("vc-settings-");
|
||||
|
@ -65,7 +65,7 @@ function VencordSettings() {
|
|||
title: "Enable React Developer Tools",
|
||||
note: "Requires a full restart"
|
||||
},
|
||||
!IS_WEB && (!isWindows ? {
|
||||
!IS_WEB && (!IS_DISCORD_DESKTOP || !isWindows ? {
|
||||
key: "frameless",
|
||||
title: "Disable the window frame",
|
||||
note: "Requires a full restart"
|
||||
|
@ -112,8 +112,7 @@ function VencordSettings() {
|
|||
Open QuickCSS File
|
||||
</Button>
|
||||
<Button
|
||||
// FIXME: Vencord Desktop support
|
||||
onClick={() => window.DiscordNative.fileManager.showItemInFolder(settingsDir)}
|
||||
onClick={() => showItemInFolder(settingsDir)}
|
||||
size={Button.Sizes.SMALL}
|
||||
disabled={settingsDirPending}>
|
||||
Open Settings Folder
|
||||
|
|
|
@ -35,7 +35,7 @@ export default definePlugin({
|
|||
find: ".Menu,{",
|
||||
all: true,
|
||||
replacement: {
|
||||
match: /(?<=\.jsxs?\)\(\i\.Menu,)\{/,
|
||||
match: /(?<=\.jsxs?\)\(\i\.Menu,)\{/g,
|
||||
replace: "{contextMenuApiArguments:typeof arguments!=='undefined'?arguments:[],"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,3 +22,10 @@ export function relaunch() {
|
|||
else
|
||||
window.VencordDesktop.app.relaunch();
|
||||
}
|
||||
|
||||
export function showItemInFolder(path: string) {
|
||||
if (IS_DISCORD_DESKTOP)
|
||||
window.DiscordNative.fileManager.showItemInFolder(path);
|
||||
else
|
||||
window.VencordDesktop.fileManager.showItemInFolder(path);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue