9 Commits

Author SHA1 Message Date
0190e9d3e0 Merge version_8 into main
Merge version_8 into main
2025-12-24 13:08:32 +00:00
55b314aaa2 Merge version_8 into main
Merge version_8 into main
2025-12-24 13:07:08 +00:00
d50e44645a Merge version_7 into main
Merge version_7 into main
2025-12-24 13:03:38 +00:00
06abe78f58 Merge version_5 into main
Merge version_5 into main
2025-12-24 12:48:47 +00:00
9be88da2b1 Merge version_5 into main
Merge version_5 into main
2025-12-24 12:47:18 +00:00
9610eb709a Merge version_5 into main
Merge version_5 into main
2025-12-24 12:45:18 +00:00
68f4a67133 Merge version_4 into main
Merge version_4 into main
2025-12-24 12:41:24 +00:00
ea228313f7 Merge version_3 into main
Merge version_3 into main
2025-12-24 12:23:44 +00:00
af56b4ac15 Merge version_2 into main
Merge version_2 into main
2025-12-24 12:13:12 +00:00
3 changed files with 124 additions and 133 deletions

View File

@@ -4,13 +4,13 @@
/* Base units */ /* Base units */
/* --vw is set by ThemeProvider */ /* --vw is set by ThemeProvider */
--background: #000000; --background: #0a0a0a;
--card: #1b1b1b; --card: #1a1a1a;
--foreground: #ffffff; --foreground: #fffef5e6;
--primary-cta: #ffcc00; --primary-cta: #facc15;
--secondary-cta: #151515; --secondary-cta: #1a1a1a;
--accent: #303030; --accent: #737373;
--background-accent: #303030; --background-accent: #737373;
/* text sizing - set by ThemeProvider */ /* text sizing - set by ThemeProvider */
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem); /* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);

View File

@@ -1,36 +1,60 @@
import type { Metadata } from "next"; import type { Metadata } from "next";
import localFont from "next/font/local"; import { Inter } from "next/font/google";
import "./globals.css"; import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const geistSans = localFont({ const inter = Inter({
src: "./fonts/GeistVF.woff2", variable: "--font-inter",
variable: "--font-geist-sans", subsets: ["latin"],
weight: "100 900",
});
const geistMono = localFont({
src: "./fonts/GeistMonoVF.woff2",
variable: "--font-geist-mono",
weight: "100 900",
}); });
export const metadata: Metadata = { export const metadata: Metadata = {
title: "Star Wars - Join the Galactic Saga", title: "Star Wars Fans Community - Explore the Galaxy",
description: "Explore the galaxy far, far away with millions of fans. Discover movies, characters, collectibles and more from the Star Wars universe.", description: "Join millions of Star Wars fans worldwide. Discover exclusive content, connect with the community, and celebrate the epic saga.",
keywords: ["star wars", "movies", "collectibles", "lightsaber", "millennium falcon", "yoda", "force"] keywords: "Star Wars, fans, community, movies, series, Jedi, galaxy",
metadataBase: new URL("https://starwarsfans.com"),
alternates: {
canonical: "https://starwarsfans.com"
},
openGraph: {
title: "Star Wars Fans Community",
description: "Join the Force. Connect with Star Wars fans, explore content, and celebrate the greatest saga.",
siteName: "STAR WARS",
type: "website",
images: [
{
url: "https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766502905270-5whkj6nu.jpg",
alt: "Star Wars galaxy"
}
]
},
twitter: {
card: "summary_large_image",
title: "Star Wars Fans Community",
description: "Join millions of fans exploring the galaxy's greatest saga",
images: ["https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766502905270-5whkj6nu.jpg"]
},
robots: {
index: true,
follow: true
}
}; };
export default function RootLayout({ export default function RootLayout({
children, children,
}: { }: Readonly<{
children: React.ReactNode; children: React.ReactNode;
}) { }>) {
return ( return (
<html lang="en"> <html lang="en" suppressHydrationWarning>
<body <ServiceWrapper>
className={`${geistSans.variable} ${geistMono.variable} antialiased`} <body
> className={inter.variable}
{children} >
<Tag />
{children}
<script <script
dangerouslySetInnerHTML={{ dangerouslySetInnerHTML={{
__html: ` __html: `
@@ -1249,6 +1273,7 @@ export default function RootLayout({
}} }}
/> />
</body> </body>
</ServiceWrapper>
</html> </html>
); );
} }

View File

@@ -1,13 +1,14 @@
"use client"; "use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import HeroBillboardCarouselSplit from "@/components/sections/hero/HeroBillboardCarouselSplit"; import HeroBillboard from "@/components/sections/hero/HeroBillboard";
import MetricCardThree from "@/components/sections/metrics/MetricCardThree"; import MetricCardOne from "@/components/sections/metrics/MetricCardOne";
import ParallaxAbout from "@/components/sections/about/ParallaxAbout"; import SplitAbout from "@/components/sections/about/SplitAbout";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm"; import ContactCenter from "@/components/sections/contact/ContactCenter";
import ProductCardTwo from "@/components/sections/product/ProductCardTwo"; import FooterBaseSocial from "@/components/sections/footer/FooterBaseSocial";
import FooterSocial from "@/components/sections/footer/FooterSocial"; import PlainBackground from "@/components/background/PlainBackground";
import { Youtube, Twitter, Linkedin, Film, Users, Calendar } from "lucide-react"; import CircleGradientBackground from "@/components/background/CircleGradientBackground";
import { TrendingUp, Users, Zap, Star, Twitter, Linkedin, Globe } from "lucide-react";
export default function StarWarsPage() { export default function StarWarsPage() {
return ( return (
@@ -23,154 +24,119 @@ export default function StarWarsPage() {
secondaryButtonStyle="glass" secondaryButtonStyle="glass"
headingFontWeight="extrabold" headingFontWeight="extrabold"
> >
<PlainBackground />
<div id="hero" data-section="hero"> <div id="hero" data-section="hero">
<HeroBillboardCarouselSplit <HeroBillboard
title="STAR WARS: Join millions of fans exploring the galaxy's greatest saga" title="STAR WARS"
mediaItems={[ description="Join millions of fans exploring the galaxy's greatest saga. Discover exclusive content, connect with the community, and celebrate the Force."
{ imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Star Wars galaxy 1" }, tag="Welcome to the Galaxy"
{ imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Star Wars galaxy 2" }, buttons={[
{ imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Star Wars galaxy 3" }, { text: "Enter the Galaxy", href: "community" },
{ imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Star Wars galaxy 4" }, { text: "Join Community", href: "about" }
{ imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Star Wars galaxy 5" },
{ imageSrc: "/placeholders/placeholder1.webp", imageAlt: "Star Wars galaxy 6" }
]} ]}
buttons={[{ text: "Join the Force", href: "#contact" }]} imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/gallery/uploaded-1766502905270-5whkj6nu.jpg"
imageAlt="Star Wars galaxy"
frameStyle="card"
/> />
</div> </div>
<div id="metrics" data-section="metrics"> <div id="metrics" data-section="metrics">
<MetricCardThree <MetricCardOne
title="Our Galactic Impact" title="Our Galactic Impact"
description="Experience the epic saga spanning decades of storytelling" description="Witness the scale of the Star Wars universe and its influence across generations"
metrics={[ gridVariant="four-items-2x2-equal-grid"
{ id: "1", icon: Calendar, title: "Years", value: "40+" },
{ id: "2", icon: Film, title: "Films", value: "11" },
{ id: "3", icon: Users, title: "Fans", value: "100M+" }
]}
gridVariant="uniform-all-items-equal"
textboxLayout="default"
animationType="slide-up" animationType="slide-up"
textboxLayout="default"
useInvertedBackground="noInvert" useInvertedBackground="noInvert"
/> metrics={[
</div>
<div id="products" data-section="products">
<ProductCardTwo
title="Featured Products"
description="Explore our premium Star Wars collection with top-rated items"
tag="Best Sellers"
products={[
{ {
id: "1", id: "1",
brand: "Lucasfilm Collectibles", value: "40+",
name: "Premium Lightsaber Replica", title: "Years",
price: "$199.99", description: "Of Star Wars storytelling",
rating: 5, icon: TrendingUp
reviewCount: "2.3k",
imageSrc: "/placeholders/placeholder1.webp",
imageAlt: "Premium Lightsaber Replica",
starColor: "#ff0000"
}, },
{ {
id: "2", id: "2",
brand: "Star Wars Universe", value: "11",
name: "Millennium Falcon Model Kit", title: "Films",
price: "$149.99", description: "Complete Skywalker saga",
rating: 4, icon: Star
reviewCount: "1.8k",
imageSrc: "/placeholders/placeholder1.webp",
imageAlt: "Millennium Falcon Model Kit",
starColor: "#ff0000"
}, },
{ {
id: "3", id: "3",
brand: "Force Masters", value: "100M+",
name: "Yoda Statue Figurine", title: "Fans",
price: "$89.99", description: "Worldwide united by Force",
rating: 5, icon: Users
reviewCount: "3.1k",
imageSrc: "/placeholders/placeholder1.webp",
imageAlt: "Yoda Statue Figurine",
starColor: "#ff0000"
}, },
{ {
id: "4", id: "4",
brand: "Imperial Design", value: "",
name: "Death Star Lamp", title: "Stories",
price: "$129.99", description: "In expanding galaxy",
rating: 4, icon: Zap
reviewCount: "956",
imageSrc: "/placeholders/placeholder1.webp",
imageAlt: "Death Star Lamp",
starColor: "#ff0000"
} }
]} ]}
gridVariant="uniform-all-items-equal"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground="noInvert"
/> />
</div> </div>
<CircleGradientBackground diagonal="primary" />
<div id="about" data-section="about"> <div id="about" data-section="about">
<ParallaxAbout <SplitAbout
title="Elevate Your Experience" description="Experience the epic saga spanning decades of storytelling across multiple eras and universes. From Episode I through IX, experience the story of the Skywalker family and the eternal battle between light and dark sides of the Force."
description="From Episode I through IX, experience the story of the Skywalker family and the eternal battle between light and dark sides of the Force."
imageSrc="/placeholders/placeholder1.webp"
imageAlt="Star Wars background"
buttons={[{ text: "Discover More", href: "#contact" }]}
/> />
</div> </div>
<div id="contact" data-section="contact"> <div id="contact" data-section="contact">
<ContactSplitForm <ContactCenter
title="Get in Touch with the Force" tag="Newsletter"
description="Subscribe to our newsletter for exclusive Star Wars content, updates, and announcements from the galaxy far, far away." title="Join the Force"
inputs={[ description="Subscribe for exclusive Star Wars news, community updates, and behind-the-scenes content."
{ name: "name", type: "text", placeholder: "Your Name", required: true }, inputPlaceholder="Your email address"
{ name: "email", type: "email", placeholder: "Your Email", required: true } buttonText="Send email"
]} onSubmit={(email) => console.log("Subscribed:", email)}
textarea={{
name: "message",
placeholder: "Tell us about your favorite Star Wars moment...",
rows: 4,
required: true
}}
imageSrc="/placeholders/placeholder1.webp"
imageAlt="Star Wars Contact"
mediaPosition="right"
buttonText="Send Message"
useInvertedBackground="noInvert"
/> />
</div> </div>
<div id="footer" data-section="footer"> <div id="footer" data-section="footer">
<FooterSocial <FooterBaseSocial
logoText="STAR WARS" logoText="STAR WARS"
description="Join millions of Star Wars fans worldwide. Discover exclusive content, connect with the community, and celebrate the epic saga."
columns={[ columns={[
{ {
title: "Explore", title: "Explore",
items: [ items: [
{ label: "Movies", href: "#" }, { label: "Movies", href: "#movies" },
{ label: "Series", href: "#" }, { label: "Series", href: "#series" },
{ label: "Characters", href: "#" } { label: "Characters", href: "#characters" }
] ]
}, },
{ {
title: "Community", title: "Community",
items: [ items: [
{ label: "Forums", href: "#" }, { label: "Forums", href: "#forums" },
{ label: "Events", href: "#" }, { label: "Events", href: "#events" },
{ label: "Merch", href: "#" } { label: "Merch", href: "#merch" }
]
},
{
title: "More",
items: [
{ label: "About Us", href: "about" },
{ label: "Blog", href: "#blog" },
{ label: "Contact", href: "contact" }
] ]
} }
]} ]}
socialLinks={[ socialLinks={[
{ icon: Youtube, href: "https://youtube.com", ariaLabel: "YouTube" },
{ icon: Twitter, href: "https://twitter.com", ariaLabel: "Twitter" }, { icon: Twitter, href: "https://twitter.com", ariaLabel: "Twitter" },
{ icon: Linkedin, href: "https://linkedin.com", ariaLabel: "LinkedIn" } { icon: Linkedin, href: "https://linkedin.com", ariaLabel: "LinkedIn" },
{ icon: Globe, href: "https://example.com", ariaLabel: "Website" }
]} ]}
copyrightText="© 2024 STAR WARS. All rights reserved." copyrightText="© 2025 Star Wars Community. All rights reserved."
/> />
</div> </div>
</ThemeProvider> </ThemeProvider>