Match Home, top nav, hero, and logo wall to the current marketing frames.

Puts Workshops in the header, pairs the hero with a static rule card and breakpoint CTAs, and shows the three pilot marks with no wall label.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
adilalloandCursor committed 2026-11-02 18:50:32 -07:00
1 parent e12e06f7ce
commit 33cdaf135c
47 files changed
+728 -527

No files matched your search

+5 -5
View File
@@ -32,22 +32,22 @@ export default {
export const Default = {
args: {
title: "How CommunityRule works",
title: "How CommunityRule helps",
subtitle: "Here's a quick overview of the process, from start to finish.",
headingDesktopLines: ["How", "CommunityRule", "helps"],
steps: [
{
text: "Document how your community makes decisions",
text: "See what has worked for other communities",
iconShape: "blob",
iconColor: "green",
},
{
text: "Build an operating manual for a successful community",
text: "Decide how you will decide, while things are calm",
iconShape: "gear",
iconColor: "purple",
},
{
text: "Get a link to your manual for your group to review and evolve",
text: "Invite your members and change it together as you grow",
iconShape: "star",
iconColor: "orange",
},
@@ -66,7 +66,7 @@ export const CustomContent = {
iconColor: "green",
},
{
text: "Collaborate with our team to create the perfect solution",
text: "Build structure with our team to create the perfect solution",
iconShape: "gear",
iconColor: "purple",
},
+1 -1
View File
@@ -38,7 +38,7 @@ export const Default = {
args: {
title: "Tools for the parts that get hard",
subtitle:
"Every group runs into the same knots. CommunityRule gives you a way through, and a written record of what you decided.",
"Every community runs into the same knots. CommunityRule gives you a way through, and a written record of what you decided.",
},
parameters: {
docs: {
+5 -15
View File
@@ -8,7 +8,7 @@ export default {
docs: {
description: {
component:
"A responsive hero banner component that showcases the Community Rule branding and messaging. Adapts across multiple breakpoints with proper spacing, typography, and interactive elements. Includes background decorations and product demo integration.",
"Home hero: ContentLockup plus the team's Rule card. Below lg the CTA is Talk to a facilitator; from lg it is Create rule.",
},
},
},
@@ -25,32 +25,22 @@ export default {
control: { type: "text" },
description: "The description text",
},
ctaText: {
control: { type: "text" },
description: "The call-to-action button text",
},
ctaHref: {
control: { type: "text" },
description: "The call-to-action button link",
},
},
tags: ["autodocs"],
};
export const Default = {
args: {
title: "Collaborate",
subtitle: "with clarity",
title: "Build structure",
subtitle: "before you need it",
description:
"Help your community make important decisions in a way that reflects its unique values.",
ctaText: "Learn how Community Rule works",
ctaHref: "#",
"Strong communities agree on four things early. They settle how they talk, who belongs, how they decide and what happens when they disagree. Write yours down together.",
},
parameters: {
docs: {
description: {
story:
"Default hero banner with standard Community Rule messaging and branding.",
"Default home hero with the team Rule card and breakpoint-specific CTAs.",
},
},
},
+7 -39
View File
@@ -7,49 +7,17 @@ export default {
layout: "fullscreen",
docs: {
description: {
component: `A responsive logo wall component that displays partner/sponsor logos in a grid layout. Features responsive breakpoints with different layouts and sizing for mobile, tablet, and desktop views.
component: `Home Logo Wall: three pilot marks (Boulder Street Medics, Food Not Bombs, Mutual Aid Colorado) with no heading.
## Responsive Behavior
- **Mobile**: 3 rows × 2 columns grid with 38.4px gaps
- **SM**: 2 rows × 3 columns grid with 38.4px gaps
- **MD+**: Single space-between row (no wrap)
- **LG**: 1.25× logo sizes, 48px gaps, 64px horizontal padding
- **XL**: 1.5625× logo sizes, 48px gaps, 160px horizontal padding
## Animations & Transitions
- **Opacity**: Partner logos render at 60% opacity to match Figma \`Section / Logo Wall\`.
- **Mobile**: stacked column
- **SM+**: wrapping row
- **MD+**: single space-between row
## Props
- **logos** (optional): Array of logo objects with src, alt, and size properties. If not provided, uses default partner logos.
## Usage Examples
### Custom Logos
\`\`\`jsx
<LogoWall
logos={[
{
src: "assets/logos/partners/cu-boulder.svg",
alt: "CU Boulder",
size: "h-10 lg:h-12 xl:h-[60px]",
},
{
src: "assets/logos/partners/food-not-bombs.svg",
alt: "Food Not Bombs",
size: "h-11 lg:h-14 xl:h-[70px]",
}
]}
/>
\`\`\`
### Empty State
\`\`\`jsx
<LogoWall logos={[]} />
\`\`\`
This will fall back to the default partner logos.`,
- **logos** (optional): Array of logo objects with src, alt, and size properties. If not provided, uses the three pilot marks.`,
},
},
},
@@ -58,7 +26,7 @@ This will fall back to the default partner logos.`,
logos: {
control: "object",
description:
"Array of logo objects with src, alt, and size properties. If not provided, uses default partner logos.",
"Array of logo objects with src, alt, and size properties. If not provided, uses the three pilot marks.",
},
},
};
@@ -69,7 +37,7 @@ export const Default = {
docs: {
description: {
story:
"Default LogoWall with all partner logos. Displays in a 2×3 grid on mobile, 3×2 grid from 430px, and a space-between row from 640px with Figma lockup sizes. Logos render at 60% opacity to match Figma.",
"Default LogoWall with the three pilot marks at Figma 60% opacity.",
},
},
},