Add more Webpack Commons & utils

This commit is contained in:
Vendicated 2022-10-09 19:48:42 +02:00
parent bb7332cefd
commit 2105de8ca5
No known key found for this signature in database
GPG Key ID: EC781ADFB93EFFA3
4 changed files with 25 additions and 0 deletions

1
src/globals.d.ts vendored

@ -5,6 +5,7 @@ declare global {
export var appSettings: { export var appSettings: {
set(setting: string, v: any): void; set(setting: string, v: any): void;
}; };
export var DiscordNative: any;
interface Window { interface Window {
webpackChunkdiscord_app: { webpackChunkdiscord_app: {

10
src/utils/discord.ts Normal file

@ -0,0 +1,10 @@
import { Guild } from "discord-types/general";
import { ChannelStore, SelectedChannelStore, GuildStore } from "../webpack/common";
export function getCurrentChannel() {
return ChannelStore.getChannel(SelectedChannelStore.getChannelId());
}
export function getCurrentGuild(): Guild | undefined {
return GuildStore.getGuild(getCurrentChannel()?.guild_id);
}

@ -125,3 +125,7 @@ export function humanFriendlyJoin(elements: any[], mapper: (e: any) => string =
export function classes(...classes: string[]) { export function classes(...classes: string[]) {
return classes.join(" "); return classes.join(" ");
} }
export function sleep(ms: number): Promise<void> {
return new Promise(r => setTimeout(r, ms));
}

@ -8,7 +8,12 @@ export const Margins = lazyWebpack(filters.byProps(["marginTop20"]));
export let FluxDispatcher: Other.FluxDispatcher; export let FluxDispatcher: Other.FluxDispatcher;
export let React: typeof import("react"); export let React: typeof import("react");
export let GuildStore: Stores.GuildStore;
export let UserStore: Stores.UserStore; export let UserStore: Stores.UserStore;
export let SelectedChannelStore: Stores.SelectedChannelStore;
export let ChannelStore: Stores.ChannelStore;
export const Forms = {} as { export const Forms = {} as {
FormTitle: Components.FormTitle; FormTitle: Components.FormTitle;
FormSection: any; FormSection: any;
@ -86,7 +91,12 @@ waitFor(["dispatch", "subscribe"], m => {
}; };
m.subscribe("CONNECTION_OPEN", cb); m.subscribe("CONNECTION_OPEN", cb);
}); });
waitFor(["getCurrentUser", "initialize"], m => UserStore = m); waitFor(["getCurrentUser", "initialize"], m => UserStore = m);
waitFor("getSortedPrivateChannels", m => ChannelStore = m);
waitFor("getCurrentlySelectedChannelId", m => SelectedChannelStore = m);
waitFor("getGuildCount", m => GuildStore = m);
waitFor(["Hovers", "Looks", "Sizes"], m => Button = m); waitFor(["Hovers", "Looks", "Sizes"], m => Button = m);
waitFor(filters.byCode("helpdeskArticleId"), m => Switch = m); waitFor(filters.byCode("helpdeskArticleId"), m => Switch = m);
waitFor(["Positions", "Colors"], m => Tooltip = m); waitFor(["Positions", "Colors"], m => Tooltip = m);