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:
1 parent
e12e06f7ce
commit
33cdaf135c
47 files changed
+728
-527
No files matched your search
@@ -22,6 +22,7 @@ const ContentLockupContainer = memo<ContentLockupProps>(
|
||||
alignment: alignmentProp = "center",
|
||||
titleId,
|
||||
titleContent,
|
||||
headingLevel: headingLevelProp = "h1",
|
||||
}) => {
|
||||
const variant = variantProp;
|
||||
const alignment = alignmentProp;
|
||||
@@ -179,6 +180,7 @@ const ContentLockupContainer = memo<ContentLockupProps>(
|
||||
alignment={alignment}
|
||||
titleId={titleId}
|
||||
titleContent={titleContent}
|
||||
headingLevel={headingLevelProp}
|
||||
styles={styles}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -13,6 +13,8 @@ export type ContentLockupVariantValue =
|
||||
|
||||
export type ContentLockupAlignmentValue = "center" | "left";
|
||||
|
||||
export type ContentLockupHeadingLevel = "h1" | "h2";
|
||||
|
||||
export interface ContentLockupProps {
|
||||
title?: string;
|
||||
subtitle?: string;
|
||||
@@ -37,6 +39,12 @@ export interface ContentLockupProps {
|
||||
titleId?: string;
|
||||
/** Replaces the default title string when inline title markup is required. */
|
||||
titleContent?: ReactNode;
|
||||
/**
|
||||
* Heading tag for the title. FeatureGrid and AskOrganizer use `h2` so each
|
||||
* page keeps a single `h1`.
|
||||
* @default "h1"
|
||||
*/
|
||||
headingLevel?: ContentLockupHeadingLevel;
|
||||
}
|
||||
|
||||
export interface VariantStyle {
|
||||
@@ -72,5 +80,6 @@ export interface ContentLockupViewProps {
|
||||
alignment: "center" | "left";
|
||||
titleId?: string;
|
||||
titleContent?: ReactNode;
|
||||
headingLevel: ContentLockupHeadingLevel;
|
||||
styles: VariantStyle;
|
||||
}
|
||||
@@ -19,8 +19,11 @@ function ContentLockupView({
|
||||
alignment,
|
||||
titleId,
|
||||
titleContent,
|
||||
headingLevel,
|
||||
styles,
|
||||
}: ContentLockupViewProps) {
|
||||
const TitleTag = headingLevel;
|
||||
|
||||
return (
|
||||
<div className={styles.container}>
|
||||
{variant === "ask" ||
|
||||
@@ -43,9 +46,9 @@ function ContentLockupView({
|
||||
}`}
|
||||
>
|
||||
{title ? (
|
||||
<h1 id={titleId} className={styles.title}>
|
||||
<TitleTag id={titleId} className={styles.title}>
|
||||
{title}
|
||||
</h1>
|
||||
</TitleTag>
|
||||
) : null}
|
||||
</div>
|
||||
{subtitle ? <h2 className={styles.subtitle}>{subtitle}</h2> : null}
|
||||
@@ -61,16 +64,16 @@ function ContentLockupView({
|
||||
{/* Title container */}
|
||||
<div className={styles.titleContainer}>
|
||||
{titleContent ? (
|
||||
<h1
|
||||
<TitleTag
|
||||
id={titleId}
|
||||
className={`${styles.title} flex flex-wrap items-center gap-[var(--space-250)] xl:gap-[var(--space-300)]`}
|
||||
>
|
||||
{titleContent}
|
||||
</h1>
|
||||
</TitleTag>
|
||||
) : title ? (
|
||||
<h1 id={titleId} className={styles.title}>
|
||||
<TitleTag id={titleId} className={styles.title}>
|
||||
{title}
|
||||
</h1>
|
||||
</TitleTag>
|
||||
) : null}
|
||||
{variant === "hero" && (
|
||||
<>
|
||||
|
||||
Reference in new issue
Block a user