Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aedf452040 | |||
| 595934a60b | |||
| e9696f3f3d | |||
| c528dc4fae | |||
| e057848138 | |||
| 6213a4418c | |||
| be8dd855ad | |||
| 262fa0d05e | |||
| 4b5b970a8e | |||
| 275fb30d84 | |||
| 92dd2ba39d | |||
| e40a24d3cf |
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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."
|
||||||
|
|||||||
Reference in New Issue
Block a user