Merge version_2 into main #1

Merged
bender merged 6 commits from version_2 into main 2026-04-29 10:53:16 +00:00
6 changed files with 250 additions and 101 deletions

View File

@@ -0,0 +1,83 @@
"use client";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import MetricCardTwo from "@/components/sections/metrics/MetricCardTwo";
import { Award, Users, TrendingUp, User, Clock, CheckCircle } from "lucide-react";
export default function DashboardPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="metallic"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<ReactLenis root>
<NavbarLayoutFloatingOverlay
brandName="Webild"
navItems={[
{ name: "Dashboard", id: "/dashboard" },
{ name: "Work", id: "/work" },
{ name: "Services", id: "/services" },
{ name: "About", id: "/about" },
{ name: "Contact", id: "/contact" },
]}
button={{ text: "Get Started", href: "/contact" }}
/>
<div className="pt-32 pb-20 px-6 max-w-7xl mx-auto space-y-12">
<div className="bg-[var(--card)] p-8 rounded-2xl border border-white/10">
<div className="flex items-center gap-6">
<div className="w-24 h-24 rounded-full bg-[var(--background-accent)] flex items-center justify-center text-4xl">
<User className="w-12 h-12" />
</div>
<div>
<h1 className="text-3xl font-bold">Welcome back, User</h1>
<p className="opacity-70 mt-1">Manage your bookings and project statistics below.</p>
</div>
</div>
</div>
<MetricCardTwo
title="Event Statistics"
description="An overview of your engagement metrics and performance."
textboxLayout="default"
useInvertedBackground={false}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
metrics={[
{ id: "bookings", value: "12", description: "Total bookings made" },
{ id: "active", value: "3", description: "Active projects running" },
{ id: "completed", value: "9", description: "Successfully completed events" },
]}
/>
<div className="bg-[var(--card)] p-8 rounded-2xl border border-white/10">
<h2 className="text-2xl font-bold mb-6">Booking History</h2>
<div className="space-y-4">
{[1, 2, 3].map((i) => (
<div key={i} className="flex items-center justify-between p-4 bg-[var(--background-accent)] rounded-xl border border-white/5">
<div className="flex items-center gap-4">
<CheckCircle className="w-6 h-6 text-emerald-500" />
<div>
<p className="font-semibold">Consultation Meeting #{i * 105}</p>
<p className="text-sm opacity-60">Scheduled for Oct {i * 5}, 2024</p>
</div>
</div>
<span className="px-3 py-1 bg-white/10 rounded-full text-xs font-medium uppercase">Completed</span>
</div>
))}
</div>
</div>
</div>
</ReactLenis>
</ThemeProvider>
);
}

44
src/app/login/page.tsx Normal file
View File

@@ -0,0 +1,44 @@
"use client";
import React from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import ContactForm from "@/components/form/ContactForm";
export default function LoginPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="metallic"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<NavbarLayoutFloatingOverlay
brandName="Webild"
navItems={[
{ name: "Work", id: "/" },
{ name: "Services", id: "/" },
{ name: "About", id: "/" },
{ name: "Login", id: "/login" },
]}
button={{ text: "Get Started", href: "/contact" }}
/>
<main className="min-h-screen flex items-center justify-center pt-24">
<ContactForm
title="Login"
description="Welcome back, please login to your account."
tag="Access Account"
inputPlaceholder="Enter your email"
buttonText="Login"
centered={true}
/>
</main>
</ThemeProvider>
);
}

View File

@@ -3,6 +3,7 @@
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import { BentoGlobe } from "@/components/bento/BentoGlobe";
import HeroSplitDoubleCarousel from "@/components/sections/hero/HeroSplitDoubleCarousel";
import FeatureBento from "@/components/sections/feature/FeatureBento";
import FeatureCardTwentySix from "@/components/sections/feature/FeatureCardTwentySix";
@@ -68,6 +69,7 @@ export default function WebAgency2Page() {
]}
carouselItemClassName="!aspect-[4/5]"
/>
<BentoGlobe className="py-20 px-6 max-w-7xl mx-auto" />
<FeatureBento
title="Our Services"
description="We offer a full suite of digital services to help your brand stand out online."
@@ -78,28 +80,18 @@ export default function WebAgency2Page() {
buttonAnimation="slide-up"
features={[
{
title: "SEO",
description: "We optimize your website to rank higher on search engines and drive organic traffic.",
bentoComponent: "marquee",
centerIcon: Search,
variant: "text",
texts: ["Keywords", "Backlinks", "Meta Tags", "Organic Traffic", "Rankings", "Analytics", "SERP", "Indexing"],
title: "SEO", description: "We optimize your website to rank higher on search engines and drive organic traffic.", bentoComponent: "marquee", centerIcon: Search,
variant: "text", texts: ["Keywords", "Backlinks", "Meta Tags", "Organic Traffic", "Rankings", "Analytics", "SERP", "Indexing"],
},
{
title: "Web Development",
description: "Custom-built websites that are fast, responsive, and designed to convert.",
bentoComponent: "media-stack",
items: [
title: "Web Development", description: "Custom-built websites that are fast, responsive, and designed to convert.", bentoComponent: "media-stack", items: [
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/dev-2.webp", imageAlt: "Web project - AgentFlow AI platform" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/dev-1.webp", imageAlt: "Web project - Architecture studio" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/dev-3.webp", imageAlt: "Web project - Summit Roofing" },
],
},
{
title: "Branding",
description: "Build a memorable brand identity that resonates with your audience.",
bentoComponent: "media-stack",
items: [
title: "Branding", description: "Build a memorable brand identity that resonates with your audience.", bentoComponent: "media-stack", items: [
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-1.webp", imageAlt: "Brand project 1" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-2.webp", imageAlt: "Brand project 2" },
{ imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/shot-4.webp", imageAlt: "Brand project 3" },
@@ -117,45 +109,20 @@ export default function WebAgency2Page() {
cardClassName="!h-auto aspect-video"
features={[
{
title: "Umbra Skincare",
description: "Luxury fragrance e-commerce",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-1.webp",
imageAlt: "Umbra Skincare website",
buttonIcon: ArrowUpRight,
buttonHref: "#",
},
title: "Umbra Skincare", description: "Luxury fragrance e-commerce", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-1.webp", imageAlt: "Umbra Skincare website", buttonIcon: ArrowUpRight,
buttonHref: "#"},
{
title: "Luxuria Travel",
description: "Bespoke luxury travel experiences",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-2.webp",
imageAlt: "Luxuria Travel website",
buttonIcon: ArrowUpRight,
buttonHref: "#",
},
title: "Luxuria Travel", description: "Bespoke luxury travel experiences", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-2.webp", imageAlt: "Luxuria Travel website", buttonIcon: ArrowUpRight,
buttonHref: "#"},
{
title: "Dental Care",
description: "Premier dental practice",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-3.webp",
imageAlt: "Luxury Dental Care website",
buttonIcon: ArrowUpRight,
buttonHref: "#",
},
title: "Dental Care", description: "Premier dental practice", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-3.webp", imageAlt: "Luxury Dental Care website", buttonIcon: ArrowUpRight,
buttonHref: "#"},
{
title: "Summit Roofing",
description: "Professional roofing services",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-4.webp",
imageAlt: "Summit Roofing website",
buttonIcon: ArrowUpRight,
buttonHref: "#",
},
title: "Summit Roofing", description: "Professional roofing services", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-4.webp", imageAlt: "Summit Roofing website", buttonIcon: ArrowUpRight,
buttonHref: "#"},
{
title: "Dubai Real Estate",
description: "Luxury property listings",
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-5.webp",
imageAlt: "Dubai Real Estate website",
buttonIcon: ArrowUpRight,
buttonHref: "#",
},
title: "Dubai Real Estate", description: "Luxury property listings", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/templates/web-agency-2/project-5.webp", imageAlt: "Dubai Real Estate website", buttonIcon: ArrowUpRight,
buttonHref: "#"},
]}
/>
<FeatureBento
@@ -166,14 +133,9 @@ export default function WebAgency2Page() {
animationType="slide-up"
features={[
{
title: "All Devices Optimization",
description: "Pixel-perfect websites that look stunning on every screen size and device.",
bentoComponent: "phone",
statusIcon: Lock,
title: "All Devices Optimization", description: "Pixel-perfect websites that look stunning on every screen size and device.", bentoComponent: "phone", statusIcon: Lock,
alertIcon: Monitor,
alertTitle: "Responsive check",
alertMessage: "All breakpoints passed",
apps: [
alertTitle: "Responsive check", alertMessage: "All breakpoints passed", apps: [
{ name: "Phone", icon: Phone },
{ name: "SMS", icon: MessageCircle },
{ name: "Books", icon: BookOpen },
@@ -185,29 +147,17 @@ export default function WebAgency2Page() {
],
},
{
title: "Secure Hosting",
description: "Enterprise-grade security and 99.9% uptime for your website.",
bentoComponent: "reveal-icon",
icon: Shield,
title: "Secure Hosting", description: "Enterprise-grade security and 99.9% uptime for your website.", bentoComponent: "reveal-icon", icon: Shield,
},
{
title: "Fast Turnaround",
description: "From concept to launch in record time without sacrificing quality.",
bentoComponent: "timeline",
heading: "Project Launch",
subheading: "Week 1",
items: [
title: "Fast Turnaround", description: "From concept to launch in record time without sacrificing quality.", bentoComponent: "timeline", heading: "Project Launch", subheading: "Week 1", items: [
{ label: "Discovery & wireframes", detail: "Day 1-3" },
{ label: "Design & development", detail: "Day 4-10" },
{ label: "Testing & deployment", detail: "Day 11-14" },
],
completedLabel: "Live",
},
completedLabel: "Live"},
{
title: "Seamless Integrations",
description: "Connect with the tools you already use — CRMs, analytics, payments, and more.",
bentoComponent: "orbiting-icons",
centerIcon: Puzzle,
title: "Seamless Integrations", description: "Connect with the tools you already use — CRMs, analytics, payments, and more.", bentoComponent: "orbiting-icons", centerIcon: Puzzle,
items: [
{ icon: Shield },
{ icon: Monitor },
@@ -216,10 +166,7 @@ export default function WebAgency2Page() {
],
},
{
title: "Growth Trends",
description: "Data-driven insights to optimize your search presence and drive traffic.",
bentoComponent: "line-chart",
},
title: "Growth Trends", description: "Data-driven insights to optimize your search presence and drive traffic.", bentoComponent: "line-chart"},
]}
/>
<TestimonialCardFifteen
@@ -254,21 +201,11 @@ export default function WebAgency2Page() {
animationType="slide-up"
negativeCard={{
items: [
"Generic templates with no personality",
"Slow load times and poor performance",
"No SEO strategy or search visibility",
"Outdated design that hurts credibility",
"No ongoing support after launch",
],
"Generic templates with no personality", "Slow load times and poor performance", "No SEO strategy or search visibility", "Outdated design that hurts credibility", "No ongoing support after launch"],
}}
positiveCard={{
items: [
"Custom designs tailored to your brand",
"Lightning-fast performance on all devices",
"Built-in SEO to drive organic traffic",
"Modern design that builds trust",
"Dedicated support and maintenance",
],
"Custom designs tailored to your brand", "Lightning-fast performance on all devices", "Built-in SEO to drive organic traffic", "Modern design that builds trust", "Dedicated support and maintenance"],
}}
/>
<TeamCardFive
@@ -315,8 +252,7 @@ export default function WebAgency2Page() {
copyrightText="© 2026 | Webild"
columns={[
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About", href: "#about" },
{ label: "Services", href: "#services" },
{ label: "Work", href: "#work" },
@@ -324,8 +260,7 @@ export default function WebAgency2Page() {
],
},
{
title: "Services",
items: [
title: "Services", items: [
{ label: "Web Development", href: "#" },
{ label: "SEO", href: "#" },
{ label: "Branding", href: "#" },
@@ -333,8 +268,7 @@ export default function WebAgency2Page() {
],
},
{
title: "Connect",
items: [
title: "Connect", items: [
{ label: "Twitter", href: "#" },
{ label: "LinkedIn", href: "#" },
{ label: "Instagram", href: "#" },
@@ -346,4 +280,4 @@ export default function WebAgency2Page() {
</ReactLenis>
</ThemeProvider>
);
}
}

View File

@@ -0,0 +1,44 @@
"use client";
import React from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import ContactForm from "@/components/form/ContactForm";
export default function ResetPasswordPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="metallic"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<NavbarLayoutFloatingOverlay
brandName="Webild"
navItems={[
{ name: "Work", id: "/" },
{ name: "Services", id: "/" },
{ name: "About", id: "/" },
{ name: "Login", id: "/login" },
]}
button={{ text: "Get Started", href: "/contact" }}
/>
<main className="min-h-screen flex items-center justify-center pt-24">
<ContactForm
title="Reset Password"
description="Enter your email address to receive instructions on how to reset your password."
tag="Recovery"
inputPlaceholder="Enter your email"
buttonText="Send Reset Link"
centered={true}
/>
</main>
</ThemeProvider>
);
}

44
src/app/signup/page.tsx Normal file
View File

@@ -0,0 +1,44 @@
"use client";
import React from "react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from "@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay";
import ContactForm from "@/components/form/ContactForm";
export default function SignupPage() {
return (
<ThemeProvider
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="medium"
sizing="medium"
background="none"
cardStyle="glass-elevated"
primaryButtonStyle="metallic"
secondaryButtonStyle="glass"
headingFontWeight="medium"
>
<NavbarLayoutFloatingOverlay
brandName="Webild"
navItems={[
{ name: "Work", id: "/" },
{ name: "Services", id: "/" },
{ name: "About", id: "/" },
{ name: "Signup", id: "/signup" },
]}
button={{ text: "Get Started", href: "/contact" }}
/>
<main className="min-h-screen flex items-center justify-center pt-24">
<ContactForm
title="Sign Up"
description="Create your account and start your journey with us."
tag="Join Us"
inputPlaceholder="Enter your email"
buttonText="Create Account"
centered={true}
/>
</main>
</ThemeProvider>
);
}

View File

@@ -11,14 +11,14 @@
--background-accent: #ffffff; */
--background: #0a0a0a;
--card: #161616;
--foreground: #f0f0f0;
--primary-cta: #ffffff;
--card: #1a1a1a;
--foreground: #ffffff;
--primary-cta: #ef4444;
--primary-cta-text: #0a0a0a;
--secondary-cta: #1e1e1e;
--secondary-cta: #1a1a1a;
--secondary-cta-text: #e0e0e0;
--accent: #d0d0d0;
--background-accent: #9a9a9a;
--accent: #1e3a8a;
--background-accent: #1e3a8a;
/* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);