diff --git a/src/app/page.tsx b/src/app/page.tsx index e6f391d..1b8bf9f 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -20,7 +20,7 @@ export default function LandingPage() { borderRadius="soft" contentWidth="mediumLarge" sizing="large" - background="grid" + background="circleGradient" cardStyle="glass-depth" primaryButtonStyle="diagonal-gradient" secondaryButtonStyle="glass" @@ -44,7 +44,7 @@ export default function LandingPage() { title="THE MOST CHAOTIC WRESTLING ON EARTH" description="Juggalo Championship Wrestling delivers underground chaos, carnival energy, and premium entertainment. Experience the wildest professional wrestling promotion where every match is a celebration of Juggalo culture." tag="UNSTOPPABLE ENERGY" - background={{ variant: "grid" }} + background={{ variant: "animated-grid" }} imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=c3z3bi" imageAlt="JCW Wrestling Action" tagAnimation="slide-up" @@ -68,16 +68,16 @@ export default function LandingPage() { animationType="slide-up" blogs={[ { - id: "1", category: "Match Announcement", title: "TITLE MATCH ANNOUNCED FOR NEXT LUNACY", excerpt: "Champion vs Challenger in a high-stakes championship bout. The rivalry reaches its peak as these two warriors collide for ultimate glory.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vf43hk&_wi=1", imageAlt: "Championship Match", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=7zp6ks", date: "7 Days" + id: "1", category: "Match Announcement", title: "TITLE MATCH ANNOUNCED FOR NEXT LUNACY", excerpt: "Champion vs Challenger in a high-stakes championship bout. The rivalry reaches its peak as these two warriors collide for ultimate glory.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vf43hk", imageAlt: "Championship Match", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=7zp6ks", date: "7 Days" }, { - id: "2", category: "Rivalry Update", title: "BITTER ENEMIES CLASH AGAIN", excerpt: "After weeks of intense promos and confrontations, these rivals face off in an unsanctioned match. New stipulations added for maximum chaos.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l1fx5d&_wi=1", imageAlt: "Intense Rivalry", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=gwsjbu", date: "5 Days" + id: "2", category: "Rivalry Update", title: "BITTER ENEMIES CLASH AGAIN", excerpt: "After weeks of intense promos and confrontations, these rivals face off in an unsanctioned match. New stipulations added for maximum chaos.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l1fx5d", imageAlt: "Intense Rivalry", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=gwsjbu", date: "5 Days" }, { - id: "3", category: "Special Event", title: "SURPRISE GUEST APPEARANCE CONFIRMED", excerpt: "A legend returns to JCW rings! Special guest performer will make a shocking appearance at the next Lunacy episode. History in the making.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vf43hk&_wi=2", imageAlt: "Special Appearance", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=xiadyd", date: "3 Days" + id: "3", category: "Special Event", title: "SURPRISE GUEST APPEARANCE CONFIRMED", excerpt: "A legend returns to JCW rings! Special guest performer will make a shocking appearance at the next Lunacy episode. History in the making.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=vf43hk", imageAlt: "Special Appearance", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=xiadyd", date: "3 Days" }, { - id: "4", category: "Stipulation Match", title: "EXTREME RULES MATCH SET FOR CHAMPIONSHIP", excerpt: "No holds barred. No referees. No mercy. The championship will be defended under the most brutal conditions JCW has ever seen.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l1fx5d&_wi=2", imageAlt: "Extreme Match", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ni5qcd", date: "2 Days" + id: "4", category: "Stipulation Match", title: "EXTREME RULES MATCH SET FOR CHAMPIONSHIP", excerpt: "No holds barred. No referees. No mercy. The championship will be defended under the most brutal conditions JCW has ever seen.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l1fx5d", imageAlt: "Extreme Match", authorName: "JCW Productions", authorAvatar: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=ni5qcd", date: "2 Days" } ]} /> @@ -94,19 +94,19 @@ export default function LandingPage() { useInvertedBackground={false} features={[ { - title: "Episode 247: CHAMPIONSHIP CLASH", description: "The reigning champion faces an unlikely challenger in a battle for supremacy. Surprise guest appearance confirmed.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e&_wi=1", imageAlt: "JCW Lunacy Show", buttonIcon: Play, + title: "Episode 247: CHAMPIONSHIP CLASH", description: "The reigning champion faces an unlikely challenger in a battle for supremacy. Surprise guest appearance confirmed.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e", imageAlt: "JCW Lunacy Show", buttonIcon: Play, buttonHref: "#" }, { - title: "Episode 246: CHAOS UNLIMITED", description: "Tag team madness as three teams battle for tournament supremacy. Extreme stipulations add to the unpredictability.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e&_wi=2", imageAlt: "Tag Team Tournament", buttonIcon: Play, + title: "Episode 246: CHAOS UNLIMITED", description: "Tag team madness as three teams battle for tournament supremacy. Extreme stipulations add to the unpredictability.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e", imageAlt: "Tag Team Tournament", buttonIcon: Play, buttonHref: "#" }, { - title: "Episode 245: LEGACY MATCH", description: "Two wrestling veterans collide in a career-defining encounter. This epic confrontation will be remembered for years.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e&_wi=3", imageAlt: "Veteran Battle", buttonIcon: Play, + title: "Episode 245: LEGACY MATCH", description: "Two wrestling veterans collide in a career-defining encounter. This epic confrontation will be remembered for years.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e", imageAlt: "Veteran Battle", buttonIcon: Play, buttonHref: "#" }, { - title: "Episode 244: RISING STAR DEBUT", description: "New performer shocks everyone with an incredible performance. Watch as fresh talent makes their mark on JCW.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e&_wi=4", imageAlt: "New Performer", buttonIcon: Play, + title: "Episode 244: RISING STAR DEBUT", description: "New performer shocks everyone with an incredible performance. Watch as fresh talent makes their mark on JCW.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=l2641e", imageAlt: "New Performer", buttonIcon: Play, buttonHref: "#" } ]} @@ -152,7 +152,7 @@ export default function LandingPage() { products={[ { id: "1", brand: "JCW", name: "LUNACY LIVE - Main City", price: "$35.00", rating: 5, - reviewCount: "2.4k", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hcga5p&_wi=1", imageAlt: "Lunacy Live Event" + reviewCount: "2.4k", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hcga5p", imageAlt: "Lunacy Live Event" }, { id: "2", brand: "JCW", name: "CHAMPIONSHIP EXTRAVAGANZA", price: "$50.00", rating: 5, @@ -160,7 +160,7 @@ export default function LandingPage() { }, { id: "3", brand: "JCW", name: "CHAOS UNDERGROUND - Special", price: "$45.00", rating: 5, - reviewCount: "1.2k", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hcga5p&_wi=2", imageAlt: "Chaos Underground" + reviewCount: "1.2k", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hcga5p", imageAlt: "Chaos Underground" } ]} /> @@ -192,7 +192,7 @@ export default function LandingPage() { }, { id: "4", brand: "JCW Official", name: "Championship Belt Replica", price: "$129.99", rating: 5, - reviewCount: "178", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hcga5p&_wi=3", imageAlt: "Championship Belt" + reviewCount: "178", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=hcga5p", imageAlt: "Championship Belt" } ]} /> @@ -224,7 +224,7 @@ export default function LandingPage() { { text: "Subscribe", href: "#" }, { text: "Follow @JCW", href: "https://www.instagram.com/juggalochampionshipwrestling" } ]} - background={{ variant: "grid" }} + background={{ variant: "animated-grid" }} useInvertedBackground={false} tagAnimation="slide-up" buttonAnimation="slide-up" diff --git a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx index f214190..c8369f6 100644 --- a/src/components/shared/SvgTextLogo/SvgTextLogo.tsx +++ b/src/components/shared/SvgTextLogo/SvgTextLogo.tsx @@ -1,51 +1,37 @@ -"use client"; - -import { memo } from "react"; -import useSvgTextLogo from "./useSvgTextLogo"; -import { cls } from "@/lib/utils"; +import React from 'react'; interface SvgTextLogoProps { - logoText: string; - adjustHeightFactor?: number; - verticalAlign?: "top" | "center"; + text: string; className?: string; + textColor?: string; + strokeWidth?: number; } -const SvgTextLogo = memo(function SvgTextLogo({ - logoText, - adjustHeightFactor, - verticalAlign = "top", - className = "", -}) { - const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor); - +export function SvgTextLogo({ + text, + className = '', + textColor = '#000', + strokeWidth = 1, +}: SvgTextLogoProps) { return ( - {logoText} + {text} ); -}); - -SvgTextLogo.displayName = "SvgTextLogo"; - -export default SvgTextLogo; +}