7 Commits

Author SHA1 Message Date
54c85622d4 Merge version_2 into main
Merge version_2 into main
2026-03-25 18:11:43 +00:00
ca9382b0b3 Update src/app/page.tsx 2026-03-25 18:11:40 +00:00
db2e8de5e8 Merge version_2 into main
Merge version_2 into main
2026-03-25 18:11:05 +00:00
7e0913bdb8 Update src/app/styles/variables.css 2026-03-25 18:11:02 +00:00
0e3c5a03d9 Update src/app/styles/base.css 2026-03-25 18:11:01 +00:00
c38301d684 Add src/app/reviews/page.tsx 2026-03-25 18:11:01 +00:00
2445e462c9 Update src/app/page.tsx 2026-03-25 18:11:01 +00:00
4 changed files with 142 additions and 34 deletions

View File

@@ -3,6 +3,10 @@
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import Link from "next/link"; import Link from "next/link";
import ContactFaq from '@/components/sections/contact/ContactFaq';
import FooterCard from '@/components/sections/footer/FooterCard';
import EmailSignupForm from '@/components/form/EmailSignupForm';
import { Phone, Mail, MessageCircle, Facebook, Instagram, Twitter } from 'lucide-react';
const navItems = [ const navItems = [
{ name: "Home", id: "/" }, { name: "Home", id: "/" },
@@ -10,19 +14,13 @@ const navItems = [
{ name: "Services", id: "/services" }, { name: "Services", id: "/services" },
{ name: "Gallery", id: "/gallery" }, { name: "Gallery", id: "/gallery" },
{ name: "Reviews", id: "/reviews" }, { name: "Reviews", id: "/reviews" },
{ name: "Contact", id: "/contact" }, { name: "Contact", id: "#contact" },
];
const footerNavItems = [
{ name: "Home", href: "/" },
{ name: "About", href: "/about" },
{ name: "Services", href: "/services" },
{ name: "Gallery", href: "/gallery" },
{ name: "Reviews", href: "/reviews" },
{ name: "Contact", href: "/contact" },
]; ];
export default function HomePage() { export default function HomePage() {
const phoneNumber = "+923002515013";
const whatsappNumber = "923002515013";
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant={"elastic-effect"} defaultButtonVariant={"elastic-effect"}
@@ -40,32 +38,58 @@ export default function HomePage() {
<NavbarLayoutFloatingOverlay <NavbarLayoutFloatingOverlay
brandName={"24/7 Gym"} brandName={"24/7 Gym"}
navItems={navItems} navItems={navItems}
button={{ text: "Join Now", href: "/contact" }} button={{ text: "Join Now", href: "#contact" }}
/> />
</div> </div>
<main className="min-h-screen pt-16 flex flex-col items-center justify-center p-4"> <main className="min-h-screen pt-16 flex flex-col items-center justify-center p-4">
<p className="text-xl text-foreground text-center"> <div id="contact" data-section="contact">
No sections could be rendered for this page as the section registry was empty. <ContactFaq
<br /> ctaTitle="Get in touch"
Please provide a section registry with available components to build the site content. ctaDescription="Have questions or ready to start your fitness journey? Reach out to us!"
</p> ctaButton={{ text: "Call Us Now", href: `tel:${phoneNumber}` }}
ctaIcon={Phone}
faqs={[]}
useInvertedBackground={false}
animationType="slide-up"
className="py-20 w-full"
/>
</div>
<div id="contact-form" data-section="contact-form" className="w-full max-w-md px-4 mx-auto py-10">
<h2 className="text-3xl font-extrabold text-center text-foreground mb-8">Send Us a Message</h2>
<EmailSignupForm
inputPlaceholder="Your email"
buttonText="Send Message"
onSubmit={(email) => console.log('Contact form submitted:', email)}
className="flex flex-col gap-4"
inputClassName="p-3 border rounded-lg bg-card text-foreground placeholder:text-foreground/60"
buttonClassName="py-3 px-6 rounded-lg bg-primary-cta text-primary-cta-text hover:opacity-90 transition-opacity"
/>
</div>
<Link
href={`https://wa.me/${whatsappNumber}`}
target="_blank"
rel="noopener noreferrer"
className="fixed bottom-6 right-6 bg-green-500 text-white p-4 rounded-full shadow-lg hover:bg-green-600 transition-colors z-50 flex items-center justify-center"
aria-label="Chat with us on WhatsApp"
>
<MessageCircle size={24} />
</Link>
</main> </main>
<footer id="footer" data-section="footer" className="bg-card text-foreground py-12"> <div id="footer" data-section="footer">
<div className="container mx-auto px-4 md:px-6 text-center"> <FooterCard
<div className="flex flex-col md:flex-row justify-center items-center gap-6 mb-8"> logoText="24/7 Gym"
{footerNavItems.map((item) => ( copyrightText={`© ${new Date().getFullYear()} 24/7 Gym. All rights reserved.`}
<Link key={item.name} href={item.href} className="hover:text-primary-cta transition-colors"> socialLinks={[
{item.name} { icon: Facebook, href: "https://facebook.com/247gym", ariaLabel: "Facebook" },
</Link> { icon: Instagram, href: "https://instagram.com/247gym", ariaLabel: "Instagram" },
))} { icon: Twitter, href: "https://twitter.com/247gym", ariaLabel: "Twitter" },
</div> ]}
<p className="text-sm text-foreground/70"> />
&copy; {new Date().getFullYear()} 24/7 Gym. All rights reserved. </div>
</p>
</div>
</footer>
</ThemeProvider> </ThemeProvider>
); );
} }

84
src/app/reviews/page.tsx Normal file
View File

@@ -0,0 +1,84 @@
"use client";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import Link from "next/link";
import TestimonialCardTwelve from '@/components/sections/testimonial/TestimonialCardTwelve';
const navItems = [
{ name: "Home", id: "/" },
{ name: "About", id: "/about" },
{ name: "Services", id: "/services" },
{ name: "Gallery", id: "/gallery" },
{ name: "Reviews", id: "/reviews" },
{ name: "Location", id: "/location" },
{ name: "Contact", id: "/contact" },
];
const footerNavItems = [
{ name: "Home", href: "/" },
{ name: "About", href: "/about" },
{ name: "Services", href: "/services" },
{ name: "Gallery", href: "/gallery" },
{ name: "Reviews", href: "/reviews" },
{ name: "Location", href: "/location" },
{ name: "Contact", href: "/contact" },
];
export default function ReviewsPage() {
return (
<ThemeProvider
defaultButtonVariant={"elastic-effect"}
defaultTextAnimation={"entrance-slide"}
borderRadius={"rounded"}
contentWidth={"mediumLarge"}
sizing={"largeSizeMediumTitles"}
background={"floatingGradient"}
cardStyle={"subtle-shadow"}
primaryButtonStyle={"double-inset"}
secondaryButtonStyle={"radial-glow"}
headingFontWeight={"extrabold"}
>
<div id="nav" data-section="nav">
<NavbarLayoutFloatingOverlay
brandName={"24/7 Gym"}
navItems={navItems}
button={{ text: "Join Now", href: "/contact" }}
/>
</div>
<main className="min-h-screen pt-16 flex flex-col items-center justify-center p-4">
<div id="reviews-section" data-section="reviews-section">
<TestimonialCardTwelve
cardTitle="Hear From Our Happy Members"
cardTag="Dedicated to continuous improvement, we value all feedback to enhance your fitness journey."
testimonials={[
{ id: "1", name: "Sarah K.", imageSrc: "https://via.placeholder.com/150/F87171/FFFFFF?text=SK", imageAlt: "Sarah K." },
{ id: "2", name: "John D.", imageSrc: "https://via.placeholder.com/150/60A5FA/FFFFFF?text=JD", imageAlt: "John D." },
{ id: "3", name: "Emily R.", imageSrc: "https://via.placeholder.com/150/34D399/FFFFFF?text=ER", imageAlt: "Emily R." },
{ id: "4", name: "Michael B.", imageSrc: "https://via.placeholder.com/150/FFD700/000000?text=MB", imageAlt: "Michael B." },
{ id: "5", name: "Jessica L.", imageSrc: "https://via.placeholder.com/150/DA70D6/FFFFFF?text=JL", imageAlt: "Jessica L." }
]}
cardAnimation="slide-up"
useInvertedBackground={false}
/>
</div>
</main>
<footer id="footer" data-section="footer" className="bg-card text-foreground py-12">
<div className="container mx-auto px-4 md:px-6 text-center">
<div className="flex flex-col md:flex-row justify-center items-center gap-6 mb-8">
{footerNavItems.map((item) => (
<Link key={item.name} href={item.href} className="hover:text-primary-cta transition-colors">
{item.name}
</Link>
))}
</div>
<p className="text-sm text-foreground/70">
&copy; {new Date().getFullYear()} 24/7 Gym. All rights reserved.
</p>
</div>
</footer>
</ThemeProvider>
);
}

View File

@@ -11,7 +11,7 @@ html {
body { body {
background-color: var(--background); background-color: var(--background);
color: var(--foreground); color: var(--foreground);
font-family: var(--font-public-sans), sans-serif; font-family: var(--font-montserrat), sans-serif;
position: relative; position: relative;
min-height: 100vh; min-height: 100vh;
overscroll-behavior: none; overscroll-behavior: none;
@@ -24,5 +24,5 @@ h3,
h4, h4,
h5, h5,
h6 { h6 {
font-family: var(--font-public-sans), sans-serif; font-family: var(--font-montserrat), sans-serif;
} }

View File

@@ -13,7 +13,7 @@
--background: #060000; --background: #060000;
--card: #1d0d0d; --card: #1d0d0d;
--foreground: #ffe6e6; --foreground: #ffe6e6;
--primary-cta: #ff3d4a; --primary-cta: #ff2e2e;
--primary-cta-text: #ffffff; --primary-cta-text: #ffffff;
--secondary-cta: #1f0a0a; --secondary-cta: #1f0a0a;
--secondary-cta-text: #ffe6e6; --secondary-cta-text: #ffe6e6;