Ask Organizer default breakpoint

This commit is contained in:
adilallo
2025-08-27 10:50:05 -06:00
parent ffdc9b7269
commit 0f996889d2
4 changed files with 137 additions and 16 deletions
+42
View File
@@ -0,0 +1,42 @@
"use client";
import React from "react";
import ContentLockup from "./ContentLockup";
import Button from "./Button";
const AskOrganizer = ({
title,
subtitle,
description,
buttonText = "Ask an organizer",
buttonHref = "#",
className = "",
}) => {
return (
<section
className={`py-[var(--spacing-scale-032)] px-[var(--spacing-scale-032)] ${className}`}
aria-labelledby="ask-organizer-headline"
role="region"
tabIndex={-1}
>
<div className="flex flex-col gap-[var(--spacing-scale-040)]">
{/* Content Lockup */}
<ContentLockup
title={title}
subtitle={subtitle}
description={description}
variant="ask"
/>
{/* Button */}
<div className="flex justify-center">
<Button href={buttonHref} size="small" variant="default">
{buttonText}
</Button>
</div>
</div>
</section>
);
};
export default AskOrganizer;
+39 -16
View File
@@ -46,35 +46,58 @@ const ContentLockup = ({
shape:
"w-[20px] h-[20px] md:w-[24px] md:h-[24px] lg:w-[28px] lg:h-[28px]",
},
ask: {
container: "flex flex-col gap-[var(--spacing-scale-008)] relative z-10",
textContainer: "flex flex-col gap-[var(--spacing-scale-008)]",
titleGroup: "flex flex-col gap-[var(--spacing-scale-008)]",
titleContainer:
"flex gap-[var(--spacing-scale-008)] items-center justify-center",
title:
"font-bricolage-grotesque font-medium text-[36px] leading-[110%] tracking-[0] text-[var(--color-content-default-brand-primary)] text-center",
subtitle:
"font-inter font-normal text-[18px] leading-[130%] tracking-[0] text-[var(--color-content-default-primary)] text-center",
shape:
"w-[16px] h-[16px] md:w-[20px] md:h-[20px] lg:w-[24px] lg:h-[24px]",
},
};
const styles = variantStyles[variant] || variantStyles.hero;
return (
<div className={styles.container}>
{/* Text content container */}
<div className={styles.textContainer}>
{/* Title and subtitle group */}
{variant === "ask" ? (
/* Simplified structure for ask variant */
<div className={styles.titleGroup}>
{/* Title container */}
<div className={styles.titleContainer}>
<h1 className={styles.title}>{title}</h1>
{variant === "hero" && (
<img
src="assets/Shapes_1.svg"
alt="Decorative shapes"
className={styles.shape}
/>
)}
</div>
{/* Subtitle */}
<h2 className={styles.subtitle}>{subtitle}</h2>
</div>
) : (
/* Full structure for other variants */
<div className={styles.textContainer}>
{/* Title and subtitle group */}
<div className={styles.titleGroup}>
{/* Title container */}
<div className={styles.titleContainer}>
<h1 className={styles.title}>{title}</h1>
{variant === "hero" && (
<img
src="assets/Shapes_1.svg"
alt="Decorative shapes"
className={styles.shape}
/>
)}
</div>
{/* Description */}
{description && <p className={styles.description}>{description}</p>}
</div>
{/* Subtitle */}
<h2 className={styles.subtitle}>{subtitle}</h2>
</div>
{/* Description */}
{description && <p className={styles.description}>{description}</p>}
</div>
)}
{/* Link for feature variant */}
{variant === "feature" && linkText && (
+9
View File
@@ -4,6 +4,7 @@ import LogoWall from "./components/LogoWall";
import RuleStack from "./components/RuleStack";
import QuoteBlock from "./components/QuoteBlock";
import FeatureGrid from "./components/FeatureGrid";
import AskOrganizer from "./components/AskOrganizer";
export default function Page() {
const heroBannerData = {
@@ -43,6 +44,13 @@ export default function Page() {
"Use our toolkit to improve, document, and evolve your organization.",
};
const askOrganizerData = {
title: "Still have questions?",
subtitle: "Get answers from an experienced organizer",
buttonText: "Ask an organizer",
buttonHref: "#contact",
};
return (
<div>
<HeroBanner {...heroBannerData} />
@@ -51,6 +59,7 @@ export default function Page() {
<RuleStack />
<FeatureGrid {...featureGridData} />
<QuoteBlock />
<AskOrganizer {...askOrganizerData} />
</div>
);
}