From 8845900779a4595f3644d4a285f6cd7ead3b0ad9 Mon Sep 17 00:00:00 2001
From: Paul <paulmakles@gmail.com>
Date: Tue, 22 Jun 2021 19:45:44 +0100
Subject: [PATCH] More version information in settings.

---
 src/pages/settings/Settings.tsx |  8 ++++++--
 src/revision.ts                 |  3 ++-
 vite.config.ts                  | 15 +++++++++++++++
 3 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/pages/settings/Settings.tsx b/src/pages/settings/Settings.tsx
index a871352..58be985 100644
--- a/src/pages/settings/Settings.tsx
+++ b/src/pages/settings/Settings.tsx
@@ -20,7 +20,7 @@ import {
     User
 } from "@styled-icons/feather";
 import { Megaphone } from "@styled-icons/bootstrap";
-import { GIT_REVISION, REPO_URL } from "../../revision";
+import { GIT_BRANCH, GIT_REVISION, REPO_URL } from "../../revision";
 import LineDivider from "../../components/ui/LineDivider";
 import RequiresOnline from "../../context/revoltjs/RequiresOnline";
 import ButtonItem from "../../components/navigation/items/ButtonItem";
@@ -147,8 +147,12 @@ export default function Settings() {
                             <a href={`${REPO_URL}/${GIT_REVISION}`} target="_blank">
                                 { GIT_REVISION.substr(0, 7) }
                             </a>
+                            {` `}
+                            <a href={GIT_BRANCH !== 'DETACHED' ? `https://gitlab.insrt.uk/revolt/client/-/tree/${GIT_BRANCH}` : undefined} target="_blank">
+                                ({ GIT_BRANCH })
+                            </a>
                         </span>
-                        <span>Stable {APP_VERSION}</span>
+                        <span>{ GIT_BRANCH === 'production' ? 'Stable' : 'Nightly' } {APP_VERSION}</span>
                         <span>API: {client.configuration?.revolt ?? "N/A"}</span>
                         <span>revolt.js: {LIBRARY_VERSION}</span>
                     </div>
diff --git a/src/revision.ts b/src/revision.ts
index ab519af..e01dcdd 100644
--- a/src/revision.ts
+++ b/src/revision.ts
@@ -1,2 +1,3 @@
-export const GIT_REVISION = '__GIT_REVISION__';
 export const REPO_URL = 'https://gitlab.insrt.uk/revolt/revite/-/commit';
+export const GIT_REVISION = '__GIT_REVISION__';
+export const GIT_BRANCH: string = '__GIT_BRANCH__';
diff --git a/vite.config.ts b/vite.config.ts
index e797ce4..d3b5762 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -19,6 +19,20 @@ function getGitRevision() {
   }
 }
 
+function getGitBranch() {
+  try {
+    const rev = readFileSync('.git/HEAD').toString().trim();
+    if (rev.indexOf(':') === -1) {
+      return 'DETACHED';
+    } else {
+      return rev.split('/').pop();
+    }
+  } catch (err) {
+    console.error('Failed to get Git branch.');
+    return '?';
+  }
+}
+
 function getVersion() {
   return readFileSync('VERSION').toString();
 }
@@ -55,6 +69,7 @@ export default defineConfig({
     }),
     replace({
       __GIT_REVISION__: getGitRevision(),
+      __GIT_BRANCH__: getGitBranch(),
       __APP_VERSION__: getVersion(),
       preventAssignment: true
     })
-- 
GitLab