aboutsummaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/settings.tsx33
1 files changed, 26 insertions, 7 deletions
diff --git a/src/plugins/settings.tsx b/src/plugins/settings.tsx
index b3b49b6..ec42956 100644
--- a/src/plugins/settings.tsx
+++ b/src/plugins/settings.tsx
@@ -56,17 +56,36 @@ export default definePlugin({
}
}],
+ get electronVersion() {
+ return VencordNative.getVersions().electron || window.armcord?.electron || null;
+ },
+
+ get chromiumVersion() {
+ try {
+ return VencordNative.getVersions().chrome
+ // @ts-ignore Typescript will add userAgentData IMMEDIATELY
+ || navigator.userAgentData?.brands?.find(b => b.brand === "Chromium" || b.brand === "Google Chrome")?.version
+ || null;
+ } catch { // inb4 some stupid browser throws unsupported error for navigator.userAgentData, it's only in chromium
+ return null;
+ }
+ },
+
+ get additionalInfo() {
+ if (IS_DEV) return " (Dev)";
+ if (IS_WEB) return " (Web)";
+ if (IS_STANDALONE) return " (Standalone)";
+ return "";
+ },
+
makeInfoElements(Component: React.ComponentType<React.PropsWithChildren>, props: React.PropsWithChildren) {
- const additionalInfo = IS_WEB
- ? " (Web)"
- : IS_STANDALONE
- ? " (Standalone)"
- : "";
+ const { electronVersion, chromiumVersion, additionalInfo } = this;
+
return (
<>
<Component {...props}>Vencord {gitHash}{additionalInfo}</Component>
- <Component {...props}>Electron {VencordNative.getVersions().electron}</Component>
- <Component {...props}>Chromium {VencordNative.getVersions().chrome}</Component>
+ {electronVersion && <Component {...props}>Electron {electronVersion}</Component>}
+ {chromiumVersion && <Component {...props}>Chromium {chromiumVersion}</Component>}
</>
);
}