From 700798ef87dbd6972ca9a73cd03204e8ebc85ab0 Mon Sep 17 00:00:00 2001 From: TaprootFreak <142087526+TaprootFreak@users.noreply.github.com> Date: Thu, 7 May 2026 15:28:13 +0200 Subject: [PATCH] Add Telegram alerts bot link to monitoring frontend footer Introduces a minimal footer with a "Get alerts" Telegram link. Bot URLs (mainnet/testnet x prd/dev = 4 bots) live as code config in frontend/src/constants.ts. The chain is resolved at runtime from window.location.hostname (testnet domains -> testnet, else mainnet). The prd/dev split is baked into each image at build time via Docker build-args, with strict validation on VITE_DEPLOYMENT_ENV (no fallback). - frontend-dev.yaml (:beta on develop) -> VITE_DEPLOYMENT_ENV=dev - frontend-prd.yaml (:latest on main) -> VITE_DEPLOYMENT_ENV=prd --- .github/workflows/frontend-dev.yaml | 4 +++- .github/workflows/frontend-prd.yaml | 4 +++- frontend/Dockerfile | 2 ++ frontend/src/App.tsx | 6 +++-- frontend/src/components/Footer.tsx | 36 +++++++++++++++++++++++++++++ frontend/src/constants.ts | 26 +++++++++++++++++++++ frontend/src/vite-env.d.ts | 9 ++++++++ 7 files changed, 83 insertions(+), 4 deletions(-) create mode 100644 frontend/src/components/Footer.tsx create mode 100644 frontend/src/constants.ts diff --git a/.github/workflows/frontend-dev.yaml b/.github/workflows/frontend-dev.yaml index 2b39740..4854337 100644 --- a/.github/workflows/frontend-dev.yaml +++ b/.github/workflows/frontend-dev.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v4 - name: Build Docker image - run: docker build -f frontend/Dockerfile -t ${{ env.DOCKER_TAGS }} . + run: docker build --build-arg VITE_DEPLOYMENT_ENV=dev -f frontend/Dockerfile -t ${{ env.DOCKER_TAGS }} . deploy: name: Deploy Frontend to DEV @@ -54,6 +54,8 @@ jobs: push: true tags: ${{ env.DOCKER_TAGS }} platforms: linux/arm64 + build-args: | + VITE_DEPLOYMENT_ENV=dev - name: Install cloudflared run: | diff --git a/.github/workflows/frontend-prd.yaml b/.github/workflows/frontend-prd.yaml index 53b4753..8327de0 100644 --- a/.github/workflows/frontend-prd.yaml +++ b/.github/workflows/frontend-prd.yaml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v4 - name: Build Docker image - run: docker build -f frontend/Dockerfile -t ${{ env.DOCKER_TAGS }} . + run: docker build --build-arg VITE_DEPLOYMENT_ENV=prd -f frontend/Dockerfile -t ${{ env.DOCKER_TAGS }} . deploy: name: Deploy Frontend to PRD @@ -54,6 +54,8 @@ jobs: push: true tags: ${{ env.DOCKER_TAGS }} platforms: linux/arm64 + build-args: | + VITE_DEPLOYMENT_ENV=prd - name: Install cloudflared run: | diff --git a/frontend/Dockerfile b/frontend/Dockerfile index fb119a4..1ebabdb 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -6,6 +6,8 @@ COPY frontend/ . COPY shared/ /app/shared/ ARG VITE_API_BASE_URL=/api ENV VITE_API_BASE_URL=$VITE_API_BASE_URL +ARG VITE_DEPLOYMENT_ENV +ENV VITE_DEPLOYMENT_ENV=$VITE_DEPLOYMENT_ENV RUN npm run build FROM nginx:alpine diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index cb56bb1..4756a17 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -6,13 +6,14 @@ import { ChallengesTable } from './components/ChallengesTable'; import { BridgesTable } from './components/BridgesTable'; import { MintersTable } from './components/MintersTable'; import { HealthStatus } from './components/HealthStatus'; +import { Footer } from './components/Footer'; function App() { const { health, jusd, positions, collateral, challenges, minters } = useApi(); return ( -