this repo has no description
1import { ExtensionWebExports } from "@moonlight-mod/types";
2import ui from "./ui";
3import { stores } from "./stores";
4import { DownloadIconSVG, TrashIconSVG } from "./types";
5
6export const webpackModules: ExtensionWebExports["webpackModules"] = {
7 stores: {
8 dependencies: [
9 { ext: "common", id: "flux" },
10 { ext: "common", id: "fluxDispatcher" }
11 ],
12 run: (module, exports, require) => {
13 module.exports = stores(require);
14 }
15 },
16
17 moonbase: {
18 dependencies: [
19 { ext: "spacepack", id: "spacepack" },
20 { ext: "settings", id: "settings" },
21 { ext: "common", id: "react" },
22 { ext: "common", id: "components" },
23 { ext: "moonbase", id: "stores" },
24 DownloadIconSVG,
25 TrashIconSVG
26 ],
27 entrypoint: true,
28 run: (module, exports, require) => {
29 const settings = require("settings_settings");
30 const React = require("common_react");
31 const spacepack = require("spacepack_spacepack");
32 const { MoonbaseSettingsStore } =
33 require("moonbase_stores") as ReturnType<
34 typeof import("./stores")["stores"]
35 >;
36
37 settings.addSection("Moonbase", "Moonbase", ui(require), null, -2, {
38 stores: [MoonbaseSettingsStore],
39 element: () => {
40 // Require it here because lazy loading SUX
41 const SettingsNotice =
42 spacepack.findByCode("onSaveButtonColor")[0].exports.default;
43 return (
44 <SettingsNotice
45 submitting={MoonbaseSettingsStore.submitting}
46 onReset={() => {
47 MoonbaseSettingsStore.reset();
48 }}
49 onSave={() => {
50 MoonbaseSettingsStore.writeConfig();
51 }}
52 />
53 );
54 }
55 });
56 }
57 }
58};