How Next.js App Router file-based routing works
In your generated project, every route is defined by the folder structure underapp/. A folder named pricing inside app/ creates the route /pricing. The page rendered at that route is the page.tsx file inside that folder.
page.tsx must export a default React component. Layout files (layout.tsx) let you wrap multiple routes with shared UI like a Navbar or sidebar. If you want the Pricing page to share the same Navbar and Footer as the Landing page, you can either import them directly into page.tsx or add a layout.tsx at the app/ level.
Next.js App Router uses React Server Components by default. If your page needs client-side interactivity (state, event handlers, animations), add
"use client" as the first line of the file.Step-by-step: creating a Pricing page
1
Create the route folder and page file
Inside your project, create the directory and file:Open
app/pricing/page.tsx in your editor. Because this page will use Framer Motion animations, start with the "use client" directive:2
Scaffold the page component with Navbar and Footer
Import the shared layout components that Slik Dev already generated for you, then build the basic page wrapper:
3
Add the page header section
Following Slik Dev’s section pattern — centered header, short label, large heading, subtext — add a hero header inside
<main>:4
Build the pricing card grid
Add a three-column card grid below the header. Each card follows the same Define the
glass-card styling pattern Slik Dev uses in FeaturesSection.tsx:plans data array above the component:5
Add a navigation link in the Navbar
Open Add the same link inside the mobile menu block (the
components/layout/Navbar.tsx and add a link to /pricing in both the desktop nav and the mobile menu:md:hidden div) so it appears consistently across all screen sizes.Creating a new UI component in Slik’s style
When you need a reusable component that does not yet exist in yourcomponents/ folder, follow Slik Dev’s conventions: TypeScript props interface, Tailwind for styling, Framer Motion for animation, and Lucide React for icons.
Here is a minimal example — a Badge component that signals plan status:
Place new components in
components/ui/ for generic elements (buttons, badges, modals) and in components/layout/ for structural elements (Navbar, Footer, Sidebar). This matches the folder convention Slik Dev generates.