12 Commits

Author SHA1 Message Date
81aa6484a2 Merge version_2 into main
Merge version_2 into main
2026-03-28 12:17:18 +00:00
a5894e2249 Update src/app/portal/page.tsx 2026-03-28 12:17:15 +00:00
cbdefefa2e Update src/app/booking/page.tsx 2026-03-28 12:17:14 +00:00
cbe7264865 Update src/app/blog/page.tsx 2026-03-28 12:17:14 +00:00
60382acaf3 Merge version_2 into main
Merge version_2 into main
2026-03-28 12:16:49 +00:00
43bf7100b2 Add src/app/portal/page.tsx 2026-03-28 12:16:46 +00:00
21aeff73f0 Update src/app/page.tsx 2026-03-28 12:16:45 +00:00
ffbdd52f4b Add src/app/booking/page.tsx 2026-03-28 12:16:45 +00:00
9c4e3f3b46 Add src/app/blog/page.tsx 2026-03-28 12:16:44 +00:00
48093ca292 Merge version_1 into main
Merge version_1 into main
2026-03-27 20:56:47 +00:00
c684dede90 Merge version_1 into main
Merge version_1 into main
2026-03-27 20:56:23 +00:00
5b0a84564b Merge version_1 into main
Merge version_1 into main
2026-03-27 20:55:52 +00:00
4 changed files with 128 additions and 9 deletions

46
src/app/blog/page.tsx Normal file
View File

@@ -0,0 +1,46 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import BlogCardTwo from '@/components/sections/blog/BlogCardTwo';
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
export default function BlogPage() {
return (
<ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{ name: "Home", id: "/" },
{ name: "Blog", id: "/blog" },
{ name: "Booking", id: "/booking" },
{ name: "Portal", id: "/portal" }
]}
brandName="Paws & Relax"
button={{ text: "Book Now", href: "/booking" }}
/>
</div>
<div id="blog" data-section="blog">
<BlogCardTwo
title="Pet Education Hub"
description="Everything you need to know about happy pets."
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
blogs={[
{ id: "1", category: "Grooming", title: "Nail Care 101", excerpt: "How to trim safely.", imageSrc: "/images/placeholder.jpg", authorName: "Staff", authorAvatar: "/images/avatar.jpg", date: "2025" },
{ id: "2", category: "Health", title: "Annual Checkups", excerpt: "Importance of vet visits.", imageSrc: "/images/placeholder.jpg", authorName: "Staff", authorAvatar: "/images/avatar.jpg", date: "2025" }
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
columns={[{ title: "Quick Links", items: [{ label: "Home", href: "/" }, { label: "Blog", href: "/blog" }] }]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

37
src/app/booking/page.tsx Normal file
View File

@@ -0,0 +1,37 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import ContactCTA from '@/components/sections/contact/ContactCTA';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
export default function BookingPage() {
return (
<ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Booking", id: "/booking" }, { name: "Portal", id: "/portal" }]}
brandName="Paws & Relax"
button={{ text: "Portal", href: "/portal" }}
/>
</div>
<div className="pt-32 pb-20 px-6 max-w-4xl mx-auto">
<h1 className="text-4xl font-bold mb-8">Online Booking</h1>
<div className="p-8 bg-card rounded-lg shadow-sm border">
<p>Booking calendar interface will be initialized here.</p>
</div>
</div>
<div id="contact" data-section="contact">
<ContactCTA tag="Support" title="Need help booking?" description="Contact us if you have any trouble scheduling your appointment." buttons={[{ text: "Call Us", href: "tel:6099944450" }]} background={{ variant: "plain" }} useInvertedBackground={false} />
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
columns={[{ title: "Quick Links", items: [{ label: "Home", href: "/" }, { label: "Blog", href: "/blog" }] }]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}

View File

@@ -9,6 +9,7 @@ import HeroBillboardGallery from '@/components/sections/hero/HeroBillboardGaller
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import TestimonialCardFive from '@/components/sections/testimonial/TestimonialCardFive';
import TextSplitAbout from '@/components/sections/about/TextSplitAbout';
import Head from 'next/head';
export default function LandingPage() {
return (
@@ -24,18 +25,20 @@ export default function LandingPage() {
secondaryButtonStyle="layered"
headingFontWeight="bold"
>
<Head>
<meta name="theme-color" content="#ffffff" />
<link rel="manifest" href="/manifest.json" />
<link rel="apple-touch-icon" href="/icon-192.png" />
</Head>
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[
{
name: "Home", id: "hero"},
{
name: "About", id: "about"},
{
name: "Services", id: "services"},
{
name: "Contact", id: "contact"},
{ name: "Home", id: "hero" },
{ name: "About", id: "about" },
{ name: "Services", id: "services" },
{ name: "Testimonials", id: "testimonials" },
{ name: "Contact", id: "contact" },
]}
brandName="Paws & Relax"
button={{ text: "Book Now", href: "#contact" }}
@@ -178,4 +181,4 @@ export default function LandingPage() {
</ReactLenis>
</ThemeProvider>
);
}
}

33
src/app/portal/page.tsx Normal file
View File

@@ -0,0 +1,33 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import ReactLenis from "lenis/react";
import NavbarLayoutFloatingInline from '@/components/navbar/NavbarLayoutFloatingInline';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
export default function PortalPage() {
return (
<ThemeProvider defaultButtonVariant="text-stagger" defaultTextAnimation="entrance-slide" borderRadius="rounded" contentWidth="medium" sizing="medium" background="circleGradient" cardStyle="glass-elevated" primaryButtonStyle="gradient" secondaryButtonStyle="glass" headingFontWeight="normal">
<ReactLenis root>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingInline
navItems={[{ name: "Home", id: "/" }, { name: "Blog", id: "/blog" }, { name: "Booking", id: "/booking" }, { name: "Portal", id: "/portal" }]}
brandName="Paws & Relax"
button={{ text: "Book Now", href: "/booking" }}
/>
</div>
<div className="pt-32 pb-20 px-6 max-w-4xl mx-auto">
<h1 className="text-4xl font-bold mb-8">Client Portal</h1>
<div className="p-8 bg-card rounded-lg shadow-sm border">
<p>Account management and booking history dashboard will be initialized here.</p>
</div>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
columns={[{ title: "Quick Links", items: [{ label: "Home", href: "/" }, { label: "Blog", href: "/blog" }] }]}
/>
</div>
</ReactLenis>
</ThemeProvider>
);
}