···
import { MoonbaseSettingsStore } from "@moonlight-mod/wp/moonbase_stores";
25
-
const { BeakerIcon, DownloadIcon, TrashIcon, CircleWarningIcon, Tooltip } = Components;
25
+
const { BeakerIcon, DownloadIcon, TrashIcon, AngleBracketsIcon, CircleWarningIcon, Tooltip } = Components;
const PanelButton = spacepack.findByCode("Masks.PANEL_BUTTON")[0].exports.Z;
const TabBarClasses = spacepack.findByExports("tabBar", "tabBarItem", "headerContentWrapper")[0].exports;
···
<Flex direction={Flex.Direction.HORIZONTAL} align={Flex.Align.END} justify={Flex.Justify.END}>
92
-
{ext.state === ExtensionState.NotDownloaded ? (
93
-
<Tooltip text={COMPAT_TEXT_MAP[ext.compat]} shouldShow={ext.compat !== ExtensionCompat.Compatible}>
97
-
color={Button.Colors.BRAND}
99
-
disabled={ext.compat !== ExtensionCompat.Compatible || conflicting}
100
-
onClick={async () => {
101
-
await MoonbaseSettingsStore.installExtension(uniqueId);
102
-
const deps = await MoonbaseSettingsStore.getDependencies(uniqueId);
103
-
if (deps != null) {
104
-
await doMissingExtensionPopup(deps);
114
-
// too lazy to learn how <Flex /> works lmao
117
-
alignItems: "center",
121
-
{ext.source.type === ExtensionLoadSource.Normal && (
124
-
tooltipText="Delete"
126
-
MoonbaseSettingsStore.deleteExtension(uniqueId);
93
+
// too lazy to learn how <Flex /> works lmao
96
+
alignItems: "center",
100
+
{ext.manifest.meta?.source != null && (
102
+
icon={AngleBracketsIcon}
103
+
tooltipText="View source"
105
+
window.open(ext.manifest.meta!.source);
131
-
{update != null && (
133
-
icon={DownloadIcon}
134
-
tooltipText="Update"
136
-
MoonbaseSettingsStore.installExtension(uniqueId);
137
-
setRestartNeeded(true);
110
+
{ext.state === ExtensionState.NotDownloaded ? (
111
+
<Tooltip text={COMPAT_TEXT_MAP[ext.compat]} shouldShow={ext.compat !== ExtensionCompat.Compatible}>
115
+
color={Button.Colors.BRAND}
117
+
disabled={ext.compat !== ExtensionCompat.Compatible || conflicting}
118
+
onClick={async () => {
119
+
await MoonbaseSettingsStore.installExtension(uniqueId);
120
+
const deps = await MoonbaseSettingsStore.getDependencies(uniqueId);
121
+
if (deps != null) {
122
+
await doMissingExtensionPopup(deps);
132
+
{ext.source.type === ExtensionLoadSource.Normal && (
135
+
tooltipText="Delete"
137
+
MoonbaseSettingsStore.deleteExtension(uniqueId);
142
-
{restartNeeded && (
144
-
icon={() => <CircleWarningIcon color={Components.tokens.colors.STATUS_DANGER} />}
145
-
onClick={() => window.location.reload()}
146
-
tooltipText="You will need to reload/restart your client for this extension to work properly."
142
+
{update != null && (
144
+
icon={DownloadIcon}
145
+
tooltipText="Update"
147
+
MoonbaseSettingsStore.installExtension(uniqueId);
148
+
setRestartNeeded(true);
151
-
value={ext.compat === ExtensionCompat.Compatible && (enabled || implicitlyEnabled)}
152
-
disabled={implicitlyEnabled || ext.compat !== ExtensionCompat.Compatible}
154
-
style={{ marginBottom: "0px" }}
156
-
ext.compat !== ExtensionCompat.Compatible
157
-
? COMPAT_TEXT_MAP[ext.compat]
158
-
: implicitlyEnabled
159
-
? `This extension is a dependency of the following enabled extension${
160
-
enabledDependants.length > 1 ? "s" : ""
161
-
}: ${enabledDependants.map((a) => a.manifest.meta?.name ?? a.id).join(", ")}`
165
-
const toggle = () => {
166
-
MoonbaseSettingsStore.setExtensionEnabled(uniqueId, !enabled);
167
-
setRestartNeeded(true);
153
+
{restartNeeded && (
155
+
icon={() => <CircleWarningIcon color={Components.tokens.colors.STATUS_DANGER} />}
156
+
onClick={() => window.location.reload()}
157
+
tooltipText="You will need to reload/restart your client for this extension to work properly."
170
-
if (enabled && constants.builtinExtensions.includes(ext.id)) {
171
-
doBuiltinExtensionPopup(uniqueId, toggle);
162
+
value={ext.compat === ExtensionCompat.Compatible && (enabled || implicitlyEnabled)}
163
+
disabled={implicitlyEnabled || ext.compat !== ExtensionCompat.Compatible}
165
+
style={{ marginBottom: "0px" }}
167
+
ext.compat !== ExtensionCompat.Compatible
168
+
? COMPAT_TEXT_MAP[ext.compat]
169
+
: implicitlyEnabled
170
+
? `This extension is a dependency of the following enabled extension${
171
+
enabledDependants.length > 1 ? "s" : ""
172
+
}: ${enabledDependants.map((a) => a.manifest.meta?.name ?? a.id).join(", ")}`
176
+
const toggle = () => {
177
+
MoonbaseSettingsStore.setExtensionEnabled(uniqueId, !enabled);
178
+
setRestartNeeded(true);
181
+
if (enabled && constants.builtinExtensions.includes(ext.id)) {
182
+
doBuiltinExtensionPopup(uniqueId, toggle);