Implement about page

This commit is contained in:
adilallo
2026-05-13 23:08:36 -06:00
parent d2dfa099a2
commit b6b9b63608
69 changed files with 1834 additions and 28 deletions
+24 -4
View File
@@ -11,7 +11,7 @@ export default {
A responsive quote section component that displays inspirational governance quotes with author attribution and decorative geometric elements.
## Features
- **Three variants**: compact, standard, and extended layouts
- **Four variants**: compact, standard, extended, and **statement** (Section/Quote yellow band, dual paragraphs)
- **Responsive design**: Adapts across all breakpoints
- **Error handling**: Graceful fallbacks for image loading failures
- **Accessibility**: WCAG 2.1 AA compliant with proper ARIA labels
@@ -34,12 +34,17 @@ A responsive quote section component that displays inspirational governance quot
argTypes: {
variant: {
control: { type: "select" },
options: ["compact", "standard", "extended"],
options: ["compact", "standard", "extended", "statement"],
description: "Layout variant for different use cases",
},
quote: {
control: { type: "text" },
description: "The quote text to display",
description:
"Main quote / first paragraph (for `statement`, pair with quoteSecondary)",
},
quoteSecondary: {
control: { type: "text" },
description: "Second paragraph when `variant` is `statement`",
},
author: {
control: { type: "text" },
@@ -124,7 +129,22 @@ export const AllVariants = {
},
};
// Error state simulation
// Statement band (About page / Figma Section/Quote)
export const StatementAbout = {
args: {
variant: "statement",
id: "story-statement-quote",
quote:
"Too many of our communities adopt default governance practices that rely on unchecked authority without even basic democratic features.",
quoteSecondary:
"Community Rule helps communities establish better norms for decision-making, stewardship, and culture.",
},
parameters: {
backgrounds: { default: "dark" },
},
};
// Error state simulation (avatar load failure)
export const ErrorState = {
args: {
variant: "standard",
+37
View File
@@ -0,0 +1,37 @@
import type { Meta, StoryObj } from "@storybook/react";
import Stats from "../../app/components/sections/Stats";
const meta: Meta<typeof Stats> = {
title: "Components/Sections/Stats",
component: Stats,
parameters: {
layout: "fullscreen",
backgrounds: { default: "dark" },
},
};
export default meta;
type Story = StoryObj<typeof Stats>;
export const Default: Story = {
args: {
titlePrefix: "From",
titleEmphasis: "projects",
titleSuffix: "to communities",
items: [
{
value: "420M+",
label: "open source projects",
asOf: "as of June 30, 2024",
shapeVariant: "yellow",
},
{
value: "27%",
label: "year over year growth in open source",
asOf: "as of June 30, 2024",
shapeVariant: "purple",
},
],
},
};