Get from zero to a working page in minutes with Pengrafic. Learn to customize the home page and create your first component.
This guide will help you understand the template structure and make your first customizations. By the end, you’ll know how to modify existing pages and create new components.
Make sure you’ve completed the installation before proceeding.
The home page (src/app/page.tsx) is your starting point. Let’s explore how it’s structured:
src/app/page.tsx
import AboutSectionOne from "@/components/About/AboutSectionOne";import AboutSectionTwo from "@/components/About/AboutSectionTwo";import Blog from "@/components/Blog";import Brands from "@/components/Brands";import ScrollUp from "@/components/Common/ScrollUp";import Contact from "@/components/Contact";import Features from "@/components/Features";import Hero from "@/components/Hero/index1";import Pricing from "@/components/Pricing";import Testimonials from "@/components/Testimonials";import Video from "@/components/Video";export default function Home() { return ( <> <ScrollUp /> <Hero /> <Features /> <Video /> <Brands /> <AboutSectionOne /> <AboutSectionTwo /> <Testimonials /> <Pricing /> <Blog /> <Contact /> </> );}
Each component represents a section on your landing page. You can reorder, remove, or add sections by simply rearranging these imports.
The Hero section is the first thing visitors see. Let’s modify it:Original Hero component (src/components/Hero/index1.tsx:14-19):
src/components/Hero/index1.tsx
<h1 className="mb-5 text-black dark:text-white font-bold text-3xl sm:text-4xl md:text-5xl leading-tight"> Potencia tu negocio con un eCommerce o Landing Page diseñados para vender</h1><p className="mb-12 text-base !leading-relaxed text-body-color dark:text-body-color-dark sm:text-lg md:text-xl"> Atrae más clientes, aumenta tus ventas y optimiza cada clic con una plataforma hecha a tu medida. ¡Convierte visitantes en ventas hoy mismo!</p>
Customize it for your business:
src/components/Hero/index1.tsx
<h1 className="mb-5 text-black dark:text-white font-bold text-3xl sm:text-4xl md:text-5xl leading-tight"> Build Your SaaS Product Faster</h1><p className="mb-12 text-base !leading-relaxed text-body-color dark:text-body-color-dark sm:text-lg md:text-xl"> Launch your startup with a production-ready Next.js template. Save months of development time and focus on what matters.</p>
The Hero section uses responsive Tailwind classes. The heading automatically adjusts from text-3xl on mobile to text-5xl on desktop.
2
Modify Features Section
The Features section showcases your services. Edit the content in src/components/Features/featuresData.tsx:Original feature data (src/components/Features/featuresData.tsx:15-18):
src/components/Features/featuresData.tsx
{ id: 1, icon: ( <svg width="40" height="41" viewBox="0 0 40 41" className="fill-current"> {/* SVG paths */} </svg> ), title: "Desarrollo Web", paragraph: "Desarrollaremos la página web que necesita tu empresa...",}
Customize with your own features:
src/components/Features/featuresData.tsx
{ id: 1, icon: ( <svg width="40" height="41" viewBox="0 0 40 41" className="fill-current"> {/* Keep existing SVG or replace with your icon */} </svg> ), title: "Lightning Fast", paragraph: "Built on Next.js 14 with App Router for maximum performance and SEO optimization.",}
The features automatically render in a responsive grid (src/components/Features/index.tsx:16-20):
Change your site’s title, description, and SEO metadata in src/app/layout.tsx:Original metadata (src/app/layout.tsx:13-23):
src/app/layout.tsx
export const metadata: Metadata = { title: 'Pengrafic: Agencia de Marketing Digital y Desarrollo Web', description: 'Tu descripción del sitio web de Pengrafic...', icons: { icon: '/favicon.ico', shortcut: '/pen2025.png', }, verification: { google: 'xIiLIUqqWxzZ6XSXF7YQ-GKiOKmlUnUdIrTsd3fnceg', },};
Customize for your brand:
src/app/layout.tsx
export const metadata: Metadata = { title: 'YourStartup - SaaS Template for Next.js', description: 'Modern, fast, and SEO-optimized SaaS landing page template built with Next.js 14 and Tailwind CSS.', icons: { icon: '/favicon.ico', shortcut: '/logo.png', }, verification: { google: 'your-google-verification-code', },};
4
Reorder or Remove Sections
Simply rearrange components in src/app/page.tsx to change section order:Before:
This component follows the same pattern as existing components like Features and uses the template’s design system classes.
2
Add to Home Page
Import and use your new component in src/app/page.tsx:
src/app/page.tsx
import Hero from "@/components/Hero/index1";import Features from "@/components/Features";import Stats from "@/components/Stats"; // Add this importexport default function Home() { return ( <> <ScrollUp /> <Hero /> <Features /> <Stats /> {/* Add your new component */} <Contact /> </> );}
3
View Your Changes
Save the files and check localhost:3000. Your new Stats section should appear between Features and Contact!
import SectionTitle from "@/components/Common/SectionTitle";const MySection = () => { return ( <section> <div className="container"> <SectionTitle title="Our Services" paragraph="Discover what makes us different from the competition." center /> {/* Your content */} </div> </section> );};
Dark mode is built-in using next-themes. All components automatically support dark mode with dark: prefixed Tailwind classes:
<h1 className="text-black dark:text-white"> This text is black in light mode, white in dark mode</h1><div className="bg-white dark:bg-gray-dark"> Background adapts to theme</div>
Users can toggle dark mode using the theme switcher in the header. Their preference is saved to localStorage.