2023-02-04 02:30:46 +00:00
|
|
|
import { patchLogHook } from "@lib/debug";
|
2024-02-28 14:09:42 +08:00
|
|
|
import { patchCommands } from "@/lib/api/commands";
|
|
|
|
|
import { initPlugins } from "@lib/managers/plugins";
|
2024-02-29 20:07:55 +08:00
|
|
|
import { initThemes, patchChatBackground } from "@lib/managers/themes";
|
2024-02-28 14:09:42 +08:00
|
|
|
import { patchAssets } from "@/lib/api/assets";
|
2023-04-13 18:42:14 +00:00
|
|
|
import initSafeMode from "@ui/safeMode";
|
2024-02-28 18:04:40 +08:00
|
|
|
import initSettings from "@/core/ui/settings";
|
2024-02-28 14:09:42 +08:00
|
|
|
import initFixes from "@/core/fixes";
|
|
|
|
|
import logger from "@lib/utils/logger";
|
2024-02-23 13:29:06 +08:00
|
|
|
import initWindowObject from "@lib/windowObject";
|
2024-02-28 17:59:47 +08:00
|
|
|
import { initCorePlugins } from "./core/plugins";
|
2024-02-29 20:07:55 +08:00
|
|
|
import { isThemeSupported } from "./lib/api/native/loader";
|
2022-10-18 23:04:55 +01:00
|
|
|
|
2023-03-16 00:36:12 +08:00
|
|
|
export default async () => {
|
2024-02-29 20:07:55 +08:00
|
|
|
// Themes
|
|
|
|
|
if (isThemeSupported()) {
|
|
|
|
|
try {
|
|
|
|
|
initThemes();
|
|
|
|
|
} catch (e) {
|
|
|
|
|
console.error("[Vendetta] Failed to initialize themes...", e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-03-16 00:36:12 +08:00
|
|
|
// Load everything in parallel
|
|
|
|
|
const unloads = await Promise.all([
|
|
|
|
|
patchLogHook(),
|
|
|
|
|
patchAssets(),
|
|
|
|
|
patchCommands(),
|
2023-04-16 00:08:08 +08:00
|
|
|
patchChatBackground(),
|
2023-03-16 00:36:12 +08:00
|
|
|
initFixes(),
|
2023-04-13 18:42:14 +00:00
|
|
|
initSafeMode(),
|
2023-03-16 00:36:12 +08:00
|
|
|
initSettings(),
|
2024-02-28 17:59:47 +08:00
|
|
|
initCorePlugins(),
|
2023-03-16 00:36:12 +08:00
|
|
|
]);
|
2022-10-18 23:04:55 +01:00
|
|
|
|
2023-03-16 00:36:12 +08:00
|
|
|
// Assign window object
|
2024-02-23 13:29:06 +08:00
|
|
|
initWindowObject(unloads);
|
2023-01-01 21:10:09 +00:00
|
|
|
|
2023-03-16 00:36:12 +08:00
|
|
|
// Once done, load plugins
|
|
|
|
|
unloads.push(await initPlugins());
|
2023-02-04 02:30:46 +00:00
|
|
|
|
2023-03-16 00:36:12 +08:00
|
|
|
// We good :)
|
|
|
|
|
logger.log("Vendetta is ready!");
|
|
|
|
|
}
|