From efbaa09e34a4865d51fc4196bf809b9f6f041fbb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?=
<106074508+EchoDex@users.noreply.github.com>
Date: Tue, 19 Nov 2024 14:27:19 +0400
Subject: [PATCH 1/3] feat: testing env in build
---
.github/workflows/deploy-to-cf-pages.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/.github/workflows/deploy-to-cf-pages.yaml b/.github/workflows/deploy-to-cf-pages.yaml
index 5b1844db..15d14ceb 100644
--- a/.github/workflows/deploy-to-cf-pages.yaml
+++ b/.github/workflows/deploy-to-cf-pages.yaml
@@ -21,6 +21,8 @@ jobs:
pull-requests: write
runs-on: ubuntu-latest
timeout-minutes: 5
+ env:
+ BRANCH_NAME: ${{ github.ref_name }}
steps:
- name: "Checkout Github Action"
uses: actions/checkout@v4
@@ -40,6 +42,8 @@ jobs:
run: |
touch .env
echo VITE_FEATURE_TOGGLE_CLIENT_KEY=${{ vars.VITE_FEATURE_TOGGLE_CLIENT_KEY }} >> .env
+ echo BRANCH_NAME=${{ env.BRANCH_NAME }} >> .env
+ cat .env
- name: Build Project
run: |
npm run build
From 65c1ba1426c4cbe814eb41c3a7c8bd0ceaa601ab Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?=
<106074508+EchoDex@users.noreply.github.com>
Date: Tue, 19 Nov 2024 14:51:43 +0400
Subject: [PATCH 2/3] feat: trying new logic for config handling
---
.github/workflows/deploy-to-cf-pages.yaml | 5 ++---
src/typings/vite-env.d.ts | 11 ++++++++++-
src/utils/getConfig.ts | 17 ++++++++++++++++-
3 files changed, 28 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/deploy-to-cf-pages.yaml b/.github/workflows/deploy-to-cf-pages.yaml
index 15d14ceb..bc2da7e8 100644
--- a/.github/workflows/deploy-to-cf-pages.yaml
+++ b/.github/workflows/deploy-to-cf-pages.yaml
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
timeout-minutes: 5
env:
- BRANCH_NAME: ${{ github.ref_name }}
+ BRANCH_NAME: ${{ github.head_ref }}
steps:
- name: "Checkout Github Action"
uses: actions/checkout@v4
@@ -42,8 +42,7 @@ jobs:
run: |
touch .env
echo VITE_FEATURE_TOGGLE_CLIENT_KEY=${{ vars.VITE_FEATURE_TOGGLE_CLIENT_KEY }} >> .env
- echo BRANCH_NAME=${{ env.BRANCH_NAME }} >> .env
- cat .env
+ echo VITE_BRANCH_NAME=${{ env.BRANCH_NAME }} >> .env
- name: Build Project
run: |
npm run build
diff --git a/src/typings/vite-env.d.ts b/src/typings/vite-env.d.ts
index d00e6238..46f2059c 100644
--- a/src/typings/vite-env.d.ts
+++ b/src/typings/vite-env.d.ts
@@ -2,4 +2,13 @@
///
///
///
-///
\ No newline at end of file
+///
+
+interface ImportMetaEnv {
+ VITE_FEATURE_TOGGLE_CLIENT_KEY: string | undefined;
+ VITE_BRANCH_NAME: string | undefined;
+}
+
+interface ImportMeta {
+ readonly env: ImportMetaEnv;
+}
\ No newline at end of file
diff --git a/src/utils/getConfig.ts b/src/utils/getConfig.ts
index 969070fb..cdc62612 100644
--- a/src/utils/getConfig.ts
+++ b/src/utils/getConfig.ts
@@ -1,5 +1,7 @@
import assert from "assert";
+import { Undefinable } from "tsdef";
+
import TOKEN_LOGOS from "@constants/tokenLogos";
import { Token } from "@entity";
@@ -21,8 +23,21 @@ export interface Market {
contractId: string;
}
+function getConfigByBranch(branchName: Undefinable) {
+ if (branchName === "main") {
+ return configProdJSON;
+ }
+
+ if (branchName?.includes("stage/")) {
+ return configDevJSON;
+ }
+
+ return configDevJSON;
+}
+
function createConfig() {
- const configJSON = import.meta.env.DEV ? configDevJSON : configProdJSON;
+ const configJSON = getConfigByBranch(import.meta.env.VITE_BRANCH_NAME);
+
assert(configJSON.version === CURRENT_CONFIG_VER, "Version mismatch");
console.warn("SPARK CONFIG", configJSON);
From fee0c4cc115a1448fb30419371f461a3ddc68b1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=B8b=C4=97rt=C3=B8?=
<106074508+EchoDex@users.noreply.github.com>
Date: Tue, 19 Nov 2024 14:59:47 +0400
Subject: [PATCH 3/3] feat: update logo to see current env faster
---
src/components/Header/Header.tsx | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/components/Header/Header.tsx b/src/components/Header/Header.tsx
index 5540a7f6..6c9ca2d0 100644
--- a/src/components/Header/Header.tsx
+++ b/src/components/Header/Header.tsx
@@ -15,6 +15,8 @@ import { useMedia } from "@hooks/useMedia";
import { useStores } from "@stores";
import { MODAL_TYPE } from "@stores/ModalStore";
+import { CONFIG } from "@utils/getConfig";
+
import { ConnectWalletButton } from "../ConnectWalletButton";
import { AccountInfoSheet } from "../Modal";
import { SmartFlex } from "../SmartFlex";
@@ -31,6 +33,8 @@ const Header: React.FC = observer(() => {
const [isMobileMenuOpen, openMobileMenu, closeMobileMenu] = useFlag();
const [isAccountInfoSheetOpen, openAccountInfo, closeAccountInfo] = useFlag();
+ const SparkLogo = CONFIG.APP.isMainnet ? Logo : LogoStyled;
+
useEffect(() => {
if (media.desktop) {
closeMobileMenu();
@@ -68,7 +72,7 @@ const Header: React.FC = observer(() => {
<>
-
+
BETA
@@ -96,7 +100,7 @@ const Header: React.FC = observer(() => {
<>
-
+
BETA
@@ -190,3 +194,9 @@ const WalletContainer = styled(SmartFlex)<{ isVisible?: boolean }>`
}
}
`;
+
+const LogoStyled = styled(Logo)`
+ path {
+ fill: ${({ theme }) => theme.colors.greenLight};
+ }
+`;