From 185e825335bfb3b6eb520280203bc53df40ce92f Mon Sep 17 00:00:00 2001 From: Equat-ion Date: Tue, 7 Apr 2026 20:19:01 +0530 Subject: [PATCH 1/7] add cohort banner --- public/banners/cohorts_banner.png | Bin 0 -> 17831 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/banners/cohorts_banner.png diff --git a/public/banners/cohorts_banner.png b/public/banners/cohorts_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f96bdedfcda9aac09404855c287a6286aba31f GIT binary patch literal 17831 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 P<&K<;vUHi0QNaHJZ3O;! literal 0 HcmV?d00001 From 702840712580826609384d0c175a904a0e5e9bd5 Mon Sep 17 00:00:00 2001 From: Equat-ion Date: Tue, 7 Apr 2026 20:33:05 +0530 Subject: [PATCH 2/7] docs: add announcement banner design spec --- .../2026-04-07-announcement-banner-design.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 docs/superpowers/specs/2026-04-07-announcement-banner-design.md diff --git a/docs/superpowers/specs/2026-04-07-announcement-banner-design.md b/docs/superpowers/specs/2026-04-07-announcement-banner-design.md new file mode 100644 index 0000000..cb8bf48 --- /dev/null +++ b/docs/superpowers/specs/2026-04-07-announcement-banner-design.md @@ -0,0 +1,47 @@ +# Announcement Banner System Design + +## 1. Purpose and Context +Bits&Bytes frequently hosts new cohorts, hackathons, and events. To support these ongoing announcements without rewriting code, we are implementing a reusable `AnnouncementBanner` component. This component will provide a consistent, easily updatable way to feature high-priority announcements (such as the new Bits&Bytes Cohorts) at the top of pages. + +## 2. Component Architecture + +### Component Definition +- **File Location**: `components/ui/announcement-banner.tsx` +- **Name**: `AnnouncementBanner` + +### Props Interface +```typescript +interface AnnouncementBannerProps { + /** Path or URL to the banner graphic (e.g., "/banners/cohorts_banner.png") */ + imageUrl: string; + /** Accessible alt text for the image */ + imageAlt?: string; + /** Text to display inside the Call-To-Action button */ + ctaText: string; + /** URL the Call-To-Action button should navigate to */ + ctaLink: string; + /** Optional className for overriding styles on specific pages */ + className?: string; +} +``` + +## 3. Visual Design and Layout + +- **Aesthetic**: The banner will utilize a "glassy" aesthetic to match the site's existing modern style (`bg-white/5`, `backdrop-blur-md`, `border border-white/10`, `rounded-2xl`). +- **Sizing**: + - Width: It will span the full width of its parent container (constrained by the site's standard `max-w-7xl` wrapper). + - Height: Determined by the image's aspect ratio to ensure it fits perfectly (`w-full`, `h-auto`, `object-contain`). +- **Internal Layout (Flexbox)**: + - The banner is a horizontal flex container (`flex-row`, `items-center`, `justify-between`). + - **Left / Center area**: The image will take up the primary space, vertically centered. + - **Right area**: The Call-To-Action (CTA) button will be aligned to the far right. The button will use the existing ` - + ); } From cbbf3d17e8aad4abd3af53af154470036895dffb Mon Sep 17 00:00:00 2001 From: Equat-ion Date: Tue, 7 Apr 2026 21:14:19 +0530 Subject: [PATCH 7/7] feat:Announcement banner --- app/page.tsx | 11 ----------- components/ui/hero-futuristic.tsx | 12 +++++++++++- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/page.tsx b/app/page.tsx index 445e2d3..d1bad4f 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -13,7 +13,6 @@ import { import dynamic from "next/dynamic"; import { Suspense } from "react"; -import { AnnouncementBanner } from "@/components/ui/announcement-banner"; import { HeroFuturistic } from "@/components/ui/hero-futuristic"; import { PageSection } from "@/components/page-section"; import { Features } from "@/components/ui/features-8"; @@ -68,16 +67,6 @@ export default function Home() { <>
- {/* Added Announcement Banner Container */} -
- -
- {
-
+
+ +
+ +
{/* Left content card */}