Fix Web & Game Activity Toggle (#777)

This commit is contained in:
Nuckyz 2023-04-04 10:26:53 -03:00 committed by GitHub
parent d931790ed0
commit 96dc2e12d0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 36 additions and 41 deletions

View file

@ -50,7 +50,7 @@ jobs:
export CHROMIUM_BIN=$(which chromium-browser) export CHROMIUM_BIN=$(which chromium-browser)
export USE_CANARY=true export USE_CANARY=true
esbuild test/generateReport.ts > dist/report.mjs esbuild scripts/generateReport.ts > dist/report.mjs
node dist/report.mjs >> $GITHUB_STEP_SUMMARY node dist/report.mjs >> $GITHUB_STEP_SUMMARY
env: env:
DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }} DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }}

View file

@ -45,7 +45,9 @@ const commonOptions = {
define: { define: {
IS_WEB: "true", IS_WEB: "true",
IS_STANDALONE: "true", IS_STANDALONE: "true",
IS_DEV: JSON.stringify(watch) IS_DEV: JSON.stringify(watch),
IS_DISCORD_DESKTOP: "false",
IS_VENCORD_DESKTOP: "false"
} }
}; };

View file

@ -46,6 +46,7 @@ const cl = classNameFactory("vc-plugins-");
const logger = new Logger("PluginSettings", "#a6d189"); const logger = new Logger("PluginSettings", "#a6d189");
const InputStyles = findByPropsLazy("inputDefault", "inputWrapper"); const InputStyles = findByPropsLazy("inputDefault", "inputWrapper");
const ButtonClasses = findByPropsLazy("button", "disabled", "enabled");
const CogWheel = LazyComponent(() => findByCode("18.564C15.797 19.099 14.932 19.498 14 19.738V22H10V19.738C9.069")); const CogWheel = LazyComponent(() => findByCode("18.564C15.797 19.099 14.932 19.498 14 19.738V22H10V19.738C9.069"));
const InfoIcon = LazyComponent(() => findByCode("4.4408921e-16 C4.4771525,-1.77635684e-15 4.4408921e-16")); const InfoIcon = LazyComponent(() => findByCode("4.4408921e-16 C4.4771525,-1.77635684e-15 4.4408921e-16"));
@ -154,7 +155,7 @@ function PluginCard({ plugin, disabled, onRestartNeeded, onMouseEnter, onMouseLe
<Text variant="text-md/bold" className={cl("name")}> <Text variant="text-md/bold" className={cl("name")}>
{plugin.name}{isNew && <Badge text="NEW" color="#ED4245" />} {plugin.name}{isNew && <Badge text="NEW" color="#ED4245" />}
</Text> </Text>
<button role="switch" onClick={() => openModal()} className={classes("button-12Fmur", cl("info-button"))}> <button role="switch" onClick={() => openModal()} className={classes(ButtonClasses.button, cl("info-button"))}>
{plugin.options {plugin.options
? <CogWheel /> ? <CogWheel />
: <InfoIcon width="24" height="24" />} : <InfoIcon width="24" height="24" />}

View file

@ -72,6 +72,7 @@ export default definePlugin({
findAllByProps: (...props: string[]) => findAll(filters.byProps(...props)), findAllByProps: (...props: string[]) => findAll(filters.byProps(...props)),
findByCode: newFindWrapper(filters.byCode), findByCode: newFindWrapper(filters.byCode),
findAllByCode: (code: string) => findAll(filters.byCode(code)), findAllByCode: (code: string) => findAll(filters.byCode(code)),
findStore: newFindWrapper(filters.byStoreName),
PluginsApi: Vencord.Plugins, PluginsApi: Vencord.Plugins,
plugins: Vencord.Plugins.plugins, plugins: Vencord.Plugins.plugins,
React, React,

View file

@ -161,7 +161,11 @@ function initWs(isManual = false) {
return reply("Expected exactly one 'find' matches, found " + keys.length); return reply("Expected exactly one 'find' matches, found " + keys.length);
const mod = candidates[keys[0]]; const mod = candidates[keys[0]];
let src = String(mod.original ?? mod); let src = String(mod.original ?? mod).replaceAll("\n", "");
if (src.startsWith("function(")) {
src = "0," + src;
}
let i = 0; let i = 0;

View file

@ -21,36 +21,39 @@ import { disableStyle, enableStyle } from "@api/Styles";
import ErrorBoundary from "@components/ErrorBoundary"; import ErrorBoundary from "@components/ErrorBoundary";
import { Devs } from "@utils/constants"; import { Devs } from "@utils/constants";
import definePlugin from "@utils/types"; import definePlugin from "@utils/types";
import { Tooltip } from "@webpack/common"; import { findByCodeLazy } from "@webpack";
import style from "./style.css?managed"; import style from "./style.css?managed";
const ShowCurrentGame = getSettingStoreLazy<boolean>("status", "showCurrentGame"); const ShowCurrentGame = getSettingStoreLazy<boolean>("status", "showCurrentGame");
const Button = findByCodeLazy("Button.Sizes.NONE,disabled:");
function GameActivityToggleButton() { function makeIcon(showCurrentGame?: boolean) {
const showCurrentGame = ShowCurrentGame?.useSetting(); return function () {
return ( return (
<Tooltip text="Toggle Game Activity">
{tooltipProps => (
<button
{...tooltipProps}
className="game-activity-toggle-btn"
onClick={() => ShowCurrentGame?.updateSetting(old => !old)}
>
<svg <svg
width="24" width="24"
height="24" height="24"
viewBox="0 96 960 960" viewBox="0 96 960 960"
> >
<g fill="currentColor"> <path fill="currentColor" d="M182 856q-51 0-79-35.5T82 734l42-300q9-60 53.5-99T282 296h396q60 0 104.5 39t53.5 99l42 300q7 51-21 86.5T778 856q-21 0-39-7.5T706 826l-90-90H344l-90 90q-15 15-33 22.5t-39 7.5Zm498-240q17 0 28.5-11.5T720 576q0-17-11.5-28.5T680 536q-17 0-28.5 11.5T640 576q0 17 11.5 28.5T680 616Zm-80-120q17 0 28.5-11.5T640 456q0-17-11.5-28.5T600 416q-17 0-28.5 11.5T560 456q0 17 11.5 28.5T600 496ZM310 616h60v-70h70v-60h-70v-70h-60v70h-70v60h70v70Z" />
<path d="M182 856q-51 0-79-35.5T82 734l42-300q9-60 53.5-99T282 296h396q60 0 104.5 39t53.5 99l42 300q7 51-21 86.5T778 856q-21 0-39-7.5T706 826l-90-90H344l-90 90q-15 15-33 22.5t-39 7.5Zm498-240q17 0 28.5-11.5T720 576q0-17-11.5-28.5T680 536q-17 0-28.5 11.5T640 576q0 17 11.5 28.5T680 616Zm-80-120q17 0 28.5-11.5T640 456q0-17-11.5-28.5T600 416q-17 0-28.5 11.5T560 456q0 17 11.5 28.5T600 496ZM310 616h60v-70h70v-60h-70v-70h-60v70h-70v60h70v70Z" />
{!showCurrentGame && <line x1="920" y1="280" x2="40" y2="880" stroke="var(--status-danger)" stroke-width="80" />} {!showCurrentGame && <line x1="920" y1="280" x2="40" y2="880" stroke="var(--status-danger)" stroke-width="80" />}
</g>
</svg> </svg>
</button> );
)} };
</Tooltip> }
function GameActivityToggleButton() {
const showCurrentGame = ShowCurrentGame?.useSetting();
return (
<Button
tooltipText="Toggle Game Activity"
icon={makeIcon(showCurrentGame)}
role="switch"
aria-checked={!showCurrentGame}
onClick={() => ShowCurrentGame?.updateSetting(old => !old)}
/>
); );
} }

View file

@ -1,19 +1,3 @@
[class*="withTagAsButton"] { [class*="withTagAsButton"] {
min-width: 88px; min-width: 88px;
} }
.game-activity-toggle-btn {
all: unset;
color: var(--interactive-normal);
width: 32px;
height: 32px;
border-radius: 4px;
display: flex;
justify-content: center;
align-items: center;
}
.game-activity-toggle-btn:hover {
color: var(--interactive-hover);
background-color: var(--background-modifier-selected);
}