45 Commits

Author SHA1 Message Date
2b1e0a9867 Update src/app/page.tsx 2026-03-09 21:54:15 +00:00
bde437f5b9 Update src/app/layout.tsx 2026-03-09 21:54:15 +00:00
4aa6b91d5c Update src/app/contact/page.tsx 2026-03-09 21:54:14 +00:00
ca626149f0 Update src/app/page.tsx 2026-03-09 21:53:14 +00:00
fb624a3a17 Update src/app/contact/page.tsx 2026-03-09 21:53:14 +00:00
158f9bbf7a Merge version_5 into main
Merge version_5 into main
2026-03-09 21:50:02 +00:00
85940e40e6 Update src/app/contact/page.tsx 2026-03-09 21:49:58 +00:00
e80995a5d9 Merge version_5 into main
Merge version_5 into main
2026-03-09 21:49:02 +00:00
8277a71930 Update src/app/page.tsx 2026-03-09 21:48:58 +00:00
33cccae0b0 Update src/app/contact/page.tsx 2026-03-09 21:48:58 +00:00
27552304a3 Merge version_5 into main
Merge version_5 into main
2026-03-09 21:47:42 +00:00
7cbdc542b7 Update src/app/page.tsx 2026-03-09 21:47:23 +00:00
92c02c8d29 Add src/app/contact/page.tsx 2026-03-09 21:47:23 +00:00
25686faacc Update src/app/page.tsx 2026-03-09 21:46:08 +00:00
f738150a5e Update src/app/layout.tsx 2026-03-09 21:46:08 +00:00
c29a8f3715 Update src/app/contact/page.tsx 2026-03-09 21:46:07 +00:00
ad3ab30805 Switch to version 4: remove src/app/contact/page.tsx 2026-03-09 21:45:27 +00:00
4b795cdbf0 Switch to version 4: modified src/app/page.tsx 2026-03-09 21:45:27 +00:00
61e213f4bc Switch to version 4: modified src/app/layout.tsx 2026-03-09 21:45:26 +00:00
14e704ed97 Merge version_6 into main
Merge version_6 into main
2026-03-09 21:45:07 +00:00
f4c0fa00a5 Update src/app/page.tsx 2026-03-09 21:45:03 +00:00
5e677c832c Update src/app/layout.tsx 2026-03-09 21:45:03 +00:00
e2bfb36eb3 Update src/app/contact/page.tsx 2026-03-09 21:45:02 +00:00
e3e417d097 Update src/app/page.tsx 2026-03-09 21:43:52 +00:00
ee5bb2e6d4 Update src/app/layout.tsx 2026-03-09 21:43:51 +00:00
5f92b80815 Update src/app/contact/page.tsx 2026-03-09 21:43:51 +00:00
f1acd66ead Merge version_6 into main
Merge version_6 into main
2026-03-09 21:43:33 +00:00
bfc5fa822e Update src/app/page.tsx 2026-03-09 21:43:29 +00:00
989487b18a Update src/app/contact/page.tsx 2026-03-09 21:43:28 +00:00
4d811a451b Merge version_5 into main
Merge version_5 into main
2026-03-09 21:42:40 +00:00
907755c685 Update src/app/page.tsx 2026-03-09 21:42:35 +00:00
0d91e2b274 Add src/app/contact/page.tsx 2026-03-09 21:42:35 +00:00
71812d125a Merge version_4 into main
Merge version_4 into main
2026-03-09 21:30:45 +00:00
5a16cb0903 Update src/app/layout.tsx 2026-03-09 21:30:40 +00:00
86ffcba6fb Merge version_4 into main
Merge version_4 into main
2026-03-09 21:29:52 +00:00
330c1247e1 Update src/app/services/page.tsx 2026-03-09 21:29:48 +00:00
8e2d590bd6 Update src/app/page.tsx 2026-03-09 21:29:48 +00:00
6c7515ff68 Update src/app/layout.tsx 2026-03-09 21:29:47 +00:00
0f507236e1 Merge version_3 into main
Merge version_3 into main
2026-03-09 21:27:43 +00:00
9b00a71506 Update src/app/services/page.tsx 2026-03-09 21:27:38 +00:00
94444013e2 Merge version_3 into main
Merge version_3 into main
2026-03-09 21:27:07 +00:00
a6afca1064 Update src/app/page.tsx 2026-03-09 21:27:03 +00:00
31f1079146 Merge version_3 into main
Merge version_3 into main
2026-03-09 21:25:46 +00:00
698c819992 Add src/app/services/page.tsx 2026-03-09 21:25:42 +00:00
091215fcc0 Update src/app/page.tsx 2026-03-09 21:25:42 +00:00
4 changed files with 290 additions and 1605 deletions

101
src/app/contact/page.tsx Normal file
View File

@@ -0,0 +1,101 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
import { useState } from "react";
interface Project {
id: string;
title: string;
description: string;
image: string;
}
const projects: Project[] = [
{
id: "1", title: "Brand Identity", description: "Complete visual identity system with logo, colors, and typography guidelines", image: "/placeholders/placeholder1.jpg"},
{
id: "2", title: "Website Redesign", description: "Modern responsive website with improved user experience and conversion rates", image: "/placeholders/placeholder2.jpg"},
{
id: "3", title: "Marketing Campaign", description: "Integrated digital marketing strategy across social media and email channels", image: "/placeholders/placeholder3.jpg"},
{
id: "4", title: "Product Launch", description: "End-to-end product launch campaign with positioning and messaging strategy", image: "/placeholders/placeholder4.jpg"},
{
id: "5", title: "UI Design System", description: "Comprehensive design system with components, patterns, and documentation", image: "/placeholders/placeholder5.jpg"},
{
id: "6", title: "Social Media Strategy", description: "Content strategy and calendar for consistent brand presence across platforms", image: "/placeholders/placeholder6.jpg"},
];
export default function ContactPage() {
const [hoveredId, setHoveredId] = useState<string | null>(null);
return (
<ThemeProvider
defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="solid"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="bold"
>
<div id="nav" data-section="nav">
<NavbarStyleApple
navItems={[
{ name: "Home", id: "/" },
{ name: "Contact", id: "/contact" },
]}
brandName="Vortex"
/>
</div>
<div id="contact" data-section="contact" className="min-h-screen bg-background py-20 px-4">
<div className="max-w-7xl mx-auto">
<div className="mb-16">
<h1 className="text-4xl md:text-5xl font-bold mb-4 text-foreground">Our Work</h1>
<p className="text-lg text-foreground/70">Explore our portfolio of projects and mockups</p>
</div>
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
{projects.map((project) => (
<div
key={project.id}
className="group cursor-pointer overflow-hidden rounded-lg"
onMouseEnter={() => setHoveredId(project.id)}
onMouseLeave={() => setHoveredId(null)}
>
{/* Image container */}
<div className="relative h-64 md:h-72 overflow-hidden rounded-lg bg-card">
<img
src={project.image}
alt={project.title}
className="w-full h-full object-cover group-hover:scale-105 transition-transform duration-300"
/>
{/* Overlay on hover */}
<div
className={`absolute inset-0 bg-background/90 flex items-center justify-center rounded-lg transition-opacity duration-300 ${
hoveredId === project.id ? "opacity-100" : "opacity-0"
}`}
>
<div className="text-center px-4">
<p className="text-foreground text-sm leading-relaxed">{project.description}</p>
</div>
</div>
</div>
{/* Title underneath */}
<div className="mt-4">
<h3 className="text-lg font-semibold text-foreground">{project.title}</h3>
<p className="text-sm text-foreground/60 mt-1">{project.description}</p>
</div>
</div>
))}
</div>
</div>
</div>
</ThemeProvider>
);
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,216 +1,42 @@
"use client"; "use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; import NavbarStyleApple from "@/components/navbar/NavbarStyleApple/NavbarStyleApple";
import HeroLogoBillboardSplit from '@/components/sections/hero/HeroLogoBillboardSplit'; import HeroLogo from "@/components/sections/hero/HeroLogo";
import MediaAbout from '@/components/sections/about/MediaAbout';
import FeatureCardTen from '@/components/sections/feature/FeatureCardTen';
import TestimonialCardSixteen from '@/components/sections/testimonial/TestimonialCardSixteen';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import { Award, CheckCircle, Shield, Sparkles, Star, Target, TrendingUp, Zap } from "lucide-react";
const assetMap: Record<string, string> = { export default function Home() {
"hero-gradient": "http://img.b2bpic.net/free-vector/northern-lights-landing-page-template_52683-21888.jpg", "about-image": "http://img.b2bpic.net/free-photo/modern-shop-prepared-live-auction_23-2149947495.jpg", "service-1": "http://img.b2bpic.net/free-vector/northern-sky-landing-page-template_23-2148265087.jpg", "service-2": "http://img.b2bpic.net/free-vector/brand-manual-template-design_23-2149872595.jpg", "service-3": "http://img.b2bpic.net/free-photo/business-manager-working-two-screen-setup-late-night-office_482257-32822.jpg", "testimonial-1": "http://img.b2bpic.net/free-photo/high-angle-smiley-business-male_23-2148479546.jpg", "testimonial-2": "http://img.b2bpic.net/free-photo/closeup-smiling-beautiful-adult-businesswoman_1262-1760.jpg", "testimonial-3": "http://img.b2bpic.net/free-photo/close-up-serious-businessman-white-shirt-looking-camera-standing-confident_1258-26762.jpg", "testimonial-4": "http://img.b2bpic.net/free-photo/portrait-confident-businessman_1098-21013.jpg", "contact-image": "http://img.b2bpic.net/free-photo/women-working-desk-office-job_23-2149034611.jpg"};
function getAssetUrl(assetId: string): string {
return assetMap[assetId] || "/placeholders/placeholder1.webp";
}
export default function LandingPage() {
return ( return (
<ThemeProvider <ThemeProvider
defaultButtonVariant="expand-hover" defaultButtonVariant="hover-magnetic"
defaultTextAnimation="entrance-slide" defaultTextAnimation="entrance-slide"
borderRadius="rounded" borderRadius="rounded"
contentWidth="medium" contentWidth="medium"
sizing="mediumLargeSizeLargeTitles" sizing="medium"
background="grid" background="none"
cardStyle="subtle-shadow" cardStyle="solid"
primaryButtonStyle="diagonal-gradient" primaryButtonStyle="gradient"
secondaryButtonStyle="layered" secondaryButtonStyle="glass"
headingFontWeight="semibold" headingFontWeight="bold"
> >
<div id="nav" data-section="nav"> <div id="nav" data-section="nav">
<NavbarStyleFullscreen <NavbarStyleApple
navItems={[ navItems={[
{ name: "About", id: "about" }, { name: "Home", id: "/" },
{ name: "Services", id: "services" }, { name: "Contact", id: "/contact" },
{ name: "Work", id: "testimonials" },
{ name: "Contact", id: "contact" },
{ name: "Studio", id: "hero" }
]} ]}
brandName="Joshua Chavez Co" brandName="Vortex"
bottomLeftText="Innovative Design Studio"
bottomRightText="hello@joshuachavez.co"
/> />
</div> </div>
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroLogoBillboardSplit <HeroLogo
logoText=" Vortex Web" logoText="Vortex"
description="Innovative solutions, effortless experience." description="Innovative design and marketing solutions for modern brands"
background={{ variant: "gradient-bars" }}
buttons={[ buttons={[
{ text: "Work With Me", href: "#contact" } { text: "Get Started", href: "https://github.com" },
{ text: "Learn More", href: "/contact" },
]} ]}
layoutOrder="default" imageSrc="/placeholders/placeholder5.jpg"
imageSrc={getAssetUrl("hero-gradient")} imageAlt="Hero background"
imageAlt="Gradient background charcoal to slate"
mediaAnimation="opacity"
frameStyle="card"
buttonAnimation="opacity"
ariaLabel="Hero section for Joshua Chavez Co design and marketing services"
/>
</div>
<div id="about" data-section="about">
<MediaAbout
title="About Vortex Web"
description="We craft modern, streamlined design and marketing solutions that elevate brands and engage audiences. With a focus on clarity, sophistication, and refined aesthetics, we deliver work that stands out for its elegance and purposeful innovation."
tag="About Us"
imageSrc={getAssetUrl("about-image")}
imageAlt="Modern design studio workspace"
useInvertedBackground={false}
buttons={[
{ text: "Discover Our Approach", href: "#services" }
]}
tagAnimation="slide-up"
/>
</div>
<div id="services" data-section="services">
<FeatureCardTen
features={[
{
id: "1", title: "Web Design & Development", description: "Custom websites that blend aesthetic excellence with seamless user experiences. From concept to launch, we build digital products that convert.", media: { imageSrc: getAssetUrl("service-1") },
items: [
{ icon: Sparkles, text: "Responsive & Modern Design" },
{ icon: Zap, text: "Fast Performance Optimization" },
{ icon: Shield, text: "Secure & Scalable Architecture" }
],
reverse: false
},
{
id: "2", title: "Brand Strategy & Identity", description: "Strategic branding that defines your market position and creates lasting impressions. We craft cohesive visual identities that resonate with your audience.", media: { imageSrc: getAssetUrl("service-2") },
items: [
{ icon: Award, text: "Strategic Brand Positioning" },
{ icon: CheckCircle, text: "Comprehensive Visual Systems" },
{ icon: Star, text: "Consistent Brand Experience" }
],
reverse: true
},
{
id: "3", title: "Digital Marketing Solutions", description: "Data-driven marketing campaigns that amplify your message and drive measurable results. We combine creativity with strategic insights.", media: { imageSrc: getAssetUrl("service-3") },
items: [
{ icon: TrendingUp, text: "Analytics & Performance Tracking" },
{ icon: Target, text: "Targeted Campaign Strategy" },
{ icon: Zap, text: "Conversion Optimization" }
],
reverse: false
}
]}
title="Our Services"
description="We deliver comprehensive design and marketing solutions tailored to your brand's unique vision and business goals."
tag="Services"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
tagAnimation="slide-up"
/>
</div>
<div id="testimonials" data-section="testimonials">
<TestimonialCardSixteen
testimonials={[
{
id: "1", name: "Sarah Mitchell", role: "Founder", company: "TechStart Ventures", rating: 5,
imageSrc: getAssetUrl("testimonial-1"),
imageAlt: "Sarah Mitchell, Founder of TechStart Ventures"
},
{
id: "2", name: "Marcus Chen", role: "CEO", company: "Innovation Labs", rating: 5,
imageSrc: getAssetUrl("testimonial-2"),
imageAlt: "Marcus Chen, CEO of Innovation Labs"
},
{
id: "3", name: "Elena Rodriguez", role: "Marketing Director", company: "Global Design Co", rating: 5,
imageSrc: getAssetUrl("testimonial-3"),
imageAlt: "Elena Rodriguez, Marketing Director at Global Design Co"
},
{
id: "4", name: "James Thompson", role: "Creative Director", company: "Brand Alliance", rating: 5,
imageSrc: getAssetUrl("testimonial-4"),
imageAlt: "James Thompson, Creative Director at Brand Alliance"
}
]}
kpiItems={[
{ value: "150+", label: "Projects Completed" },
{ value: "", label: "" },
{ value: "", label: "" }
]}
animationType="slide-up"
title="What Our Clients Say"
description="Trusted by innovative brands and forward-thinking businesses who value design excellence and strategic marketing."
tag="Testimonials"
textboxLayout="default"
useInvertedBackground={false}
tagAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Let's Create Something Amazing"
description="Ready to transform your vision into reality? Get in touch and let's discuss how we can elevate your brand with innovative design and strategic marketing."
inputs={[
{ name: "name", type: "text", placeholder: "Your Name", required: true },
{ name: "email", type: "email", placeholder: "Your Email", required: true }
]}
textarea={{ name: "message", placeholder: "Tell us about your project", rows: 5, required: true }}
useInvertedBackground={false}
imageSrc={getAssetUrl("contact-image")}
imageAlt="Modern creative workspace"
mediaAnimation="opacity"
mediaPosition="right"
buttonText="Send Message"
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="Joshua Chavez Co"
columns={[
{
title: "Services", items: [
{ label: "Web Design", href: "#services" },
{ label: "Branding", href: "#services" },
{ label: "Marketing", href: "#services" }
]
},
{
title: "Company", items: [
{ label: "About", href: "#about" },
{ label: "Work", href: "#testimonials" },
{ label: "Contact", href: "#contact" }
]
},
{
title: "Connect", items: [
{ label: "LinkedIn", href: "https://linkedin.com" },
{ label: "Instagram", href: "https://instagram.com" },
{ label: "Twitter", href: "https://twitter.com" }
]
},
{
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Cookie Policy", href: "#" }
]
}
]}
copyrightText="© 2025 Vortex Web . All rights reserved."
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>

162
src/app/services/page.tsx Normal file
View File

@@ -0,0 +1,162 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen';
import HeroLogoBillboardSplit from '@/components/sections/hero/HeroLogoBillboardSplit';
import FeatureCardTen from '@/components/sections/feature/FeatureCardTen';
import ContactSplitForm from '@/components/sections/contact/ContactSplitForm';
import FooterBaseCard from '@/components/sections/footer/FooterBaseCard';
import { Award, CheckCircle, Shield, Sparkles, Star, Target, TrendingUp, Zap } from "lucide-react";
const assetMap: Record<string, string> = {
"hero-gradient": "http://img.b2bpic.net/free-vector/northern-lights-landing-page-template_52683-21888.jpg", "service-1": "http://img.b2bpic.net/free-vector/northern-sky-landing-page-template_23-2148265087.jpg", "service-2": "http://img.b2bpic.net/free-vector/brand-manual-template-design_23-2149872595.jpg", "service-3": "http://img.b2bpic.net/free-photo/business-manager-working-two-screen-setup-late-night-office_482257-32822.jpg", "contact-image": "http://img.b2bpic.net/free-photo/women-working-desk-office-job_23-2149034611.jpg"
};
function getAssetUrl(assetId: string): string {
return assetMap[assetId] || "/placeholders/placeholder1.webp";
}
export default function ServicesPage() {
return (
<ThemeProvider
defaultButtonVariant="expand-hover"
defaultTextAnimation="entrance-slide"
borderRadius="rounded"
contentWidth="medium"
sizing="mediumLargeSizeLargeTitles"
background="grid"
cardStyle="subtle-shadow"
primaryButtonStyle="diagonal-gradient"
secondaryButtonStyle="layered"
headingFontWeight="semibold"
>
<div id="nav" data-section="nav">
<NavbarStyleFullscreen
navItems={[
{ name: "About", id: "/" },
{ name: "Services", id: "/services" },
{ name: "Work", id: "/#testimonials" },
{ name: "Contact", id: "/#contact" }
]}
brandName="Joshua Chavez Co"
bottomLeftText="Innovative Design Studio"
bottomRightText="hello@joshuachavez.co"
/>
</div>
<div id="hero" data-section="hero">
<HeroLogoBillboardSplit
logoText="Services"
description="Comprehensive design and marketing solutions tailored to elevate your brand."
background={{ variant: "gradient-bars" }}
buttons={[
{ text: "Get Started", href: "#contact" }
]}
layoutOrder="default"
imageSrc={getAssetUrl("hero-gradient")}
imageAlt="Services hero background"
mediaAnimation="opacity"
frameStyle="card"
buttonAnimation="opacity"
ariaLabel="Services page hero section"
/>
</div>
<div id="services" data-section="services">
<FeatureCardTen
features={[
{
id: "1", title: "Web Design & Development", description: "Custom websites that blend aesthetic excellence with seamless user experiences. From concept to launch, we build digital products that convert.", media: { imageSrc: getAssetUrl("service-1") },
items: [
{ icon: Sparkles, text: "Responsive & Modern Design" },
{ icon: Zap, text: "Fast Performance Optimization" },
{ icon: Shield, text: "Secure & Scalable Architecture" }
],
reverse: false
},
{
id: "2", title: "Brand Strategy & Identity", description: "Strategic branding that defines your market position and creates lasting impressions. We craft cohesive visual identities that resonate with your audience.", media: { imageSrc: getAssetUrl("service-2") },
items: [
{ icon: Award, text: "Strategic Brand Positioning" },
{ icon: CheckCircle, text: "Comprehensive Visual Systems" },
{ icon: Star, text: "Consistent Brand Experience" }
],
reverse: true
},
{
id: "3", title: "Digital Marketing Solutions", description: "Data-driven marketing campaigns that amplify your message and drive measurable results. We combine creativity with strategic insights.", media: { imageSrc: getAssetUrl("service-3") },
items: [
{ icon: TrendingUp, text: "Analytics & Performance Tracking" },
{ icon: Target, text: "Targeted Campaign Strategy" },
{ icon: Zap, text: "Conversion Optimization" }
],
reverse: false
}
]}
title="What We Offer"
description="Explore our full range of design and marketing services designed to drive results and build lasting brand value."
tag="Services"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
tagAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactSplitForm
title="Ready to Transform Your Brand?"
description="Let's discuss how our services can help you achieve your business goals. Reach out to schedule a consultation."
inputs={[
{ name: "name", type: "text", placeholder: "Your Name", required: true },
{ name: "email", type: "email", placeholder: "Your Email", required: true }
]}
textarea={{ name: "message", placeholder: "Tell us about your project", rows: 5, required: true }}
useInvertedBackground={false}
imageSrc={getAssetUrl("contact-image")}
imageAlt="Services contact section"
mediaAnimation="opacity"
mediaPosition="right"
buttonText="Send Message"
/>
</div>
<div id="footer" data-section="footer">
<FooterBaseCard
logoText="Joshua Chavez Co"
columns={[
{
title: "Services", items: [
{ label: "Web Design", href: "/services" },
{ label: "Branding", href: "/services" },
{ label: "Marketing", href: "/services" }
]
},
{
title: "Company", items: [
{ label: "About", href: "/" },
{ label: "Work", href: "/#testimonials" },
{ label: "Contact", href: "/#contact" }
]
},
{
title: "Connect", items: [
{ label: "LinkedIn", href: "https://linkedin.com" },
{ label: "Instagram", href: "https://instagram.com" },
{ label: "Twitter", href: "https://twitter.com" }
]
},
{
title: "Legal", items: [
{ label: "Privacy Policy", href: "#" },
{ label: "Terms of Service", href: "#" },
{ label: "Cookie Policy", href: "#" }
]
}
]}
copyrightText="© 2025 Vortex Web . All rights reserved."
/>
</div>
</ThemeProvider>
);
}