diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/settings.tsx | 33 |
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>} </> ); } |