12 Commits

Author SHA1 Message Date
aedf452040 Update src/app/page.tsx 2026-03-03 09:51:37 +00:00
595934a60b Update src/app/about/page.tsx 2026-03-03 09:51:36 +00:00
e9696f3f3d Update src/app/services/page.tsx 2026-03-03 09:49:18 +00:00
c528dc4fae Update src/app/portfolio/page.tsx 2026-03-03 09:49:18 +00:00
e057848138 Update src/app/page.tsx 2026-03-03 09:49:17 +00:00
6213a4418c Update src/app/contact/page.tsx 2026-03-03 09:49:17 +00:00
be8dd855ad Update src/app/about/page.tsx 2026-03-03 09:49:16 +00:00
262fa0d05e Update src/app/services/page.tsx 2026-03-03 09:35:12 +00:00
4b5b970a8e Update src/app/portfolio/page.tsx 2026-03-03 09:35:11 +00:00
275fb30d84 Update src/app/page.tsx 2026-03-03 09:35:10 +00:00
92dd2ba39d Update src/app/about/page.tsx 2026-03-03 09:35:09 +00:00
e40a24d3cf Merge version_3 into main
Merge version_3 into main
2026-03-03 09:33:10 +00:00
3 changed files with 180 additions and 4 deletions

View File

@@ -4,9 +4,10 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen"; import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard"; import TestimonialAboutCard from "@/components/sections/about/TestimonialAboutCard";
import FeatureCardNine from "@/components/sections/feature/FeatureCardNine"; import FeatureCardNine from "@/components/sections/feature/FeatureCardNine";
import TeamCardSix from "@/components/sections/team/TeamCardSix";
import ContactText from "@/components/sections/contact/ContactText"; import ContactText from "@/components/sections/contact/ContactText";
import FooterBase from "@/components/sections/footer/FooterBase"; import FooterBase from "@/components/sections/footer/FooterBase";
import { Heart, Workflow } from "lucide-react"; import { Heart, Workflow, Users } from "lucide-react";
export default function AboutPage() { export default function AboutPage() {
const navItems = [ const navItems = [
@@ -58,6 +59,24 @@ export default function AboutPage() {
/> />
</div> </div>
<div id="team" data-section="team">
<TeamCardSix
members={[
{
id: "1", name: "Lucas Pereira", role: "Lead Designer & Strategy", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AQaMoBX7jFwK0QlMohZLIPqdAi/professional-headshot-of-a-confident-mal-1772527369460-6104c452.png?_wi=3", imageAlt: "Lucas Pereira"
}
]}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
title="Meet Our Team"
description="The talented people behind our success"
textboxLayout="default"
useInvertedBackground={false}
tag="Team"
tagIcon={Users}
/>
</div>
<div id="process" data-section="process"> <div id="process" data-section="process">
<FeatureCardNine <FeatureCardNine
title="Our Values & Culture" title="Our Values & Culture"

View File

@@ -4,8 +4,12 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen"; import NavbarStyleFullscreen from "@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen";
import ContactText from "@/components/sections/contact/ContactText"; import ContactText from "@/components/sections/contact/ContactText";
import FooterBase from "@/components/sections/footer/FooterBase"; import FooterBase from "@/components/sections/footer/FooterBase";
import { useState } from "react";
export default function ContactPage() { export default function ContactPage() {
const [bookingFormData, setBookingFormData] = useState({
email: "", fullName: "", phoneNumber: ""});
const navItems = [ const navItems = [
{ name: "Home", id: "/" }, { name: "Home", id: "/" },
{ name: "Services", id: "/services" }, { name: "Services", id: "/services" },
@@ -14,6 +18,12 @@ export default function ContactPage() {
{ name: "Contact", id: "/contact" }, { name: "Contact", id: "/contact" },
]; ];
const handleBookingSubmit = (e: React.FormEvent) => {
e.preventDefault();
console.log("Booking submitted:", bookingFormData);
setBookingFormData({ email: "", fullName: "", phoneNumber: "" });
};
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-magnetic" defaultButtonVariant="hover-magnetic"
@@ -47,11 +57,70 @@ export default function ContactPage() {
useInvertedBackground={false} useInvertedBackground={false}
buttons={[ buttons={[
{ text: "Email Us", href: "mailto:hello@pulsedigital.com" }, { text: "Email Us", href: "mailto:hello@pulsedigital.com" },
{ text: "Schedule a Call", href: "#" }, { text: "Schedule a Call", href: "#booking" },
]} ]}
/> />
</div> </div>
<div id="booking" data-section="booking" className="py-20 bg-gradient-to-b from-background to-card">
<div className="container mx-auto px-4 max-w-2xl">
<div className="text-center mb-12">
<h2 className="text-4xl font-bold text-foreground mb-4">Schedule a Consultation</h2>
<p className="text-lg text-foreground/80">Book a meeting with our team to discuss your project</p>
</div>
<form onSubmit={handleBookingSubmit} className="bg-card rounded-lg p-8 shadow-lg border border-accent/20">
<div className="mb-6">
<label htmlFor="fullName" className="block text-sm font-medium text-foreground mb-2">
Full Name *
</label>
<input
type="text"
id="fullName"
required
value={bookingFormData.fullName}
onChange={(e) => setBookingFormData({ ...bookingFormData, fullName: e.target.value })}
placeholder="Your full name"
className="w-full px-4 py-2 rounded-lg bg-background text-foreground border border-accent/30 focus:border-primary-cta focus:outline-none"
/>
</div>
<div className="mb-6">
<label htmlFor="email" className="block text-sm font-medium text-foreground mb-2">
Email Address *
</label>
<input
type="email"
id="email"
required
value={bookingFormData.email}
onChange={(e) => setBookingFormData({ ...bookingFormData, email: e.target.value })}
placeholder="your.email@example.com"
className="w-full px-4 py-2 rounded-lg bg-background text-foreground border border-accent/30 focus:border-primary-cta focus:outline-none"
/>
</div>
<div className="mb-6">
<label htmlFor="phoneNumber" className="block text-sm font-medium text-foreground mb-2">
Phone Number *
</label>
<input
type="tel"
id="phoneNumber"
required
value={bookingFormData.phoneNumber}
onChange={(e) => setBookingFormData({ ...bookingFormData, phoneNumber: e.target.value })}
placeholder="+1 (555) 000-0000"
className="w-full px-4 py-2 rounded-lg bg-background text-foreground border border-accent/30 focus:border-primary-cta focus:outline-none"
/>
</div>
<button
type="submit"
className="w-full bg-primary-cta text-primary-cta-text font-semibold py-3 rounded-lg hover:opacity-90 transition-opacity"
>
Schedule Consultation
</button>
</form>
</div>
</div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterBase <FooterBase
logoText="Pulse Digital" logoText="Pulse Digital"

View File

@@ -10,10 +10,15 @@ import MetricCardEleven from "@/components/sections/metrics/MetricCardEleven";
import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen"; import TestimonialCardThirteen from "@/components/sections/testimonial/TestimonialCardThirteen";
import ContactText from "@/components/sections/contact/ContactText"; import ContactText from "@/components/sections/contact/ContactText";
import FooterBase from "@/components/sections/footer/FooterBase"; import FooterBase from "@/components/sections/footer/FooterBase";
import TeamCardSix from "@/components/sections/team/TeamCardSix";
import Link from "next/link"; import Link from "next/link";
import { Zap, Heart, Rocket, Lightbulb, Star, TrendingUp, Workflow, MessageCircle } from "lucide-react"; import { Zap, Heart, Rocket, Lightbulb, Star, TrendingUp, Workflow, MessageCircle, Mail, Users } from "lucide-react";
import { useState } from "react";
export default function HomePage() { export default function HomePage() {
const [bookingFormData, setBookingFormData] = useState({
email: "", fullName: "", phoneNumber: ""});
const navItems = [ const navItems = [
{ name: "Home", id: "/" }, { name: "Home", id: "/" },
{ name: "Services", id: "/services" }, { name: "Services", id: "/services" },
@@ -22,6 +27,12 @@ export default function HomePage() {
{ name: "Contact", id: "/contact" }, { name: "Contact", id: "/contact" },
]; ];
const handleBookingSubmit = (e: React.FormEvent) => {
e.preventDefault();
console.log("Booking submitted:", bookingFormData);
setBookingFormData({ email: "", fullName: "", phoneNumber: "" });
};
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="hover-magnetic" defaultButtonVariant="hover-magnetic"
@@ -113,7 +124,7 @@ export default function HomePage() {
}, },
{ {
id: "2", name: "James Chen", handle: "@jameschen", testimonial: "Working with Pulse Digital was seamless. They understood our vision, delivered on time, and provided excellent support throughout the project.", rating: 5, id: "2", name: "James Chen", handle: "@jameschen", testimonial: "Working with Pulse Digital was seamless. They understood our vision, delivered on time, and provided excellent support throughout the project.", rating: 5,
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AQaMoBX7jFwK0QlMohZLIPqdAi/professional-headshot-of-a-confident-mal-1772527369460-6104c452.png", imageAlt: "James Chen, Founder" imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AQaMoBX7jFwK0QlMohZLIPqdAi/professional-headshot-of-a-confident-mal-1772527369460-6104c452.png?_wi=1", imageAlt: "James Chen, Founder"
}, },
{ {
id: "3", name: "Emily Rodriguez", handle: "@emilyrodriguez", testimonial: "The team at Pulse Digital is incredibly talented and professional. They took our outdated website and created something truly exceptional.", rating: 5, id: "3", name: "Emily Rodriguez", handle: "@emilyrodriguez", testimonial: "The team at Pulse Digital is incredibly talented and professional. They took our outdated website and created something truly exceptional.", rating: 5,
@@ -136,6 +147,83 @@ export default function HomePage() {
/> />
</div> </div>
<div id="team" data-section="team">
<TeamCardSix
members={[
{
id: "1", name: "Lucas Pereira", role: "Lead Designer & Strategy", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AQaMoBX7jFwK0QlMohZLIPqdAi/professional-headshot-of-a-confident-mal-1772527369460-6104c452.png?_wi=2", imageAlt: "Lucas Pereira"
}
]}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
title="Meet Our Team"
description="The talented people behind our success"
textboxLayout="default"
useInvertedBackground={false}
tag="Team"
tagIcon={Users}
/>
</div>
<div id="booking" data-section="booking" className="py-20 bg-gradient-to-b from-background to-card">
<div className="container mx-auto px-4 max-w-2xl">
<div className="text-center mb-12">
<h2 className="text-4xl font-bold text-foreground mb-4">Schedule a Consultation</h2>
<p className="text-lg text-foreground/80">Book a meeting with our team to discuss your project</p>
</div>
<form onSubmit={handleBookingSubmit} className="bg-card rounded-lg p-8 shadow-lg border border-accent/20">
<div className="mb-6">
<label htmlFor="fullName" className="block text-sm font-medium text-foreground mb-2">
Full Name *
</label>
<input
type="text"
id="fullName"
required
value={bookingFormData.fullName}
onChange={(e) => setBookingFormData({ ...bookingFormData, fullName: e.target.value })}
placeholder="Your full name"
className="w-full px-4 py-2 rounded-lg bg-background text-foreground border border-accent/30 focus:border-primary-cta focus:outline-none"
/>
</div>
<div className="mb-6">
<label htmlFor="email" className="block text-sm font-medium text-foreground mb-2">
Email Address *
</label>
<input
type="email"
id="email"
required
value={bookingFormData.email}
onChange={(e) => setBookingFormData({ ...bookingFormData, email: e.target.value })}
placeholder="your.email@example.com"
className="w-full px-4 py-2 rounded-lg bg-background text-foreground border border-accent/30 focus:border-primary-cta focus:outline-none"
/>
</div>
<div className="mb-6">
<label htmlFor="phoneNumber" className="block text-sm font-medium text-foreground mb-2">
Phone Number *
</label>
<input
type="tel"
id="phoneNumber"
required
value={bookingFormData.phoneNumber}
onChange={(e) => setBookingFormData({ ...bookingFormData, phoneNumber: e.target.value })}
placeholder="+1 (555) 000-0000"
className="w-full px-4 py-2 rounded-lg bg-background text-foreground border border-accent/30 focus:border-primary-cta focus:outline-none"
/>
</div>
<button
type="submit"
className="w-full bg-primary-cta text-primary-cta-text font-semibold py-3 rounded-lg hover:opacity-90 transition-opacity"
>
Schedule Consultation
</button>
</form>
</div>
</div>
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactText <ContactText
text="Ready to bring your digital vision to life? Let's work together to create something extraordinary." text="Ready to bring your digital vision to life? Let's work together to create something extraordinary."