From a3fcad696ed687fbcdd994816aa728515d737e26 Mon Sep 17 00:00:00 2001 From: joshydavid Date: Fri, 1 Aug 2025 09:52:08 +0800 Subject: [PATCH 1/4] feat: add banner component Signed-off-by: joshydavid --- frontend/app/components/Header/index.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/app/components/Header/index.tsx b/frontend/app/components/Header/index.tsx index 23530ea..08e03fe 100644 --- a/frontend/app/components/Header/index.tsx +++ b/frontend/app/components/Header/index.tsx @@ -4,8 +4,10 @@ import LoginX from "@/components/Authentication/LoginX"; import BackButton from "@/components/BackButton"; import BannerComponent from "@/components/Banner"; import { AppearanceToggle } from "@/components/ui/appearance-toggle"; + import { useAuthStatus } from "@/hooks/use-auth-status"; import { usePathname } from "next/navigation"; +import BannerComponent from "../Banner"; export default function Header() { const pathname = usePathname(); From 7c4fe9458b3a8de3772e70f259a7c8a0d3a97ec2 Mon Sep 17 00:00:00 2001 From: joshydavid Date: Fri, 1 Aug 2025 09:52:51 +0800 Subject: [PATCH 2/4] fix: use absolute path Signed-off-by: joshydavid --- frontend/app/components/Header/index.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/frontend/app/components/Header/index.tsx b/frontend/app/components/Header/index.tsx index 08e03fe..23530ea 100644 --- a/frontend/app/components/Header/index.tsx +++ b/frontend/app/components/Header/index.tsx @@ -4,10 +4,8 @@ import LoginX from "@/components/Authentication/LoginX"; import BackButton from "@/components/BackButton"; import BannerComponent from "@/components/Banner"; import { AppearanceToggle } from "@/components/ui/appearance-toggle"; - import { useAuthStatus } from "@/hooks/use-auth-status"; import { usePathname } from "next/navigation"; -import BannerComponent from "../Banner"; export default function Header() { const pathname = usePathname(); From d16af0f49ada4514aa8fc23d39d60effcb856248 Mon Sep 17 00:00:00 2001 From: joshydavid Date: Fri, 1 Aug 2025 17:22:28 +0800 Subject: [PATCH 3/4] feat: add feature toggle for notification banner Signed-off-by: joshydavid --- frontend/.env.sample | 1 + frontend/app/components/Header/index.tsx | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/.env.sample b/frontend/.env.sample index bd103f5..2c826db 100644 --- a/frontend/.env.sample +++ b/frontend/.env.sample @@ -1,2 +1,3 @@ NEXT_PUBLIC_API_BASE_URL=https://brew.joshydavid.com/api/v1 NEXT_PUBLIC_S3_IMAGE_URL=https://your-bucket.s3.region.amazonaws.com +NEXT_PUBLIC_NOTIFICATION_BANNER=true diff --git a/frontend/app/components/Header/index.tsx b/frontend/app/components/Header/index.tsx index 23530ea..81492b8 100644 --- a/frontend/app/components/Header/index.tsx +++ b/frontend/app/components/Header/index.tsx @@ -10,13 +10,16 @@ import { usePathname } from "next/navigation"; export default function Header() { const pathname = usePathname(); const { authData } = useAuthStatus(); + const showBanner = process.env.NEXT_PUBLIC_NOTIFICATION_BANNER === "true"; return ( <> - + /> + )}
{pathname !== "/" && }
From 3eec9b9ee7a5e0c4f9c90fb3a63fb53bdfe237f0 Mon Sep 17 00:00:00 2001 From: joshydavid Date: Fri, 1 Aug 2025 17:31:24 +0800 Subject: [PATCH 4/4] chore: use env variable for banner message Signed-off-by: joshydavid --- frontend/.env.sample | 1 + frontend/app/components/Header/index.tsx | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/frontend/.env.sample b/frontend/.env.sample index 2c826db..3e55237 100644 --- a/frontend/.env.sample +++ b/frontend/.env.sample @@ -1,3 +1,4 @@ NEXT_PUBLIC_API_BASE_URL=https://brew.joshydavid.com/api/v1 NEXT_PUBLIC_S3_IMAGE_URL=https://your-bucket.s3.region.amazonaws.com NEXT_PUBLIC_NOTIFICATION_BANNER=true +NEXT_PUBLIC_BANNER_MESSAGE="⚠️ Notice: AWS resources have been spun down. The backend is currently not running." diff --git a/frontend/app/components/Header/index.tsx b/frontend/app/components/Header/index.tsx index 81492b8..f09b8ad 100644 --- a/frontend/app/components/Header/index.tsx +++ b/frontend/app/components/Header/index.tsx @@ -16,8 +16,10 @@ export default function Header() { <> {showBanner && ( )}