- {/* Title container */}
-
+ {variant === "ask" ? (
+ /* Simplified structure for ask variant */
+
+
{title}
- {variant === "hero" && (
-

- )}
-
- {/* Subtitle */}
{subtitle}
+ ) : (
+ /* Full structure for other variants */
+
+ {/* Title and subtitle group */}
+
+ {/* Title container */}
+
+
{title}
+ {variant === "hero" && (
+

+ )}
+
- {/* Description */}
- {description &&
{description}
}
-
+ {/* Subtitle */}
+
{subtitle}
+
+
+ {/* Description */}
+ {description &&
{description}
}
+
+ )}
{/* Link for feature variant */}
{variant === "feature" && linkText && (
diff --git a/app/components/FeatureGrid.js b/app/components/FeatureGrid.js
index fe91bb3..ecda70e 100644
--- a/app/components/FeatureGrid.js
+++ b/app/components/FeatureGrid.js
@@ -3,6 +3,7 @@
import React from "react";
import ContentLockup from "./ContentLockup";
import MiniCard from "./MiniCard";
+import Image from "next/image";
const FeatureGrid = ({ title, subtitle, className = "" }) => {
return (
diff --git a/app/components/MiniCard.js b/app/components/MiniCard.js
index 9b5abf5..a1e2b3a 100644
--- a/app/components/MiniCard.js
+++ b/app/components/MiniCard.js
@@ -1,6 +1,7 @@
"use client";
import React from "react";
+import Image from "next/image";
const MiniCard = ({
children,
@@ -23,7 +24,7 @@ const MiniCard = ({
{/* Content for the inner panel */}
{panelContent && (
-
)}
diff --git a/app/page.js b/app/page.js
index 484966f..41d2fd0 100644
--- a/app/page.js
+++ b/app/page.js
@@ -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 (
@@ -51,6 +59,7 @@ export default function Page() {
+
);
}
diff --git a/stories/AskOrganizer.stories.js b/stories/AskOrganizer.stories.js
new file mode 100644
index 0000000..7dc0e03
--- /dev/null
+++ b/stories/AskOrganizer.stories.js
@@ -0,0 +1,78 @@
+import AskOrganizer from "../app/components/AskOrganizer";
+
+export default {
+ title: "Components/AskOrganizer",
+ component: AskOrganizer,
+ parameters: {
+ docs: {
+ description: {
+ component:
+ "The AskOrganizer component provides clear pathways for user inquiries. This component serves as a conversion point throughout the platform.",
+ },
+ },
+ },
+ argTypes: {
+ title: {
+ control: "text",
+ description: "The main title for the ask organizer section",
+ },
+ subtitle: {
+ control: "text",
+ description: "The subtitle text",
+ },
+ description: {
+ control: "text",
+ description: "Additional description text",
+ },
+ buttonText: {
+ control: "text",
+ description: "Text for the call-to-action button",
+ },
+ buttonHref: {
+ control: "text",
+ description: "URL for the button link",
+ },
+ variant: {
+ control: { type: "select" },
+ options: ["centered", "left-aligned", "compact"],
+ description: "Layout variant for the component",
+ },
+ onContactClick: {
+ action: "contact clicked",
+ description: "Analytics callback for contact button clicks",
+ },
+ },
+};
+
+export const Default = {
+ args: {
+ title: "Still have questions?",
+ subtitle: "Get answers from an experienced organizer",
+ buttonText: "Ask an organizer",
+ buttonHref: "#contact",
+ variant: "centered",
+ onContactClick: (data) => console.log("Contact clicked:", data),
+ },
+};
+
+export const LeftAligned = {
+ args: {
+ title: "Still have questions?",
+ subtitle: "Get answers from an experienced organizer",
+ buttonText: "Ask an organizer",
+ buttonHref: "#contact",
+ variant: "left-aligned",
+ onContactClick: (data) => console.log("Contact clicked:", data),
+ },
+};
+
+export const Compact = {
+ args: {
+ title: "Still have questions?",
+ subtitle: "Get answers from an experienced organizer",
+ buttonText: "Ask an organizer",
+ buttonHref: "#contact",
+ variant: "compact",
+ onContactClick: (data) => console.log("Contact clicked:", data),
+ },
+};
diff --git a/stories/ContentLockup.stories.js b/stories/ContentLockup.stories.js
index 2c89d30..387d4ad 100644
--- a/stories/ContentLockup.stories.js
+++ b/stories/ContentLockup.stories.js
@@ -15,7 +15,7 @@ export default {
buttonClassName: { control: { type: "text" } },
variant: {
control: { type: "select" },
- options: ["hero", "feature"],
+ options: ["hero", "feature", "ask"],
},
linkText: { control: { type: "text" } },
linkHref: { control: { type: "text" } },
@@ -56,3 +56,11 @@ export const FeatureWithLink = {
linkHref: "#",
},
};
+
+export const Ask = {
+ args: {
+ title: "Still have questions?",
+ subtitle: "Get answers from an experienced organizer",
+ variant: "ask",
+ },
+};