├── .gitignore ├── README.md ├── next.config.mjs ├── package-lock.json ├── package.json ├── postcss.config.mjs ├── public ├── Hero_image.png ├── Hero_image1.png ├── Hero_image2.svg ├── avatars │ ├── avatar_1.png │ ├── avatar_2.png │ ├── avatar_3.png │ ├── avatar_4.png │ ├── avatar_5.png │ ├── avatar_6.png │ └── chirag_portfolio_image.jpeg ├── brand_logo.svg ├── brand_logo_black.svg ├── icons │ ├── brand │ │ ├── Framer_motion.png │ │ ├── Nextjs_svg.svg │ │ ├── Stripe_svg.svg │ │ ├── framer_icon_black.png │ │ ├── open-ai-logo.svg │ │ ├── razorpay_icon.png │ │ ├── resend-icon-black.svg │ │ ├── supabase_svg.svg │ │ └── tailwind_css.svg │ ├── gift-icon.svg │ ├── lightbulb-filament.svg │ ├── money-wavy.svg │ ├── smiley-nervous.svg │ ├── star-filled.svg │ ├── tick-icon.svg │ ├── timer.svg │ └── wrong-icon.svg ├── illustrations │ ├── 404_illustration.svg │ ├── Sample_2_illustration_sample.webp │ ├── Sample_3_illustration_sample.webp │ └── problem_1_illustration_sample.webp ├── logos │ ├── HackerNews.png │ ├── indieHackerLogo.png │ ├── product_hunt_logo.png │ └── reddit_logo.png ├── next.svg ├── openGraph_BuildFast.png ├── vercel.svg └── videos │ ├── BuildFast_Chatgpt_assistant.mp4 │ ├── BuildFast_ThemeChange.mp4 │ └── BuildFast_custom_ui_components.mp4 ├── src ├── app │ ├── favicon.ico │ ├── layout.tsx │ └── page.tsx ├── components │ ├── About.tsx │ ├── CTA.tsx │ ├── EmailTemplate.tsx │ ├── FAQ.tsx │ ├── FeatureCarousel.tsx │ ├── FeaturedIn.tsx │ ├── FeaturesListicle.tsx │ ├── Footer.tsx │ ├── Header.tsx │ ├── Hero.tsx │ ├── Hero │ │ └── HeroCenter │ │ │ └── index.tsx │ ├── IconCardsGrid.tsx │ ├── ImageCardsGrid.tsx │ ├── Navbars │ │ └── Navbar_center │ │ │ └── index.tsx │ ├── NumberCardsGrid.tsx │ ├── Pricing.tsx │ ├── Problems.tsx │ ├── TestinomialGrid.tsx │ ├── atoms │ │ ├── Buttons │ │ │ ├── ButtonLead.tsx │ │ │ ├── ButtonPrimary.tsx │ │ │ └── ButtonSecondary.tsx │ │ ├── Cards │ │ │ ├── ContentCards │ │ │ │ ├── BlogPreviewCard.tsx │ │ │ │ ├── ImageGalleryCard.tsx │ │ │ │ └── TestinomialCard.tsx │ │ │ ├── FeatureCards │ │ │ │ ├── GradientFeatureCard.tsx │ │ │ │ ├── IconCard.tsx │ │ │ │ ├── ImageCard.tsx │ │ │ │ ├── InfoCard.tsx │ │ │ │ ├── NumberCard.tsx │ │ │ │ └── PlainFeatureCard.tsx │ │ │ ├── Image │ │ │ │ └── ImageContainer.tsx │ │ │ ├── InteractionCards │ │ │ │ ├── ExpandableCard.tsx │ │ │ │ ├── FlipCard.tsx │ │ │ │ └── HoverEffectCard.tsx │ │ │ └── SpecialityCards │ │ │ │ ├── FAQCard.tsx │ │ │ │ └── NotificationCard.tsx │ │ ├── FeatureDetails.tsx │ │ ├── HeroAnimation.tsx │ │ ├── Label.tsx │ │ ├── NavPopup.tsx │ │ └── ThemeSwitcher.tsx │ └── featuredIn │ │ └── marqeeLogos │ │ └── index.tsx ├── config │ ├── CTA │ │ └── cta.json │ ├── FAQ │ │ └── faq.json │ ├── Featured │ │ └── featured.json │ ├── about │ │ └── about.json │ ├── configTypes.ts │ ├── emailConfig │ │ └── resend.json │ ├── features │ │ ├── featureCarousel.json │ │ └── featuresListicle.json │ ├── footer │ │ └── footer.json │ ├── hero │ │ └── hero.json │ ├── navbar │ │ └── navbar.json │ ├── paymentsConfig │ │ ├── razorpay.json │ │ └── stripe.json │ ├── pricing │ │ └── pricing.json │ ├── problems │ │ ├── problems.json │ │ └── problems_with_images.json │ ├── siteConfig.json │ ├── siteConfig_Backup.json │ └── testinomialsGrid │ │ └── testinomialGrid1.json ├── customTypes │ └── events.tsx ├── hooks │ ├── useJoinWaitlist.ts │ ├── useRazorpayCheckout.ts │ └── useStripeCheckout.ts ├── pages │ ├── 404.tsx │ ├── _app.tsx │ ├── api │ │ ├── create-checkout-session.ts │ │ ├── create-razorpay-order.ts │ │ └── join-waitlist.ts │ ├── license.tsx │ ├── privacy-policy.tsx │ └── tos.tsx ├── styles │ └── globals.css └── utils │ ├── extractName.ts │ └── getIconFromName.ts ├── tailwind.config.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | .yarn/install-state.gz 8 | 9 | # testing 10 | /coverage 11 | 12 | # next.js 13 | /.next/ 14 | /out/ 15 | 16 | # production 17 | /build 18 | 19 | # misc 20 | .DS_Store 21 | *.pem 22 | 23 | # debug 24 | npm-debug.log* 25 | yarn-debug.log* 26 | yarn-error.log* 27 | 28 | # local env files 29 | .env*.local 30 | .env 31 | # vercel 32 | .vercel 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | next-env.d.ts 37 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |
9 | Build your SaaS product landing page in hours, not days.
10 |
Super easy to customize Next.js boilerplate.
11 |
12 | About
13 | ·
14 | Get Started
15 | ·
16 | Customize
17 | ·
18 | Deploy
19 |
{paragraph}
43 | ))} 44 |{shortText}
56 |It's a game changer. Comes with an easy-to-follow tutorial, and saves a ton of time.
61 | 62 |{description}
23 |67 | Welcome to {companyName}! We're thrilled to have you on board. 68 |
69 |70 | While you're waiting, feel free to explore our website and learn more about what we offer. If you have any 71 | questions, don't hesitate to reach out to our support team. 72 |
73 |74 | Contact us at{' '} 75 | 83 | {supportEmail} 84 | 85 | . 86 |
87 |{closingMessage}
88 |
89 | Best regards,
90 | The {companyName} Team
91 |
127 | Visit us at{' '} 128 | 134 | {website} 135 | 136 |
137 |58 | Explore the powerful features to supercharge your experience. 59 |
60 |48 | {quote} 49 |
*/} 50 |{description}
64 |
68 | {/*
70 |
71 |
72 | {highlightedSmallText}
73 |
74 |
75 | {smallText}
76 |
75 | {description} 76 |
77 | 78 | {/* CTA Buttons */} 79 |
83 | {/*
85 |
86 |
87 | {highlightedSmallText}
88 |
89 |
90 | {smallText}
91 |
108 | {bold_avatar_text} {avatar_text} 109 |
110 |131 | // {bold_avatar_text} {avatar_text} 132 | //
133 | //32 | 33 | {highlighted_text} {normalText} 34 | 35 |
36 |{plan.name}
61 | 62 | {plan.originalPrice} 63 |
64 |{plan.discountedPrice}
66 |{plan.currency}
68 |118 | {plan.note} 119 |
120 |{testimonial.text}
129 |{testimonial.author}
131 | {testimonial.badge} 132 |{description}
28 |{testimonial.profileName}
50 | 51 |{profileName}
85 | {profileDesc && ( 86 |{profileDesc}
87 | )} 88 | 89 |66 | {title} 67 |
68 | )} 69 | {description && ( 70 |{title}
36 | )} 37 |{description}
38 |{features[activeIndex].details.title}
13 |10 | {text} 11 |
12 | ); 13 | }; 14 | 15 | export default Label; -------------------------------------------------------------------------------- /src/components/atoms/NavPopup.tsx: -------------------------------------------------------------------------------- 1 | // src/components/atoms/NavPopup.tsx 2 | import React, { useEffect,useState, useRef } from 'react'; 3 | import { motion } from 'framer-motion'; 4 | import { useTheme } from 'next-themes'; 5 | 6 | interface NavPopupProps { 7 | isOpen: boolean; 8 | onClose: () => void; 9 | anchorRef: React.RefObjectThis document was last updated on the 25th of Sep 2024.
84 |This document was last updated on the 25th of Sep 2024.
72 |This document was last updated on the 25th of Sep 2024.
72 |