Hero Banner #7

Merged
an.di merged 27 commits from adilallo/HeroBanner into main 2025-08-22 02:02:08 +00:00
9 changed files with 101 additions and 0 deletions
Showing only changes of commit c903821b57 - Show all commits
+63
View File
@@ -0,0 +1,63 @@
"use client";
const LogoWall = ({ logos = [] }) => {
// Default logos if none provided - ordered to match the screenshot
const defaultLogos = [
{
src: "assets/Section/Logo_FoodNotBombs.png",
alt: "Food Not Bombs",
size: "h-11",
},
{
src: "assets/Section/Logo_StartCOOP.png",
alt: "Start COOP",
size: "h-11",
},
{ src: "assets/Section/Logo_Metagov.png", alt: "Metagov", size: "h-7" },
{
src: "assets/Section/Logo_OpenCivics.png",
alt: "Open Civics",
size: "h-7",
},
{
src: "assets/Section/Logo_MutualAidCO.png",
alt: "Mutual Aid CO",
size: "h-11",
},
{
src: "assets/Section/Logo_CUBoulder.png",
alt: "CU Boulder",
size: "h-11",
},
];
const displayLogos = logos.length > 0 ? logos : defaultLogos;
return (
<section className="p-[var(--spacing-scale-032)]">
<div className="flex flex-col gap-[var(--spacing-scale-032)]">
{/* Label */}
<p className="font-inter font-medium text-[10px] leading-[12px] uppercase text-[var(--color-content-default-secondary)] text-center">
Trusted by leading cooperators
</p>
{/* Logo Grid Container */}
<div className="opacity-60">
<div className="grid grid-cols-2 grid-rows-3 gap-[var(--spacing-scale-032)]">
{displayLogos.map((logo, index) => (
<div key={index} className="flex items-center justify-center">
<img
src={logo.src}
alt={logo.alt}
className={`${logo.size || "h-8"} w-auto object-contain`}
/>
</div>
))}
</div>
</div>
</div>
</section>
);
};
export default LogoWall;
+2
View File
@@ -1,5 +1,6 @@
import NumberedCards from "./components/NumberedCards";
import HeroBanner from "./components/HeroBanner";
import LogoWall from "./components/LogoWall";
export default function Page() {
const heroBannerData = {
@@ -36,6 +37,7 @@ export default function Page() {
return (
<div>
<HeroBanner {...heroBannerData} />
<LogoWall />
<NumberedCards {...numberedCardsData} />
</div>
);
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

+36
View File
@@ -0,0 +1,36 @@
import LogoWall from "../app/components/LogoWall";
export default {
title: "Components/LogoWall",
component: LogoWall,
parameters: {
layout: "fullscreen",
},
tags: ["autodocs"],
argTypes: {
logos: {
control: "object",
description: "Array of logo objects with src and alt properties",
},
},
};
export const Default = {
args: {},
};
export const CustomLogos = {
args: {
logos: [
{ src: "assets/Section/Logo_CUBoulder.png", alt: "CU Boulder" },
{ src: "assets/Section/Logo_FoodNotBombs.png", alt: "Food Not Bombs" },
{ src: "assets/Section/Logo_Metagov.png", alt: "Metagov" },
],
},
};
export const EmptyState = {
args: {
logos: [],
},
};