diff --git a/app/components/NumberedCard.js b/app/components/NumberedCard.js new file mode 100644 index 0000000..70f5b5d --- /dev/null +++ b/app/components/NumberedCard.js @@ -0,0 +1,23 @@ +"use client"; + +import SectionNumber from "./SectionNumber"; + +const NumberedCard = ({ number, text, iconShape, iconColor }) => { + return ( +
+ {/* Section Number - Top part */} +
+ +
+ + {/* Card Content - Bottom part */} +
+

+ {text} +

+
+
+ ); +}; + +export default NumberedCard; diff --git a/app/components/NumberedCards.js b/app/components/NumberedCards.js new file mode 100644 index 0000000..eeda4de --- /dev/null +++ b/app/components/NumberedCards.js @@ -0,0 +1,40 @@ +"use client"; + +import NumberedCard from "./NumberedCard"; +import SectionHeader from "./SectionHeader"; +import Button from "./Button"; + +const NumberedCards = ({ title, subtitle, cards }) => { + return ( +
+
+ {/* Section Header */} +
+ +
+ + {/* Cards Container */} +
+ {cards.map((card, index) => ( + + ))} +
+ + {/* Call to Action Button */} +
+ +
+
+
+ ); +}; + +export default NumberedCards; diff --git a/app/components/SectionHeader.js b/app/components/SectionHeader.js new file mode 100644 index 0000000..f5cc48c --- /dev/null +++ b/app/components/SectionHeader.js @@ -0,0 +1,19 @@ +"use client"; + +const SectionHeader = ({ title, subtitle }) => { + return ( +
+ {/* Title - Bricolage Grotesque */} +

+ {title} +

+ + {/* Subtitle - Inter */} +

+ {subtitle} +

+
+ ); +}; + +export default SectionHeader; diff --git a/app/components/SectionNumber.js b/app/components/SectionNumber.js new file mode 100644 index 0000000..75ef1a1 --- /dev/null +++ b/app/components/SectionNumber.js @@ -0,0 +1,33 @@ +"use client"; + +const SectionNumber = ({ number }) => { + const getImageSrc = (num) => { + switch (num) { + case 1: + return "/assets/SectionNumber_1.png"; + case 2: + return "/assets/SectionNumber_2.png"; + case 3: + return "/assets/SectionNumber_3.png"; + default: + return "/assets/SectionNumber_1.png"; + } + }; + + return ( +
+ {`Section +
+ + {number} + +
+
+ ); +}; + +export default SectionNumber; diff --git a/app/page.js b/app/page.js index b68b686..6c5df65 100644 --- a/app/page.js +++ b/app/page.js @@ -1,3 +1,31 @@ +import NumberedCards from "./components/NumberedCards"; + export default function Page() { - return
{/* home page content will go here */}
; + const numberedCardsData = { + title: "How CommunityRule works", + subtitle: "Here's a quick overview of the process, from start to finish.", + cards: [ + { + text: "Document how your community makes decisions", + iconShape: "blob", + iconColor: "green", + }, + { + text: "Build an operating manual for a successful community", + iconShape: "gear", + iconColor: "purple", + }, + { + text: "Get a link to your manual for your group to review and evolve", + iconShape: "star", + iconColor: "orange", + }, + ], + }; + + return ( +
+ +
+ ); } diff --git a/public/assets/SectionNumber_1.png b/public/assets/SectionNumber_1.png new file mode 100644 index 0000000..b92a9ff Binary files /dev/null and b/public/assets/SectionNumber_1.png differ diff --git a/public/assets/SectionNumber_2.png b/public/assets/SectionNumber_2.png new file mode 100644 index 0000000..6011769 Binary files /dev/null and b/public/assets/SectionNumber_2.png differ diff --git a/public/assets/SectionNumber_3.png b/public/assets/SectionNumber_3.png new file mode 100644 index 0000000..2b37cd2 Binary files /dev/null and b/public/assets/SectionNumber_3.png differ