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}; + } +`;