diff --git a/renderer/.babelrc.js b/renderer/.babelrc.js index 6ed6cb95..54157904 100644 --- a/renderer/.babelrc.js +++ b/renderer/.babelrc.js @@ -15,10 +15,16 @@ module.exports = { "module-resolver", { alias: { - "builtins": "./src/builtins/builtins.js", - "data": "./src/data/data.js", - "@modules": path.join(__dirname, "src", "modules"), + "@assets": path.join(__dirname, "..", "assets"), "@common": path.join(__dirname, "..", "common"), + + "@builtins": path.join(__dirname, "src", "builtins"), + "@data": path.join(__dirname, "src", "data"), + "@modules": path.join(__dirname, "src", "modules"), + "@polyfill": path.join(__dirname, "src", "polyfill"), + "@structs": path.join(__dirname, "src", "structs"), + "@styles": path.join(__dirname, "src", "styles"), + "@ui": path.join(__dirname, "src", "ui"), } } ]] diff --git a/renderer/jsconfig.json b/renderer/jsconfig.json index c98c9b52..4671b46e 100644 --- a/renderer/jsconfig.json +++ b/renderer/jsconfig.json @@ -4,10 +4,15 @@ "allowSyntheticDefaultImports": false, "baseUrl": "./", "paths": { - "builtins": ["./src/builtins/builtins.js"], - "data": ["./src/data/data.js"], + "@assets/*": ["../assets/*"], + "@common/*": ["../common/*"], + "@builtins/*": ["./src/builtins/*"], + "@data/*": ["./src/data/*"], "@modules/*": ["./src/modules/*"], - "@common/*": ["../common/*"] + "@polyfill/*": ["./src/polyfill/*"], + "@structs/*": ["./src/structs/*"], + "@styles/*": ["./src/styles/*"], + "@ui/*": ["./src/ui/*"] } }, "exclude": ["node_modules"] diff --git a/renderer/src/builtins/customcss.js b/renderer/src/builtins/customcss.js index 04318093..9b9307c1 100644 --- a/renderer/src/builtins/customcss.js +++ b/renderer/src/builtins/customcss.js @@ -1,4 +1,8 @@ -import Builtin from "../structs/builtin"; +import fs from "fs"; +import electron from "electron"; + +import Builtin from "@structs/builtin"; + import Settings from "@modules/settingsmanager"; import DataStore from "@modules/datastore"; import React from "@modules/react"; @@ -7,13 +11,13 @@ import Events from "@modules/emitter"; import DOMManager from "@modules/dommanager"; import Strings from "@modules/strings"; import DiscordModules from "@modules/discordmodules"; -import CSSEditor from "../ui/customcss/csseditor"; -import FloatingWindows from "../ui/floatingwindows"; -import SettingsTitle from "../ui/settings/title"; -import Utilities from "../modules/utilities"; +import Utilities from "@modules/utilities"; + +import CSSEditor from "@ui/customcss/csseditor"; +import FloatingWindows from "@ui/floatingwindows"; +import SettingsTitle from "@ui/settings/title"; + -const fs = require("fs"); -const electron = require("electron"); const UserSettings = WebpackModules.getByProps("updateAccount"); const Dispatcher = DiscordModules.Dispatcher; diff --git a/renderer/src/builtins/developer/debugger.js b/renderer/src/builtins/developer/debugger.js index fffebbe4..00d5cd40 100644 --- a/renderer/src/builtins/developer/debugger.js +++ b/renderer/src/builtins/developer/debugger.js @@ -1,4 +1,4 @@ -import Builtin from "../../structs/builtin"; +import Builtin from "@structs/builtin"; export default new class DeveloperMode extends Builtin { get name() {return "Debugger";} diff --git a/renderer/src/builtins/developer/debuglogs.js b/renderer/src/builtins/developer/debuglogs.js index d10a58bb..b1b0ea0f 100644 --- a/renderer/src/builtins/developer/debuglogs.js +++ b/renderer/src/builtins/developer/debuglogs.js @@ -1,7 +1,8 @@ -const fs = require("fs"); -const path = require("path"); -import Builtin from "../../structs/builtin"; -import DataStore from "../../modules/datastore"; +import fs from "fs"; +import path from "path"; + +import Builtin from "@structs/builtin"; +import DataStore from "@modules/datastore"; const timestamp = () => new Date().toISOString().replace("T", " ").replace("Z", ""); diff --git a/renderer/src/builtins/developer/devtools.js b/renderer/src/builtins/developer/devtools.js index 0835efbb..a573117c 100644 --- a/renderer/src/builtins/developer/devtools.js +++ b/renderer/src/builtins/developer/devtools.js @@ -1,5 +1,6 @@ -import Builtin from "../../structs/builtin"; -import IPC from "../../modules/ipc"; +import Builtin from "@structs/builtin"; + +import IPC from "@modules/ipc"; export default new class DevToolsListener extends Builtin { get name() {return "DevTools";} diff --git a/renderer/src/builtins/developer/devtoolswarning.js b/renderer/src/builtins/developer/devtoolswarning.js index a97903f5..e2b9db4d 100644 --- a/renderer/src/builtins/developer/devtoolswarning.js +++ b/renderer/src/builtins/developer/devtoolswarning.js @@ -1,6 +1,6 @@ -import Builtin from "../../structs/builtin"; -import WebpackModules from "../../modules/webpackmodules"; -// import IPC from "../../modules/ipc"; +import Builtin from "@structs/builtin"; + +import WebpackModules from "@modules/webpackmodules"; export default new class StopDevToolsWarning extends Builtin { get name() {return "StopDevToolsWarning";} diff --git a/renderer/src/builtins/developer/inspectelement.js b/renderer/src/builtins/developer/inspectelement.js index 50d6a4ae..09742ebe 100644 --- a/renderer/src/builtins/developer/inspectelement.js +++ b/renderer/src/builtins/developer/inspectelement.js @@ -1,5 +1,6 @@ -import Builtin from "../../structs/builtin"; -import IPC from "../../modules/ipc"; +import Builtin from "@structs/builtin"; + +import IPC from "@modules/ipc"; export default new class InspectElement extends Builtin { get name() {return "InspectElementHotkey";} diff --git a/renderer/src/builtins/developer/reactdevtools.js b/renderer/src/builtins/developer/reactdevtools.js index 56635fef..4b4722c3 100644 --- a/renderer/src/builtins/developer/reactdevtools.js +++ b/renderer/src/builtins/developer/reactdevtools.js @@ -1,9 +1,11 @@ -import Builtin from "../../structs/builtin"; -import Modals from "../../ui/modals"; +import Builtin from "@structs/builtin"; import Strings from "@modules/strings"; import IPC from "@modules/ipc"; +import Modals from "@ui/modals"; + + export default new class ReactDevTools extends Builtin { get name() {return "ReactDevTools";} get category() {return "developer";} diff --git a/renderer/src/builtins/general/mediakeys.js b/renderer/src/builtins/general/mediakeys.js index b1cb210b..78922e93 100644 --- a/renderer/src/builtins/general/mediakeys.js +++ b/renderer/src/builtins/general/mediakeys.js @@ -1,9 +1,11 @@ -import Builtin from "../../structs/builtin"; -import Modals from "../../ui/modals"; +import Builtin from "@structs/builtin"; import Strings from "@modules/strings"; import IPC from "@modules/ipc"; +import Modals from "@ui/modals"; + + export default new class MediaKeys extends Builtin { get name() {return "DisableMediaKeys";} get category() {return "general";} diff --git a/renderer/src/builtins/general/voicedisconnect.js b/renderer/src/builtins/general/voicedisconnect.js index a8089996..f59b877a 100644 --- a/renderer/src/builtins/general/voicedisconnect.js +++ b/renderer/src/builtins/general/voicedisconnect.js @@ -1,4 +1,5 @@ -import Builtin from "../../structs/builtin"; +import Builtin from "@structs/builtin"; + import DiscordModules from "@modules/discordmodules"; export default new class VoiceDisconnect extends Builtin { diff --git a/renderer/src/builtins/window/removeminimumsize.js b/renderer/src/builtins/window/removeminimumsize.js index 964a8f0b..5c6cecbd 100644 --- a/renderer/src/builtins/window/removeminimumsize.js +++ b/renderer/src/builtins/window/removeminimumsize.js @@ -1,6 +1,7 @@ -import Builtin from "../../structs/builtin"; -import IPC from "../../modules/ipc"; -import DataStore from "../../modules/datastore"; +import Builtin from "@structs/builtin"; + +import IPC from "@modules/ipc"; +import DataStore from "@modules/datastore"; const DISCORD_MIN_HEIGHT = 500; const DISCORD_MIN_WIDTH = 940; diff --git a/renderer/src/builtins/window/transparency.js b/renderer/src/builtins/window/transparency.js index e49e1efc..31525073 100644 --- a/renderer/src/builtins/window/transparency.js +++ b/renderer/src/builtins/window/transparency.js @@ -1,9 +1,11 @@ -import Builtin from "../../structs/builtin"; -import Modals from "../../ui/modals"; +import Builtin from "@structs/builtin"; import Strings from "@modules/strings"; import IPC from "@modules/ipc"; +import Modals from "@ui/modals"; + + export default new class WindowTransparency extends Builtin { get name() {return "WindowTransparency";} get category() {return "window";} diff --git a/renderer/src/data/data.js b/renderer/src/data/data.js deleted file mode 100644 index 00775b05..00000000 --- a/renderer/src/data/data.js +++ /dev/null @@ -1,3 +0,0 @@ -export {default as Config} from "./config"; -export {default as SettingsConfig} from "./settings"; -export {default as Changelog} from "./changelog"; \ No newline at end of file diff --git a/renderer/src/index.js b/renderer/src/index.js index 674b2d6d..346a98cd 100644 --- a/renderer/src/index.js +++ b/renderer/src/index.js @@ -1,8 +1,8 @@ import require from "./polyfill"; // eslint-disable-line no-unused-vars import secure from "./secure"; import LoadingIcon from "./loadingicon"; -import BetterDiscord from "./modules/core"; -import BdApi from "./modules/api/index"; +import BetterDiscord from "@modules/core"; +import BdApi from "@modules/api/index"; // Perform some setup secure(); diff --git a/renderer/src/modules/addonmanager.js b/renderer/src/modules/addonmanager.js index ed8a5f36..9f2b6a1f 100644 --- a/renderer/src/modules/addonmanager.js +++ b/renderer/src/modules/addonmanager.js @@ -1,19 +1,22 @@ +import path from "path"; +import fs from "fs"; +import {shell} from "electron"; + import Logger from "@common/logger"; + +import AddonError from "@structs/addonerror"; + import Settings from "./settingsmanager"; import Events from "./emitter"; import DataStore from "./datastore"; -import AddonError from "../structs/addonerror"; -import Toasts from "../ui/toasts"; -import DiscordModules from "./discordmodules"; +import React from "./react"; import Strings from "./strings"; -import AddonEditor from "../ui/misc/addoneditor"; -import FloatingWindows from "../ui/floatingwindows"; -const React = DiscordModules.React; +import AddonEditor from "@ui/misc/addoneditor"; +import FloatingWindows from "@ui/floatingwindows"; +import Toasts from "@ui/toasts"; + -const path = require("path"); -const fs = require("fs"); -const shell = require("electron").shell; const openItem = shell.openItem || shell.openPath; const splitRegex = /[^\S\r\n]*?\r?(?:\r\n|\n)[^\S\r\n]*?\*[^\S\r\n]?/; diff --git a/renderer/src/modules/api/contextmenu.js b/renderer/src/modules/api/contextmenu.js index dc1378dc..692ae9b3 100644 --- a/renderer/src/modules/api/contextmenu.js +++ b/renderer/src/modules/api/contextmenu.js @@ -1,7 +1,8 @@ -import WebpackModules from "../webpackmodules"; -import Patcher from "../patcher"; +import WebpackModules from "@modules/webpackmodules"; +import Patcher from "@modules/patcher"; import Logger from "@common/logger"; -import {React} from "../modules"; +import React from "@modules/react"; + let startupComplete = false; diff --git a/renderer/src/modules/api/data.js b/renderer/src/modules/api/data.js index 7bed623e..f31b08c4 100644 --- a/renderer/src/modules/api/data.js +++ b/renderer/src/modules/api/data.js @@ -1,4 +1,5 @@ -import DataStore from "../datastore"; +import DataStore from "@modules/datastore"; + /** * `Data` is a simple utility class for the management of plugin data. An instance is available on {@link BdApi}. diff --git a/renderer/src/modules/api/dom.js b/renderer/src/modules/api/dom.js index e08cdefa..ae058d27 100644 --- a/renderer/src/modules/api/dom.js +++ b/renderer/src/modules/api/dom.js @@ -1,4 +1,5 @@ -import DOMManager from "../dommanager"; +import DOMManager from "@modules/dommanager"; + /** * `DOM` is a simple utility class for dom manipulation. An instance is available on {@link BdApi}. diff --git a/renderer/src/modules/api/index.js b/renderer/src/modules/api/index.js index 150c61f9..8144d029 100644 --- a/renderer/src/modules/api/index.js +++ b/renderer/src/modules/api/index.js @@ -1,7 +1,9 @@ -import PluginManager from "../pluginmanager"; -import ThemeManager from "../thememanager"; import Logger from "@common/logger"; +import PluginManager from "@modules/pluginmanager"; +import ThemeManager from "@modules/thememanager"; +import DiscordModules from "@modules/discordmodules"; + import AddonAPI from "./addonapi"; import Data from "./data"; import DOM from "./dom"; @@ -12,7 +14,7 @@ import Utils from "./utils"; import Webpack from "./webpack"; import * as Legacy from "./legacy"; import ContextMenu from "./contextmenu"; -import DiscordModules from "@modules/discordmodules"; + const bounded = new Map(); const PluginAPI = new AddonAPI(PluginManager); diff --git a/renderer/src/modules/api/legacy.js b/renderer/src/modules/api/legacy.js index 72a605c6..3d222eec 100644 --- a/renderer/src/modules/api/legacy.js +++ b/renderer/src/modules/api/legacy.js @@ -1,15 +1,18 @@ -import {Config} from "data"; -import WebpackModules from "../webpackmodules"; -import DiscordModules from "../discordmodules"; -import DataStore from "../datastore"; -import DOMManager from "../dommanager"; -import Toasts from "../../ui/toasts"; -import Notices from "../../ui/notices"; -import Modals from "../../ui/modals"; -import Settings from "../settingsmanager"; import Logger from "@common/logger"; -import Patcher from "../patcher"; -import ipc from "../ipc"; + +import Config from "@data/config"; + +import WebpackModules from "@modules/webpackmodules"; +import DiscordModules from "@modules/discordmodules"; +import DataStore from "@modules/datastore"; +import DOMManager from "@modules/dommanager"; +import Settings from "@modules/settingsmanager"; +import Patcher from "@modules/patcher"; +import ipc from "@modules/ipc"; + +import Toasts from "@ui/toasts"; +import Notices from "@ui/notices"; +import Modals from "@ui/modals"; /** * The React module being used inside Discord. diff --git a/renderer/src/modules/api/patcher.js b/renderer/src/modules/api/patcher.js index df7673bc..0cb49a96 100644 --- a/renderer/src/modules/api/patcher.js +++ b/renderer/src/modules/api/patcher.js @@ -1,5 +1,7 @@ import Logger from "@common/logger"; -import {default as MainPatcher} from "../patcher"; + +import {default as MainPatcher} from "@modules/patcher"; + /** * `Patcher` is a utility class for modifying existing functions. Instance is accessible through the {@link BdApi}. diff --git a/renderer/src/modules/api/reactutils.js b/renderer/src/modules/api/reactutils.js index 1046373c..d58ab402 100644 --- a/renderer/src/modules/api/reactutils.js +++ b/renderer/src/modules/api/reactutils.js @@ -1,4 +1,5 @@ -import DiscordModules from "../discordmodules"; +import DiscordModules from "@modules//discordmodules"; + /** * `ReactUtils` is a utility class for interacting with React internals. Instance is accessible through the {@link BdApi}. diff --git a/renderer/src/modules/api/ui.js b/renderer/src/modules/api/ui.js index 3d7cb17d..15332691 100644 --- a/renderer/src/modules/api/ui.js +++ b/renderer/src/modules/api/ui.js @@ -1,8 +1,10 @@ -import Modals from "../../ui/modals"; -import Toasts from "../../ui/toasts"; -import Notices from "../../ui/notices"; -import Tooltip from "../../ui/tooltip"; -import ipc from "../ipc"; +import ipc from "@modules/ipc"; + +import Modals from "@ui/modals"; +import Toasts from "@ui/toasts"; +import Notices from "@ui/notices"; +import Tooltip from "@ui/tooltip"; + /** * `UI` is a utility class for creating user interfaces. Instance is accessible through the {@link BdApi}. diff --git a/renderer/src/modules/api/utils.js b/renderer/src/modules/api/utils.js index 49041f2d..74fd7aa8 100644 --- a/renderer/src/modules/api/utils.js +++ b/renderer/src/modules/api/utils.js @@ -1,4 +1,5 @@ -import Utilities from "../utilities"; +import Utilities from "@modules/utilities"; + /** * `Utils` is a utility containing commonly reused functions. Instance is accessible through the {@link BdApi}. diff --git a/renderer/src/modules/api/webpack.js b/renderer/src/modules/api/webpack.js index 3fd0e24f..76f609ff 100644 --- a/renderer/src/modules/api/webpack.js +++ b/renderer/src/modules/api/webpack.js @@ -1,5 +1,7 @@ import Logger from "@common/logger"; -import WebpackModules, {Filters} from "../webpackmodules"; + +import WebpackModules, {Filters} from "@modules/webpackmodules"; + /** * `Webpack` is a utility class for getting internal webpack modules. Instance is accessible through the {@link BdApi}. diff --git a/renderer/src/modules/core.js b/renderer/src/modules/core.js index cb7472ad..2125c72f 100644 --- a/renderer/src/modules/core.js +++ b/renderer/src/modules/core.js @@ -1,21 +1,29 @@ -import LocaleManager from "./localemanager"; - import Logger from "@common/logger"; -import {Config, Changelog} from "data"; + +import Config from "@data/config"; +import Changelog from "@data/changelog"; + +import * as Builtins from "@builtins/builtins"; + +import LoadingIcon from "../loadingicon"; + +import LocaleManager from "./localemanager"; import DOMManager from "./dommanager"; import PluginManager from "./pluginmanager"; import ThemeManager from "./thememanager"; import Settings from "./settingsmanager"; -import * as Builtins from "builtins"; -import Modals from "../ui/modals"; -import FloatingWindows from "../ui/floatingwindows"; import DataStore from "./datastore"; import DiscordModules from "./discordmodules"; -import LoadingIcon from "../loadingicon"; -import Styles from "../styles/index.css"; + import Editor from "./editor"; import Updater from "./updater"; +import Styles from "@styles/index.css"; + +import Modals from "@ui/modals"; +import FloatingWindows from "@ui/floatingwindows"; + + export default new class Core { async startup() { if (this.hasStarted) return; diff --git a/renderer/src/modules/datastore.js b/renderer/src/modules/datastore.js index e31e623c..6b255dc7 100644 --- a/renderer/src/modules/datastore.js +++ b/renderer/src/modules/datastore.js @@ -1,7 +1,11 @@ -import {Config} from "data"; +import fs from "fs"; +import path from "path"; + import Logger from "@common/logger"; -const fs = require("fs"); -const path = require("path"); + +import Config from "@data/config"; + + const releaseChannel = window?.DiscordNative?.app?.getReleaseChannel?.() ?? "stable"; // Schema diff --git a/renderer/src/modules/discordclasses.js b/renderer/src/modules/discordclasses.js index b8136036..ed73c0a2 100644 --- a/renderer/src/modules/discordclasses.js +++ b/renderer/src/modules/discordclasses.js @@ -1,7 +1,9 @@ +import ClassName from "@structs/classname"; + import Utilities from "./utilities"; -import ClassName from "../structs/classname"; import WebpackModules from "./webpackmodules"; + const combineClasses = function (...props) { return Object.assign({}, ...props.map(prop => WebpackModules.getByProps(...prop))); }; diff --git a/renderer/src/modules/discordmodules.js b/renderer/src/modules/discordmodules.js index 059aaf27..acf56bad 100644 --- a/renderer/src/modules/discordmodules.js +++ b/renderer/src/modules/discordmodules.js @@ -8,6 +8,7 @@ import Utilities from "./utilities"; import WebpackModules, {Filters} from "./webpackmodules"; + export default Utilities.memoizeObject({ get React() {return WebpackModules.getByProps("createElement", "cloneElement");}, get ReactDOM() {return WebpackModules.getByProps("render", "findDOMNode");}, diff --git a/renderer/src/modules/editor.js b/renderer/src/modules/editor.js index 02a26980..f58c2235 100644 --- a/renderer/src/modules/editor.js +++ b/renderer/src/modules/editor.js @@ -1,4 +1,5 @@ -import Logger from "../../../common/logger"; +import Logger from "@common/logger"; + import DOMManager from "./dommanager"; export default new class Editor { diff --git a/renderer/src/modules/emitter.js b/renderer/src/modules/emitter.js index 7fac5f00..b538f439 100644 --- a/renderer/src/modules/emitter.js +++ b/renderer/src/modules/emitter.js @@ -1,4 +1,4 @@ -const EventEmitter = require("events"); +import EventEmitter from "events"; export default new class BDEvents extends EventEmitter { constructor() { diff --git a/renderer/src/modules/ipc.js b/renderer/src/modules/ipc.js index d5219763..df89c3db 100644 --- a/renderer/src/modules/ipc.js +++ b/renderer/src/modules/ipc.js @@ -1,8 +1,9 @@ import {ipcRenderer as ipc} from "electron"; +import * as IPCEvents from "@common/constants/ipcevents"; + import Events from "./emitter"; -import * as IPCEvents from "@common/constants/ipcevents"; export default new class IPCRenderer { diff --git a/renderer/src/modules/localemanager.js b/renderer/src/modules/localemanager.js index 77439b5f..442e0cae 100644 --- a/renderer/src/modules/localemanager.js +++ b/renderer/src/modules/localemanager.js @@ -1,4 +1,5 @@ -import * as Locales from "../../../assets/locales"; +import * as Locales from "@assets/locales/index"; + import DiscordModules from "./discordmodules"; import Utilities from "./utilities"; import Events from "./emitter"; diff --git a/renderer/src/modules/modules.js b/renderer/src/modules/modules.js deleted file mode 100644 index e26911cd..00000000 --- a/renderer/src/modules/modules.js +++ /dev/null @@ -1,18 +0,0 @@ -export {default as WebpackModules} from "./webpackmodules"; - -import DiscordModules from "./discordmodules"; -export const React = DiscordModules.React; -export const ReactDOM = DiscordModules.ReactDOM; -export {DiscordModules}; - -export {default as Utilities} from "./utilities"; -export {default as DataStore} from "./datastore"; -export {default as Events} from "./emitter"; -export {default as Settings} from "./settingsmanager"; -export {default as DOMManager} from "./dommanager"; -export {default as Patcher} from "./patcher"; -export {default as LocaleManager} from "./localemanager"; -export {default as Strings} from "./strings"; -export {default as IPC} from "./ipc"; -export {default as Logger} from "@common/logger"; -export {default as DiscordClasses} from "./discordclasses"; \ No newline at end of file diff --git a/renderer/src/modules/patcher.js b/renderer/src/modules/patcher.js index 3379fe63..274ea2fd 100644 --- a/renderer/src/modules/patcher.js +++ b/renderer/src/modules/patcher.js @@ -4,9 +4,11 @@ */ import Logger from "@common/logger"; + import DiscordModules from "./discordmodules"; import WebpackModules from "./webpackmodules"; + export default class Patcher { static get patches() {return this._patches || (this._patches = []);} diff --git a/renderer/src/modules/pluginmanager.js b/renderer/src/modules/pluginmanager.js index 2c885185..28c2a77f 100644 --- a/renderer/src/modules/pluginmanager.js +++ b/renderer/src/modules/pluginmanager.js @@ -1,17 +1,21 @@ -import {Config} from "data"; +import path from "path"; +import vm from "vm"; + import Logger from "@common/logger"; + +import Config from "@data/config"; + +import AddonError from "@structs/addonerror"; + import AddonManager from "./addonmanager"; -import AddonError from "../structs/addonerror"; import Settings from "./settingsmanager"; import Strings from "./strings"; import Events from "./emitter"; -import Toasts from "../ui/toasts"; -import Modals from "../ui/modals"; -import SettingsRenderer from "../ui/settings"; +import Toasts from "@ui/toasts"; +import Modals from "@ui/modals"; +import SettingsRenderer from "@ui/settings"; -const path = require("path"); -const vm = require("vm"); const normalizeExports = name => ` if (module.exports.default) { diff --git a/renderer/src/modules/settingsmanager.js b/renderer/src/modules/settingsmanager.js index 2957f8b7..63717a68 100644 --- a/renderer/src/modules/settingsmanager.js +++ b/renderer/src/modules/settingsmanager.js @@ -1,10 +1,13 @@ -import {SettingsConfig} from "data"; import Logger from "@common/logger"; + +import SettingsConfig from "@data/settings"; + import DataStore from "./datastore"; import Events from "./emitter"; import DiscordModules from "./discordmodules"; import Strings from "./strings"; + export default new class SettingsManager { constructor() { diff --git a/renderer/src/modules/strings.js b/renderer/src/modules/strings.js index bb02f984..7978c454 100644 --- a/renderer/src/modules/strings.js +++ b/renderer/src/modules/strings.js @@ -1,5 +1,7 @@ +import FormattableString from "@structs/string"; + import LocaleManager from "./localemanager"; -import FormattableString from "../structs/string"; + export default new Proxy(LocaleManager.strings, { get: function(strings, category) { diff --git a/renderer/src/modules/thememanager.js b/renderer/src/modules/thememanager.js index dccfb3ab..008ed669 100644 --- a/renderer/src/modules/thememanager.js +++ b/renderer/src/modules/thememanager.js @@ -1,15 +1,18 @@ -import {Config} from "data"; +import path from "path"; + +import Config from "@data/config"; + +import AddonError from "@structs/addonerror"; + import AddonManager from "./addonmanager"; -import AddonError from "../structs/addonerror"; import Settings from "./settingsmanager"; import DOMManager from "./dommanager"; import Strings from "./strings"; -import Toasts from "../ui/toasts"; -import Modals from "../ui/modals"; -import SettingsRenderer from "../ui/settings"; +import Toasts from "@ui/toasts"; +import Modals from "@ui/modals"; +import SettingsRenderer from "@ui/settings"; -const path = require("path"); export default new class ThemeManager extends AddonManager { get name() {return "ThemeManager";} diff --git a/renderer/src/modules/updater.js b/renderer/src/modules/updater.js index da6c0905..acecf287 100644 --- a/renderer/src/modules/updater.js +++ b/renderer/src/modules/updater.js @@ -1,28 +1,27 @@ import request from "request"; import fileSystem from "fs"; -import {Config} from "data"; import path from "path"; import Logger from "@common/logger"; +import Config from "@data/config"; + +import {comparator as semverComparator, regex as semverRegex} from "@structs/semver"; + import Events from "./emitter"; import IPC from "./ipc"; import Strings from "./strings"; import DataStore from "./datastore"; +import React from "./react"; import Settings from "./settingsmanager"; import PluginManager from "./pluginmanager"; import ThemeManager from "./thememanager"; import WebpackModules from "./webpackmodules"; -import Toasts from "../ui/toasts"; -import Notices from "../ui/notices"; -import Modals from "../ui/modals"; -import UpdaterPanel from "../ui/updater"; -import DiscordModules from "./discordmodules"; - -import {comparator as semverComparator, regex as semverRegex} from "../structs/semver"; - -const React = DiscordModules.React; +import Toasts from "@ui/toasts"; +import Notices from "@ui/notices"; +import Modals from "@ui/modals"; +import UpdaterPanel from "@ui/updater"; const UserSettingsWindow = WebpackModules.getByProps("updateAccount"); diff --git a/renderer/src/modules/utilities.js b/renderer/src/modules/utilities.js index e3d31cb4..b1de98ba 100644 --- a/renderer/src/modules/utilities.js +++ b/renderer/src/modules/utilities.js @@ -1,5 +1,6 @@ import Logger from "@common/logger"; + export default class Utilities { /** * Generates an automatically memoizing version of an object. diff --git a/renderer/src/modules/webpackmodules.js b/renderer/src/modules/webpackmodules.js index 051ed72e..936ffc9c 100644 --- a/renderer/src/modules/webpackmodules.js +++ b/renderer/src/modules/webpackmodules.js @@ -3,7 +3,7 @@ * @module WebpackModules * @version 0.0.2 */ -import Logger from "../../../common/logger"; +import Logger from "@common/logger"; /** * Checks if a given module matches a set of parameters. diff --git a/renderer/src/polyfill/buffer.js b/renderer/src/polyfill/buffer.js index a1b299c0..4dce364d 100644 --- a/renderer/src/polyfill/buffer.js +++ b/renderer/src/polyfill/buffer.js @@ -1,4 +1,4 @@ -import WebpackModules from "../modules/webpackmodules"; +import WebpackModules from "@modules/webpackmodules"; Object.defineProperty(window, "Buffer", { get() {return Buffer.getBuffer().Buffer;}, diff --git a/renderer/src/polyfill/crypto.js b/renderer/src/polyfill/crypto.js index fb053392..5db1e39e 100644 --- a/renderer/src/polyfill/crypto.js +++ b/renderer/src/polyfill/crypto.js @@ -1,5 +1,6 @@ import Remote from "./remote"; + export default { ...Remote.crypto, // Wrap it in Buffer diff --git a/renderer/src/polyfill/fs.js b/renderer/src/polyfill/fs.js index b2510c39..41226a6f 100644 --- a/renderer/src/polyfill/fs.js +++ b/renderer/src/polyfill/fs.js @@ -1,6 +1,6 @@ - import Remote from "./remote"; + export const readFileSync = function (path, options = "utf8") { return Remote.filesystem.readFile(path, options); }; diff --git a/renderer/src/polyfill/https.js b/renderer/src/polyfill/https.js index db0b97de..8a28d58d 100644 --- a/renderer/src/polyfill/https.js +++ b/renderer/src/polyfill/https.js @@ -1,6 +1,8 @@ import EventEmitter from "@common/events"; + import Remote from "./remote"; + export function get(url, options = {}, callback) { if (typeof(options) === "function") { callback = options; diff --git a/renderer/src/polyfill/index.js b/renderer/src/polyfill/index.js index 0f7f18ed..ac8207b7 100644 --- a/renderer/src/polyfill/index.js +++ b/renderer/src/polyfill/index.js @@ -1,13 +1,15 @@ +import EventEmitter from "@common/events"; + import Module from "./module"; import * as vm from "./vm"; import * as fs from "./fs"; import request from "./request"; -import EventEmitter from "@common/events"; import * as https from "./https"; import Buffer from "./buffer"; import crypto from "./crypto"; import Remote from "./remote"; + const originalFs = Object.assign({}, fs); originalFs.writeFileSync = (path, data, options) => fs.writeFileSync(path, data, Object.assign({}, options, {originalFs: true})); originalFs.writeFile = (path, data, options) => fs.writeFile(path, data, Object.assign({}, options, {originalFs: true})); diff --git a/renderer/src/polyfill/module.js b/renderer/src/polyfill/module.js index 16dc8923..8ceae297 100644 --- a/renderer/src/polyfill/module.js +++ b/renderer/src/polyfill/module.js @@ -1,8 +1,10 @@ import Logger from "@common/logger"; + import {compileFunction} from "./vm"; import Remote from "./remote"; import fs from "./fs"; + const path = Remote.path; export const RequireExtensions = { diff --git a/renderer/src/polyfill/request.js b/renderer/src/polyfill/request.js index a37d2264..9d9bb2ee 100644 --- a/renderer/src/polyfill/request.js +++ b/renderer/src/polyfill/request.js @@ -1,5 +1,6 @@ import Remote from "./remote"; + const methods = ["get", "put", "post", "delete", "head"]; const aliases = {del: "delete"}; diff --git a/renderer/src/polyfill/vm.js b/renderer/src/polyfill/vm.js index bc89f797..56ae545d 100644 --- a/renderer/src/polyfill/vm.js +++ b/renderer/src/polyfill/vm.js @@ -1,5 +1,6 @@ import Remote from "./remote"; + export const compileFunction = function(code, params = [], options = {}) { const returned = Remote.vm.compileFunction(code, params, options); if (typeof(returned) === "function") return returned; diff --git a/renderer/src/structs/builtin.js b/renderer/src/structs/builtin.js index da5753fb..21d2421d 100644 --- a/renderer/src/structs/builtin.js +++ b/renderer/src/structs/builtin.js @@ -1,7 +1,9 @@ import Logger from "@common/logger"; -import Events from "../modules/emitter"; -import Settings from "../modules/settingsmanager"; -import Patcher from "../modules/patcher"; + +import Events from "@modules/emitter"; +import Settings from "@modules/settingsmanager"; +import Patcher from "@modules/patcher"; + export default class BuiltinModule { diff --git a/renderer/src/structs/markdown.js b/renderer/src/structs/markdown.js index b311407d..6db0309d 100644 --- a/renderer/src/structs/markdown.js +++ b/renderer/src/structs/markdown.js @@ -1,6 +1,7 @@ import DiscordModules from "@modules/discordmodules"; import Utilities from "@modules/utilities"; + export default class SimpleMarkdownExt { static parseToReact(str) { if (!this._parser) this._initialize(); diff --git a/renderer/src/structs/string.js b/renderer/src/structs/string.js index 8a7735ab..9ea2188b 100644 --- a/renderer/src/structs/string.js +++ b/renderer/src/structs/string.js @@ -1,4 +1,5 @@ -import Utilities from "../modules/utilities"; +import Utilities from "@modules/utilities"; + const LINK = /\[(.+?)]/; diff --git a/renderer/src/ui/addonerrormodal.jsx b/renderer/src/ui/addonerrormodal.jsx index 9cd62a74..6164dace 100644 --- a/renderer/src/ui/addonerrormodal.jsx +++ b/renderer/src/ui/addonerrormodal.jsx @@ -3,16 +3,17 @@ import Strings from "@modules/strings"; import DiscordClasses from "@modules/discordclasses"; import WebpackModules from "@modules/webpackmodules"; -import Extension from "./icons/extension"; -import ThemeIcon from "./icons/theme"; -import Divider from "./divider"; +import Extension from "@ui/icons/extension"; +import ThemeIcon from "@ui/icons/theme"; +import Divider from "@ui/divider"; const Parser = Object(WebpackModules.getByProps("defaultRules", "parse")).defaultRules; const {useState, useCallback, useMemo} = React; const joinClassNames = (...classNames) => classNames.filter(e => e).join(" "); + function AddonError({err, index}) { const [expanded, setExpanded] = useState(false); const toggle = useCallback(() => setExpanded(!expanded), [expanded]); diff --git a/renderer/src/ui/blankslates/emptyimage.jsx b/renderer/src/ui/blankslates/emptyimage.jsx index 536953f9..d88cd6c6 100644 --- a/renderer/src/ui/blankslates/emptyimage.jsx +++ b/renderer/src/ui/blankslates/emptyimage.jsx @@ -1,6 +1,8 @@ +import SimpleMarkdown from "@structs/markdown"; + import React from "@modules/react"; import DiscordClasses from "@modules/discordclasses"; -import SimpleMarkdown from "../../structs/markdown"; + export default function EmptyImage(props) { return
diff --git a/renderer/src/ui/blankslates/noresults.jsx b/renderer/src/ui/blankslates/noresults.jsx index 005d7844..7f9ac924 100644 --- a/renderer/src/ui/blankslates/noresults.jsx +++ b/renderer/src/ui/blankslates/noresults.jsx @@ -1,6 +1,8 @@ import React from "@modules/react"; import DiscordModules from "@modules/discordmodules"; -import MagnifyingGlass from "../icons/magnifyingglass"; + +import MagnifyingGlass from "@ui/icons/magnifyingglass"; + export default function NoResults(props) { return
diff --git a/renderer/src/ui/customcss/csseditor.jsx b/renderer/src/ui/customcss/csseditor.jsx index 32b3cdc5..3ba43a8b 100644 --- a/renderer/src/ui/customcss/csseditor.jsx +++ b/renderer/src/ui/customcss/csseditor.jsx @@ -4,10 +4,11 @@ import Events from "@modules/emitter"; import Settings from "@modules/settingsmanager"; import Editor from "./editor"; -import Refresh from "../icons/reload"; -import Save from "../icons/save"; -import Edit from "../icons/edit"; -import Detach from "../icons/detach"; + +import Refresh from "@ui/icons/reload"; +import Save from "@ui/icons/save"; +import Edit from "@ui/icons/edit"; +import Detach from "@ui/icons/detach"; const {useState, useCallback, useEffect, forwardRef, useImperativeHandle, useRef} = React; diff --git a/renderer/src/ui/divider.jsx b/renderer/src/ui/divider.jsx index 224619dc..605ed252 100644 --- a/renderer/src/ui/divider.jsx +++ b/renderer/src/ui/divider.jsx @@ -1,3 +1,4 @@ import React from "@modules/react"; + export default ({className}) =>
; \ No newline at end of file diff --git a/renderer/src/ui/errorboundary.jsx b/renderer/src/ui/errorboundary.jsx index 91762f9f..f60e746d 100644 --- a/renderer/src/ui/errorboundary.jsx +++ b/renderer/src/ui/errorboundary.jsx @@ -2,6 +2,7 @@ import Logger from "@common/logger"; import React from "@modules/react"; import IPC from "@modules/ipc"; + export default class ErrorBoundary extends React.Component { constructor(props) { super(props); diff --git a/renderer/src/ui/floating/window.jsx b/renderer/src/ui/floating/window.jsx index 6474f8aa..88816fba 100644 --- a/renderer/src/ui/floating/window.jsx +++ b/renderer/src/ui/floating/window.jsx @@ -1,10 +1,12 @@ import React from "@modules/react"; import Strings from "@modules/strings"; -import Screen from "../../structs/screen"; -import CloseButton from "../icons/close"; -import MaximizeIcon from "../icons/fullscreen"; -import Modals from "../modals"; +import Screen from "@structs/screen"; + +import CloseButton from "@ui/icons/close"; +import MaximizeIcon from "@ui/icons/fullscreen"; + +import Modals from "@ui/modals"; const {useState, useCallback, useEffect, useRef} = React; diff --git a/renderer/src/ui/floatingwindows.js b/renderer/src/ui/floatingwindows.js index 2ca0a5d8..7ccd18a6 100644 --- a/renderer/src/ui/floatingwindows.js +++ b/renderer/src/ui/floatingwindows.js @@ -3,10 +3,11 @@ import ReactDOM from "@modules/reactdom"; import Events from "@modules/emitter"; import DOMManager from "@modules/dommanager"; import WebpackModules from "@modules/webpackmodules"; + import FloatingWindowContainer from "./floating/container"; -/* eslint-disable new-cap */ +/* eslint-disable new-cap */ const AppLayerProvider = WebpackModules.getByDisplayName("AppLayerProvider"); let hasInitialized = false; diff --git a/renderer/src/ui/misc/addoneditor.jsx b/renderer/src/ui/misc/addoneditor.jsx index 65da77c9..cf06adf9 100644 --- a/renderer/src/ui/misc/addoneditor.jsx +++ b/renderer/src/ui/misc/addoneditor.jsx @@ -1,9 +1,10 @@ import React from "@modules/react"; import Strings from "@modules/strings"; -import Editor from "../customcss/editor"; -import Save from "../icons/save"; -import Edit from "../icons/edit"; +import Editor from "@ui/customcss/editor"; + +import Save from "@ui/icons/save"; +import Edit from "@ui/icons/edit"; const {useState, useCallback, forwardRef, useImperativeHandle, useRef} = React; diff --git a/renderer/src/ui/modals.js b/renderer/src/ui/modals.js index 55f5f6d7..3e775eed 100644 --- a/renderer/src/ui/modals.js +++ b/renderer/src/ui/modals.js @@ -1,4 +1,7 @@ -import {Config} from "data"; +import Config from "@data/config"; + +import FormattableString from "@structs/string"; + import Logger from "@common/logger"; import React from "@modules/react"; import ReactDOM from "@modules/reactdom"; @@ -8,7 +11,7 @@ import DiscordModules from "@modules/discordmodules"; import WebpackModules from "@modules/webpackmodules"; import DiscordClasses from "@modules/discordclasses"; import DOMManager from "@modules/dommanager"; -import FormattableString from "../structs/string"; + import AddonErrorModal from "./addonerrormodal"; import ErrorBoundary from "./errorboundary"; diff --git a/renderer/src/ui/notices.js b/renderer/src/ui/notices.js index 7780dd46..c57249b1 100644 --- a/renderer/src/ui/notices.js +++ b/renderer/src/ui/notices.js @@ -1,6 +1,7 @@ import WebpackModules from "@modules/webpackmodules"; import DOMManager from "@modules/dommanager"; + export default class Notices { static get baseClass() {return this.__baseClass ??= WebpackModules.getByProps("container", "base")?.base;} static get errorPageClass() {return this.__errorPageClass ??= WebpackModules.getByProps("errorPage")?.errorPage;} diff --git a/renderer/src/ui/settings.js b/renderer/src/ui/settings.js index 3b5f84cc..2f566f6d 100644 --- a/renderer/src/ui/settings.js +++ b/renderer/src/ui/settings.js @@ -3,14 +3,13 @@ import Utilities from "@modules/utilities"; import Events from "@modules/emitter"; import Settings from "@modules/settingsmanager"; import DataStore from "@modules/datastore"; -import WebpackModules from "@modules/webpackmodules"; +import WebpackModules, {Filters} from "@modules/webpackmodules"; import Patcher from "@modules/patcher"; import AddonList from "./settings/addonlist"; import SettingsGroup from "./settings/group"; import SettingsTitle from "./settings/title"; import Header from "./settings/sidebarheader"; -import {Filters} from "../modules/webpackmodules"; export default new class SettingsRenderer { diff --git a/renderer/src/ui/settings/addoncard.jsx b/renderer/src/ui/settings/addoncard.jsx index 5ce0b3f0..ba6d7436 100644 --- a/renderer/src/ui/settings/addoncard.jsx +++ b/renderer/src/ui/settings/addoncard.jsx @@ -1,24 +1,29 @@ import Logger from "@common/logger"; + +import SimpleMarkdown from "@structs/markdown"; + import React from "@modules/react"; import Strings from "@modules/strings"; import WebpackModules from "@modules/webpackmodules"; import DiscordModules from "@modules/discordmodules"; -import SimpleMarkdown from "../../structs/markdown"; -import EditIcon from "../icons/edit"; -import DeleteIcon from "../icons/delete"; -import CogIcon from "../icons/cog"; + + import Switch from "./components/switch"; -import GitHubIcon from "../icons/github"; -import MoneyIcon from "../icons/dollarsign"; -import WebIcon from "../icons/globe"; -import PatreonIcon from "../icons/patreon"; -import SupportIcon from "../icons/support"; -import ExtIcon from "../icons/extension"; -import ErrorIcon from "../icons/error"; -import ThemeIcon from "../icons/theme"; -import Modals from "../modals"; -import Toasts from "../toasts"; +import Modals from "@ui/modals"; +import Toasts from "@ui/toasts"; + +import EditIcon from "@ui/icons/edit"; +import DeleteIcon from "@ui/icons/delete"; +import CogIcon from "@ui/icons/cog"; +import GitHubIcon from "@ui/icons/github"; +import MoneyIcon from "@ui/icons/dollarsign"; +import WebIcon from "@ui/icons/globe"; +import PatreonIcon from "@ui/icons/patreon"; +import SupportIcon from "@ui/icons/support"; +import ExtIcon from "@ui/icons/extension"; +import ErrorIcon from "@ui/icons/error"; +import ThemeIcon from "@ui/icons/theme"; const {useState, useCallback, useMemo} = React; diff --git a/renderer/src/ui/settings/addonlist.jsx b/renderer/src/ui/settings/addonlist.jsx index 04b1a29b..8e61f093 100644 --- a/renderer/src/ui/settings/addonlist.jsx +++ b/renderer/src/ui/settings/addonlist.jsx @@ -4,20 +4,23 @@ import Events from "@modules/emitter"; import DataStore from "@modules/datastore"; import DiscordModules from "@modules/discordmodules"; -import Modals from "../modals"; import SettingsTitle from "./title"; import AddonCard from "./addoncard"; import Dropdown from "./components/dropdown"; import Search from "./components/search"; -import ErrorBoundary from "../errorboundary"; -import ListIcon from "../icons/list"; -import GridIcon from "../icons/grid"; -import NoResults from "../blankslates/noresults"; -import EmptyImage from "../blankslates/emptyimage"; +import Modals from "@ui/modals"; +import ErrorBoundary from "@ui/errorboundary"; + +import ListIcon from "@ui/icons/list"; +import GridIcon from "@ui/icons/grid"; + +import NoResults from "@ui/blankslates/noresults"; +import EmptyImage from "@ui/blankslates/emptyimage"; const {useState, useCallback, useEffect, useReducer, useMemo} = React; + const SORT_OPTIONS = [ {label: Strings.Addons.name, value: "name"}, {label: Strings.Addons.author, value: "author"}, diff --git a/renderer/src/ui/settings/components/dropdown.jsx b/renderer/src/ui/settings/components/dropdown.jsx index 55d38977..34ebad58 100644 --- a/renderer/src/ui/settings/components/dropdown.jsx +++ b/renderer/src/ui/settings/components/dropdown.jsx @@ -1,5 +1,6 @@ import React from "@modules/react"; -import Arrow from "../../icons/downarrow"; + +import Arrow from "@ui/icons/downarrow"; const {useState, useCallback} = React; diff --git a/renderer/src/ui/settings/components/item.jsx b/renderer/src/ui/settings/components/item.jsx index c7679cc4..4fd21243 100644 --- a/renderer/src/ui/settings/components/item.jsx +++ b/renderer/src/ui/settings/components/item.jsx @@ -1,5 +1,6 @@ import React from "@modules/react"; + export default function SettingItem({id, name, note, inline, children}) { return
diff --git a/renderer/src/ui/settings/components/keybind.jsx b/renderer/src/ui/settings/components/keybind.jsx index 5a6eaa17..992cf1cb 100644 --- a/renderer/src/ui/settings/components/keybind.jsx +++ b/renderer/src/ui/settings/components/keybind.jsx @@ -1,7 +1,7 @@ import React from "@modules/react"; -import Keyboard from "../../icons/keyboard"; -import Close from "../../icons/close"; +import Keyboard from "@ui/icons/keyboard"; +import Close from "@ui/icons/close"; const {useState, useCallback, useEffect} = React; diff --git a/renderer/src/ui/settings/components/radio.jsx b/renderer/src/ui/settings/components/radio.jsx index 93968825..ea293de0 100644 --- a/renderer/src/ui/settings/components/radio.jsx +++ b/renderer/src/ui/settings/components/radio.jsx @@ -1,6 +1,6 @@ import React from "@modules/react"; -import RadioIcon from "../../icons/radio"; +import RadioIcon from "@ui/icons/radio"; const {useState, useCallback} = React; diff --git a/renderer/src/ui/settings/components/search.jsx b/renderer/src/ui/settings/components/search.jsx index fbb3f3df..1bd481c8 100644 --- a/renderer/src/ui/settings/components/search.jsx +++ b/renderer/src/ui/settings/components/search.jsx @@ -1,5 +1,5 @@ import React from "@modules/react"; -import SearchIcon from "../../icons/search"; +import SearchIcon from "@ui/icons/search"; const {useState, useCallback} = React; diff --git a/renderer/src/ui/settings/drawer.jsx b/renderer/src/ui/settings/drawer.jsx index 3d362301..957df5d1 100644 --- a/renderer/src/ui/settings/drawer.jsx +++ b/renderer/src/ui/settings/drawer.jsx @@ -1,6 +1,8 @@ import React from "@modules/react"; + import Title from "./title"; -import Divider from "../divider"; + +import Divider from "@ui/divider"; const {useState, useCallback, useRef} = React; diff --git a/renderer/src/ui/settings/group.jsx b/renderer/src/ui/settings/group.jsx index eed0de8f..aba72f62 100644 --- a/renderer/src/ui/settings/group.jsx +++ b/renderer/src/ui/settings/group.jsx @@ -1,4 +1,5 @@ import React from "@modules/react"; + import Drawer from "./drawer"; import Switch from "./components/switch"; import Dropdown from "./components/dropdown"; diff --git a/renderer/src/ui/settings/sidebarheader.jsx b/renderer/src/ui/settings/sidebarheader.jsx index 1eaa88e3..0bb6ab71 100644 --- a/renderer/src/ui/settings/sidebarheader.jsx +++ b/renderer/src/ui/settings/sidebarheader.jsx @@ -1,8 +1,11 @@ -import {Changelog} from "data"; +import Changelog from "@data/changelog"; + import React from "@modules/react"; import DiscordModules from "@modules/discordmodules"; -import HistoryIcon from "../icons/history"; -import Modals from "../modals"; + +import HistoryIcon from "@ui/icons/history"; + +import Modals from "@ui/modals"; export default function SettingsTitle() { diff --git a/renderer/src/ui/toasts.js b/renderer/src/ui/toasts.js index c4ab1150..7e1190bb 100644 --- a/renderer/src/ui/toasts.js +++ b/renderer/src/ui/toasts.js @@ -4,6 +4,7 @@ import Settings from "@modules/settingsmanager"; import WebpackModules from "@modules/webpackmodules"; import DOMManager from "@modules/dommanager"; + export default class Toasts { static get ChannelsClass() {return WebpackModules.getByProps("sidebar", "hasNotice").sidebar.split(" ")[0];} diff --git a/renderer/src/ui/updater.jsx b/renderer/src/ui/updater.jsx index e0edbddf..b274b738 100644 --- a/renderer/src/ui/updater.jsx +++ b/renderer/src/ui/updater.jsx @@ -1,13 +1,15 @@ -import {Config} from "data"; +import Config from "@data/config"; + import React from "@modules/react"; import Strings from "@modules/strings"; import Events from "@modules/emitter"; + import Drawer from "./settings/drawer"; import SettingItem from "./settings/components/item"; import SettingsTitle from "./settings/title"; import Toasts from "./toasts"; -import Checkmark from "./icons/check"; +import Checkmark from "@ui/icons/check"; const {useState, useCallback, useEffect} = React;