Merge version_2 into main #5

Merged
bender merged 6 commits from version_2 into main 2026-03-08 01:32:27 +00:00
6 changed files with 178 additions and 180 deletions

View File

@@ -1,6 +1,6 @@
"use client";
import { ThemeProvider } from '@/components/theme';
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import InlineImageSplitTextAbout from '@/components/sections/about/InlineImageSplitTextAbout';
import TeamCardFive from '@/components/sections/team/TeamCardFive';

View File

@@ -1,10 +1,9 @@
'use client';
import { ThemeProvider } from '@/components/theme/ThemeProvider';
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import ContactSplit from '@/components/sections/contact/ContactSplit';
import ContactCenter from '@/components/sections/contact/ContactCenter';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import { ReactLenis } from '@/components/common/ReactLenis';
import { Mail, Phone, MapPin } from 'lucide-react';
export default function ContactPage() {
@@ -21,136 +20,131 @@ export default function ContactPage() {
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<ReactLenis root>
<NavbarStyleCentered
navItems={[
{ name: 'Home', id: '/' },
{ name: 'Services', id: '/#services' },
{ name: 'About', id: '/#about' },
{ name: 'Contact', id: '/contact' },
]}
button={{ text: 'Get Started', href: '/contact' }}
<NavbarStyleCentered
navItems={[
{ name: 'Home', id: '/' },
{ name: 'Services', id: '/#services' },
{ name: 'About', id: '/#about' },
{ name: 'Contact', id: '/contact' },
]}
button={{ text: 'Get Started', href: '/contact' }}
/>
{/* Contact Form Section */}
<div id="contact-form" data-section="contact-form" className="py-24">
<ContactCenter
tag="Get in Touch"
title="Let's Start a Conversation"
description="Whether you have a project in mind or want to discuss how we can help elevate your brand, we're here to listen. Reach out today."
tagIcon={Mail}
background={{ variant: 'sparkles-gradient' }}
useInvertedBackground={false}
inputPlaceholder="your@email.com"
onSubmit={(email) => console.log('Email submitted:', email)}
/>
</div>
{/* Contact Form Section */}
<div id="contact-form" data-section="contact-form" className="py-24">
<ContactSplit
tag="Get in Touch"
title="Let's Start a Conversation"
description="Whether you have a project in mind or want to discuss how we can help elevate your brand, we're here to listen. Reach out today."
tagIcon={Mail}
background={{ variant: 'sparkles-gradient' }}
useInvertedBackground={false}
imageSrc="/placeholders/placeholder5.jpg"
mediaPosition="right"
buttonText="Send Message"
inputPlaceholder="your@email.com"
onSubmit={(email) => console.log('Email submitted:', email)}
/>
</div>
{/* Contact Details Section */}
<div id="contact-details" data-section="contact-details" className="py-24 px-4">
<div className="max-w-6xl mx-auto">
<div className="mb-16 text-center">
<h2 className="text-4xl md:text-5xl font-bold mb-4">Contact Information</h2>
<p className="text-lg text-foreground/75 max-w-2xl mx-auto">
Prefer to reach out directly? Here's how you can get in touch with our team.
</p>
</div>
{/* Contact Details Section */}
<div id="contact-details" data-section="contact-details" className="py-24 px-4">
<div className="max-w-6xl mx-auto">
<div className="mb-16 text-center">
<h2 className="text-4xl md:text-5xl font-bold mb-4">Contact Information</h2>
<p className="text-lg text-foreground/75 max-w-2xl mx-auto">
Prefer to reach out directly? Here's how you can get in touch with our team.
<div className="grid md:grid-cols-3 gap-8 mb-12">
{/* Email */}
<div className="p-8 rounded-xl bg-card border border-accent/20 text-center hover:border-accent/40 transition-colors">
<div className="flex justify-center mb-4">
<Mail className="w-8 h-8 text-primary-cta" />
</div>
<h3 className="text-xl font-semibold mb-2">Email</h3>
<p className="text-foreground/75">
<a href="mailto:hello@webild.com" className="hover:text-primary-cta transition-colors">
hello@webild.com
</a>
</p>
<p className="text-sm text-foreground/60 mt-2">We respond within 24 hours</p>
</div>
<div className="grid md:grid-cols-3 gap-8 mb-12">
{/* Email */}
<div className="p-8 rounded-xl bg-card border border-accent/20 text-center hover:border-accent/40 transition-colors">
<div className="flex justify-center mb-4">
<Mail className="w-8 h-8 text-primary-cta" />
</div>
<h3 className="text-xl font-semibold mb-2">Email</h3>
<p className="text-foreground/75">
<a href="mailto:hello@webild.com" className="hover:text-primary-cta transition-colors">
hello@webild.com
</a>
</p>
<p className="text-sm text-foreground/60 mt-2">We respond within 24 hours</p>
{/* Phone */}
<div className="p-8 rounded-xl bg-card border border-accent/20 text-center hover:border-accent/40 transition-colors">
<div className="flex justify-center mb-4">
<Phone className="w-8 h-8 text-primary-cta" />
</div>
<h3 className="text-xl font-semibold mb-2">Phone</h3>
<p className="text-foreground/75">
<a href="tel:+1234567890" className="hover:text-primary-cta transition-colors">
+1 (234) 567-890
</a>
</p>
<p className="text-sm text-foreground/60 mt-2">Mon-Fri, 9am-6pm EST</p>
</div>
{/* Phone */}
<div className="p-8 rounded-xl bg-card border border-accent/20 text-center hover:border-accent/40 transition-colors">
<div className="flex justify-center mb-4">
<Phone className="w-8 h-8 text-primary-cta" />
</div>
<h3 className="text-xl font-semibold mb-2">Phone</h3>
<p className="text-foreground/75">
<a href="tel:+1234567890" className="hover:text-primary-cta transition-colors">
+1 (234) 567-890
</a>
</p>
<p className="text-sm text-foreground/60 mt-2">Mon-Fri, 9am-6pm EST</p>
</div>
{/* Location */}
<div className="p-8 rounded-xl bg-card border border-accent/20 text-center hover:border-accent/40 transition-colors">
<div className="flex justify-center mb-4">
<MapPin className="w-8 h-8 text-primary-cta" />
</div>
<h3 className="text-xl font-semibold mb-2">Location</h3>
<p className="text-foreground/75">
San Francisco, CA<br />
United States
</p>
<p className="text-sm text-foreground/60 mt-2">Available for remote work globally</p>
{/* Location */}
<div className="p-8 rounded-xl bg-card border border-accent/20 text-center hover:border-accent/40 transition-colors">
<div className="flex justify-center mb-4">
<MapPin className="w-8 h-8 text-primary-cta" />
</div>
<h3 className="text-xl font-semibold mb-2">Location</h3>
<p className="text-foreground/75">
San Francisco, CA<br />
United States
</p>
<p className="text-sm text-foreground/60 mt-2">Available for remote work globally</p>
</div>
</div>
</div>
</div>
{/* WhatsApp Floating Button */}
<div className="fixed bottom-8 right-8 z-50">
<a
href="https://wa.me/1234567890?text=Hello%20Webild%2C%20I%27d%20like%20to%20discuss%20a%20project%20with%20you."
target="_blank"
rel="noopener noreferrer"
className="flex items-center justify-center w-14 h-14 bg-green-500 text-white rounded-full shadow-lg hover:bg-green-600 transition-all hover:scale-110 hover:shadow-xl group"
aria-label="Chat on WhatsApp"
{/* WhatsApp Floating Button */}
<div className="fixed bottom-8 right-8 z-50">
<a
href="https://wa.me/1234567890?text=Hello%20Webild%2C%20I%27d%20like%20to%20discuss%20a%20project%20with%20you."
target="_blank"
rel="noopener noreferrer"
className="flex items-center justify-center w-14 h-14 bg-green-500 text-white rounded-full shadow-lg hover:bg-green-600 transition-all hover:scale-110 hover:shadow-xl group"
aria-label="Chat on WhatsApp"
>
<svg
className="w-6 h-6"
fill="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<svg
className="w-6 h-6"
fill="currentColor"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
>
<path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.67-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.076 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421-7.403h-.004a6.963 6.963 0 00-6.957 6.96c0 1.928.533 3.81 1.545 5.458L2.705 20.94a.75.75 0 00.961.961l5.06-1.257a6.963 6.963 0 005.457 1.545c3.859 0 6.957-3.099 6.957-6.958 0-1.86-.716-3.61-2.016-4.911-1.3-1.3-3.051-2.016-4.911-2.016z" />
</svg>
</a>
</div>
<path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.67-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.076 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421-7.403h-.004a6.963 6.963 0 00-6.957 6.96c0 1.928.533 3.81 1.545 5.458L2.705 20.94a.75.75 0 00.961.961l5.06-1.257a6.963 6.963 0 005.457 1.545c3.859 0 6.957-3.099 6.957-6.958 0-1.86-.716-3.61-2.016-4.911-1.3-1.3-3.051-2.016-4.911-2.016z" />
</svg>
</a>
</div>
<FooterBaseReveal
columns={[
{
title: 'Product',
items: [
{ label: 'Features', href: '/#services' },
{ label: 'Pricing', href: '#' },
],
},
{
title: 'Company',
items: [
{ label: 'About', href: '/#about' },
{ label: 'Blog', href: '#' },
],
},
{
title: 'Legal',
items: [
{ label: 'Privacy', href: '#' },
{ label: 'Terms', href: '#' },
],
},
]}
copyrightText="© 2025 | Webild"
/>
</ReactLenis>
<FooterBaseReveal
columns={[
{
title: 'Product',
items: [
{ label: 'Features', href: '/#services' },
{ label: 'Pricing', href: '#' },
],
},
{
title: 'Company',
items: [
{ label: 'About', href: '/#about' },
{ label: 'Blog', href: '#' },
],
},
{
title: 'Legal',
items: [
{ label: 'Privacy', href: '#' },
{ label: 'Terms', href: '#' },
],
},
]}
copyrightText="© 2025 | Webild"
/>
</ThemeProvider>
);
}

View File

@@ -3,8 +3,6 @@
import type { Metadata } from 'next';
import { Lora } from 'next/font/google';
import './globals.css';
import { ServiceWrapper } from '@/components/common/ServiceWrapper';
import { Tag } from '@/components/common/Tag';
const lora = Lora({
variable: '--font-lora',
@@ -25,10 +23,7 @@ export default function RootLayout({
return (
<html lang="en" suppressHydrationWarning>
<body className={`${lora.variable}`}>
<ServiceWrapper>
<Tag />
{children}
</ServiceWrapper>
{children}
<script
async
src="https://cdn.jsdelivr.net/npm/lenis@1.1.13/dist/lenis.min.js"

View File

@@ -1,10 +1,9 @@
'use client';
import { ThemeProvider } from '@/components/theme/ThemeProvider';
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import HeroLogo from '@/components/sections/hero/HeroLogo';
import FooterBaseReveal from '@/components/sections/footer/FooterBaseReveal';
import { ReactLenis } from '@/components/common/ReactLenis';
export default function Home() {
return (
@@ -20,53 +19,51 @@ export default function Home() {
secondaryButtonStyle="glass"
headingFontWeight="semibold"
>
<ReactLenis root>
<NavbarStyleCentered
navItems={[
{ name: 'Home', id: '/' },
{ name: 'Services', id: '#services' },
{ name: 'About', id: '#about' },
{ name: 'Contact', id: '/contact' },
]}
button={{ text: 'Get Started', href: '/contact' }}
/>
<HeroLogo
logoText="Webild"
description="Building exceptional digital experiences with innovative design solutions"
buttons={[
{ text: 'Get Started', href: '/contact' },
{ text: 'Learn More', href: '#about' },
]}
imageSrc="/placeholders/placeholder5.jpg"
imageAlt="Hero background"
/>
<FooterBaseReveal
columns={[
{
title: 'Product',
items: [
{ label: 'Features', href: '#services' },
{ label: 'Pricing', href: '#' },
],
},
{
title: 'Company',
items: [
{ label: 'About', href: '#about' },
{ label: 'Blog', href: '#' },
],
},
{
title: 'Legal',
items: [
{ label: 'Privacy', href: '#' },
{ label: 'Terms', href: '#' },
],
},
]}
copyrightText="© 2025 | Webild"
/>
</ReactLenis>
<NavbarStyleCentered
navItems={[
{ name: 'Home', id: '/' },
{ name: 'Services', id: '#services' },
{ name: 'About', id: '#about' },
{ name: 'Contact', id: '/contact' },
]}
button={{ text: 'Get Started', href: '/contact' }}
/>
<HeroLogo
logoText="Webild"
description="Building exceptional digital experiences with innovative design solutions"
buttons={[
{ text: 'Get Started', href: '/contact' },
{ text: 'Learn More', href: '#about' },
]}
imageSrc="/placeholders/placeholder5.jpg"
imageAlt="Hero background"
/>
<FooterBaseReveal
columns={[
{
title: 'Product',
items: [
{ label: 'Features', href: '#services' },
{ label: 'Pricing', href: '#' },
],
},
{
title: 'Company',
items: [
{ label: 'About', href: '#about' },
{ label: 'Blog', href: '#' },
],
},
{
title: 'Legal',
items: [
{ label: 'Privacy', href: '#' },
{ label: 'Terms', href: '#' },
],
},
]}
copyrightText="© 2025 | Webild"
/>
</ThemeProvider>
);
}

View File

@@ -1,6 +1,6 @@
"use client";
import { ThemeProvider } from "@/context/ThemeContext";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import FeatureCardTwentyFive from "@/components/sections/feature/FeatureCardTwentyFive";
import { ImageIcon, Zap } from "lucide-react";
@@ -62,7 +62,20 @@ export default function ProjectsPage() {
<main className="min-h-screen w-full">
<section id="projects" data-section="projects" className="py-24">
<FeatureCardTwentyFive
features={projects}
features={[
{
icon: ImageIcon,
title: "Modern Residential Complex", description: "Luxury residential development featuring before and after transformation of urban landscape into premium living spaces."},
{
icon: Zap,
title: "Commercial Office Building", description: "Contemporary office space redesign showcasing architectural excellence and sustainable design principles."},
{
icon: ImageIcon,
title: "Boutique Retail Space", description: "High-end retail transformation featuring luxury minimal aesthetic and cutting-edge interior design."},
{
icon: Zap,
title: "Wellness Spa Retreat", description: "Serene wellness center renovation emphasizing clean lines, natural materials, and tranquil atmospheres."},
]}
animationType="slide-up"
title="Our Projects"
description="Explore our portfolio of luxury minimal transformations featuring before and after photography"

View File

@@ -1,7 +1,7 @@
'use client';
import { ThemeProvider } from '@/components/ThemeProvider';
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import PricingCardNine from '@/components/sections/pricing/PricingCardNine';
export default function Services() {
@@ -18,12 +18,11 @@ export default function Services() {
secondaryButtonStyle="glass"
headingFontWeight="bold"
>
<NavbarLayoutFloatingOverlay
<NavbarStyleCentered
navItems={[
{ name: 'Home', id: '/' },
{ name: 'Services', id: '/services' },
]}
brandName="Webild"
button={{ text: 'Get Started', href: '#' }}
/>