Fazekit

Code

"use client";
import * as React from "react";
import { cn } from "@/lib/utils";
import { pulseContent, type PulseContent } from "./data";
import { Hero, Navbar } from "./sections/hero";
import { Features, HowItWorks, Stats } from "./sections/features";
import { Download, Faq, Footer, Pricing, Reviews } from "./sections/closing";

export interface MobileAppTemplateProps {
  /** Override any top-level content block. Missing keys fall back to the demo copy. */
  content?: Partial<PulseContent>;
  className?: string;
}

/**
 * Pulse Habits — a consumer mobile-app landing page.
 * Floating pill navbar, hero with a live CSS phone, stats, scroll-synced feature screens, how-it-works,
 * reviews marquee with rating, free/premium pricing, download CTA with QR art, FAQ and footer.
 */
export function MobileAppTemplate({ content, className }: MobileAppTemplateProps) {
  const c: PulseContent = { ...pulseContent, ...content };
  return (
    <div className={cn("relative w-full bg-background font-sans text-foreground antialiased selection:bg-rose-500/30", className)}>
      <Navbar brand={c.brand} links={c.nav} />
      <main>
        <Hero content={c.hero} habits={c.habits} />
        <Stats items={c.stats} />
        <Features content={c.features} habits={c.habits} />
        <HowItWorks steps={c.steps} />
        <Reviews rating={c.rating} reviews={c.reviews} />
        <Pricing content={c.pricing} />
        <Download content={c.download} />
        <Faq items={c.faq} />
      </main>
      <Footer brand={c.brand} content={c.footer} />
    </div>
  );
}

export default MobileAppTemplate;

More in Landing Pages

View all →