diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx
index 21a2e2b..55ad99d 100644
--- a/src/app/about/page.tsx
+++ b/src/app/about/page.tsx
@@ -4,7 +4,6 @@ import Link from "next/link";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
import AboutMetric from '@/components/sections/about/AboutMetric';
-import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import { Heart, Users, Target, Award } from 'lucide-react';
@@ -33,8 +32,7 @@ export default function AboutPage() {
{ name: "Contact", id: "/contact" }
]}
button={{
- text: "Join Us",
- href: "/#pricing"
+ text: "Join Us", href: "/#pricing"
}}
/>
@@ -49,6 +47,7 @@ export default function AboutPage() {
{ icon: Award, label: "Community Awards", value: "15" }
]}
useInvertedBackground={false}
+ metricsAnimation="slide-up"
/>
@@ -62,43 +61,21 @@ export default function AboutPage() {
{ icon: Award, label: "Character", value: "Foundation" }
]}
useInvertedBackground={true}
+ metricsAnimation="slide-up"
/>
-
diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx
index 668e72d..05f48b7 100644
--- a/src/app/blog/page.tsx
+++ b/src/app/blog/page.tsx
@@ -1,15 +1,13 @@
"use client";
import ReactLenis from "lenis/react";
-import BlogCardOne from "@/components/sections/blog/BlogCardOne";
+import AboutMetric from '@/components/sections/about/AboutMetric';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
-import { useBlogPosts } from "@/hooks/useBlogPosts";
+import { Heart, Users, Award, Trophy } from 'lucide-react';
export default function BlogPage() {
- const { posts, isLoading } = useBlogPosts();
-
return (
- {isLoading ? (
-
- ) : (
-
-
-
- )}
+
-
@@ -66,6 +61,7 @@ export default function ContactPage() {
{ icon: Clock, label: "Office Hours", value: "9AM - 6PM" }
]}
useInvertedBackground={true}
+ metricsAnimation="slide-up"
/>
@@ -79,6 +75,7 @@ export default function ContactPage() {
{ icon: Clock, label: "Response Time", value: "24 Hours" }
]}
useInvertedBackground={false}
+ metricsAnimation="slide-up"
/>
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 384de27..384dab0 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -6,39 +6,25 @@ import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const openSans = Open_Sans({
- variable: "--font-open-sans",
- subsets: ["latin"],
+ variable: "--font-open-sans", subsets: ["latin"],
});
const workSans = Work_Sans({
- variable: "--font-work-sans",
- subsets: ["latin"],
+ variable: "--font-work-sans", subsets: ["latin"],
});
export const metadata: Metadata = {
- title: "Family Lovers Basketball - Alabama's Premier Team",
- description: "Join Family Lovers, Alabama's premier community basketball team. Experience excellence, unity, and passion. Follow game schedules, meet our champions, and become part of the family.",
- keywords: "basketball, Alabama, Family Lovers, sports, community, team",
- metadataBase: new URL("https://familyloversbasketball.com"),
+ title: "Family Lovers Basketball - Alabama's Premier Team", description: "Join Family Lovers, Alabama's premier community basketball team. Experience excellence, unity, and passion. Follow game schedules, meet our champions, and become part of the family.", keywords: "basketball, Alabama, Family Lovers, sports, community, team", metadataBase: new URL("https://familyloversbasketball.com"),
alternates: {
canonical: "https://familyloversbasketball.com"
},
openGraph: {
- title: "Family Lovers Basketball - United by Passion",
- description: "Experience the excitement of Alabama's premier basketball team. Champions for the community.",
- url: "https://familyloversbasketball.com",
- siteName: "Family Lovers Basketball",
- type: "website",
- images: [{
- url: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg",
- alt: "Family Lovers basketball court"
+ title: "Family Lovers Basketball - United by Passion", description: "Experience the excitement of Alabama's premier basketball team. Champions for the community.", url: "https://familyloversbasketball.com", siteName: "Family Lovers Basketball", type: "website", images: [{
+ url: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg", alt: "Family Lovers basketball court"
}]
},
twitter: {
- card: "summary_large_image",
- title: "Family Lovers Basketball",
- description: "Alabama's Premier Basketball Team - Join the Family",
- images: ["https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg"]
+ card: "summary_large_image", title: "Family Lovers Basketball", description: "Alabama's Premier Basketball Team - Join the Family", images: ["https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg"]
},
robots: {
index: true,
diff --git a/src/app/page.tsx b/src/app/page.tsx
index ceedea7..9c4a487 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -36,8 +36,7 @@ export default function HomePage() {
{ name: "Contact", id: "/contact" }
]}
button={{
- text: "Join Us",
- href: "#pricing"
+ text: "Join Us", href: "#pricing"
}}
/>
@@ -66,6 +65,7 @@ export default function HomePage() {
{ icon: Zap, label: "Winning Streak", value: "12 Games" }
]}
useInvertedBackground={false}
+ metricsAnimation="slide-up"
/>
@@ -76,32 +76,24 @@ export default function HomePage() {
tag="Recent Games"
features={[
{
- title: "Championship Victory",
- description: "Dominant performance in the finals - showcasing teamwork and determination",
- icon: Trophy,
+ title: "Championship Victory", description: "Dominant performance in the finals - showcasing teamwork and determination", icon: Trophy,
mediaItems: [
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-411.jpg",
- imageAlt: "Championship game action"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-411.jpg", imageAlt: "Championship game action"
},
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-352.jpg",
- imageAlt: "Team celebration"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-352.jpg", imageAlt: "Team celebration"
}
]
},
{
- title: "Community Engagement",
- description: "Supporting local youth programs and basketball development in Alabama",
- icon: Heart,
+ title: "Community Engagement", description: "Supporting local youth programs and basketball development in Alabama", icon: Heart,
mediaItems: [
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-269.jpg",
- imageAlt: "Fans in arena"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-269.jpg", imageAlt: "Fans in arena"
},
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg",
- imageAlt: "Basketball court"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg", imageAlt: "Basketball court"
}
]
}
@@ -118,34 +110,13 @@ export default function HomePage() {
description="Hear from the community about the Family Lovers experience"
testimonials={[
{
- id: "1",
- name: "James Cooper, Basketball Coach",
- date: "Date: 15 November 2024",
- title: "Inspiring the Next Generation",
- quote: "Family Lovers isn't just about basketball - it's about building character and community. The team's dedication to youth development is exceptional.",
- tag: "Coach's Perspective",
- avatarSrc: "https://img.b2bpic.net/free-photo/excited-cheerful-optimistic-charming-woman-with-fair-hair-white-tshirt-raising-fists-victory-triumph-yelling-yes-success-amazement-standing-supportive-against-pink-background_1258-308989.jpg",
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg"
+ id: "1", name: "James Cooper, Basketball Coach", date: "Date: 15 November 2024", title: "Inspiring the Next Generation", quote: "Family Lovers isn't just about basketball - it's about building character and community. The team's dedication to youth development is exceptional.", tag: "Coach's Perspective", avatarSrc: "https://img.b2bpic.net/free-photo/excited-cheerful-optimistic-charming-woman-with-fair-hair-white-tshirt-raising-fists-victory-triumph-yelling-yes-success-amazement-standing-supportive-against-pink-background_1258-308989.jpg", imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg"
},
{
- id: "2",
- name: "Maria Santos, Season Ticket Holder",
- date: "Date: 20 November 2024",
- title: "Energy That Never Stops",
- quote: "Every game is electric! The passion these players show is unmatched. I bring my whole family to support this team.",
- tag: "Fan Experience",
- avatarSrc: "https://img.b2bpic.net/free-photo/happy-pretty-young-woman-white-t-shirt-wearing-sunglasses-her-head-showing-clenched-fists-while-looking-white-wall_141793-31216.jpg",
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-269.jpg"
+ id: "2", name: "Maria Santos, Season Ticket Holder", date: "Date: 20 November 2024", title: "Energy That Never Stops", quote: "Every game is electric! The passion these players show is unmatched. I bring my whole family to support this team.", tag: "Fan Experience", avatarSrc: "https://img.b2bpic.net/free-photo/happy-pretty-young-woman-white-t-shirt-wearing-sunglasses-her-head-showing-clenched-fists-while-looking-white-wall_141793-31216.jpg", imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-269.jpg"
},
{
- id: "3",
- name: "Anthony Davis, Local Business Owner",
- date: "Date: 18 November 2024",
- title: "Building Alabama Together",
- quote: "Supporting Family Lovers means supporting Alabama's future. This team represents excellence and community values.",
- tag: "Business Partner",
- avatarSrc: "https://img.b2bpic.net/free-photo/excited-young-handsome-guy-wearing-red-shirt-glasses-showing-yes-gesture-isolated-green-wall_141793-83276.jpg",
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-352.jpg"
+ id: "3", name: "Anthony Davis, Local Business Owner", date: "Date: 18 November 2024", title: "Building Alabama Together", quote: "Supporting Family Lovers means supporting Alabama's future. This team represents excellence and community values.", tag: "Business Partner", avatarSrc: "https://img.b2bpic.net/free-photo/excited-young-handsome-guy-wearing-red-shirt-glasses-showing-yes-gesture-isolated-green-wall_141793-83276.jpg", imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-352.jpg"
}
]}
textboxLayout="default"
@@ -160,57 +131,33 @@ export default function HomePage() {
tag="Membership"
plans={[
{
- id: "fan",
- badge: "Fan Membership",
- badgeIcon: Heart,
- price: "$25/mo",
- subtitle: "Perfect for casual fans",
- buttons: [
+ id: "fan", badge: "Fan Membership", badgeIcon: Heart,
+ price: "$25/mo", subtitle: "Perfect for casual fans", buttons: [
{ text: "Get Started", href: "/contact" },
{ text: "Learn More", href: "#" }
],
features: [
- "All game live streams",
- "Fan exclusive newsletter",
- "10% merchandise discount",
- "Community chat access"
+ "All game live streams", "Fan exclusive newsletter", "10% merchandise discount", "Community chat access"
]
},
{
- id: "supporter",
- badge: "Supporter Plan",
- badgeIcon: Sparkles,
- price: "$75/mo",
- subtitle: "For dedicated supporters",
- buttons: [
+ id: "supporter", badge: "Supporter Plan", badgeIcon: Sparkles,
+ price: "$75/mo", subtitle: "For dedicated supporters", buttons: [
{ text: "Get Started", href: "/contact" },
{ text: "Learn More", href: "#" }
],
features: [
- "All Fan benefits",
- "4 courtside tickets per season",
- "Meet & greet opportunities",
- "25% merchandise discount",
- "Priority event access"
+ "All Fan benefits", "4 courtside tickets per season", "Meet & greet opportunities", "25% merchandise discount", "Priority event access"
]
},
{
- id: "champion",
- badge: "Champion Sponsor",
- badgeIcon: Trophy,
- price: "$250/mo",
- subtitle: "Exclusive partnership tier",
- buttons: [
+ id: "champion", badge: "Champion Sponsor", badgeIcon: Trophy,
+ price: "$250/mo", subtitle: "Exclusive partnership tier", buttons: [
{ text: "Get Started", href: "/contact" },
{ text: "Learn More", href: "#" }
],
features: [
- "All Supporter benefits",
- "Season suite access",
- "Player sponsorship option",
- "50% merchandise discount",
- "VIP event invitations",
- "Brand visibility opportunities"
+ "All Supporter benefits", "Season suite access", "Player sponsorship option", "50% merchandise discount", "VIP event invitations", "Brand visibility opportunities"
]
}
]}
diff --git a/src/app/schedule/page.tsx b/src/app/schedule/page.tsx
index d22269a..ea9db27 100644
--- a/src/app/schedule/page.tsx
+++ b/src/app/schedule/page.tsx
@@ -33,8 +33,7 @@ export default function SchedulePage() {
{ name: "Contact", id: "/contact" }
]}
button={{
- text: "Join Us",
- href: "/#pricing"
+ text: "Join Us", href: "/#pricing"
}}
/>
@@ -46,32 +45,24 @@ export default function SchedulePage() {
tag="2024 Season"
features={[
{
- title: "vs Birmingham Thunder",
- description: "Home game at Alabama Sports Arena - Championship series opener",
- icon: Trophy,
+ title: "vs Birmingham Thunder", description: "Home game at Alabama Sports Arena - Championship series opener", icon: Trophy,
mediaItems: [
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg",
- imageAlt: "Basketball arena"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-388.jpg", imageAlt: "Basketball arena"
},
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-269.jpg",
- imageAlt: "Fans in arena"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-269.jpg", imageAlt: "Fans in arena"
}
]
},
{
- title: "vs Mobile Heat",
- description: "Away game - Rivalry matchup featuring our top scorers",
- icon: Calendar,
+ title: "vs Mobile Heat", description: "Away game - Rivalry matchup featuring our top scorers", icon: Calendar,
mediaItems: [
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-411.jpg",
- imageAlt: "Game action"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-411.jpg", imageAlt: "Game action"
},
{
- imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-352.jpg",
- imageAlt: "Team celebration"
+ imageSrc: "https://img.b2bpic.net/free-photo/basketball-players-big-professional-arena-game_654080-352.jpg", imageAlt: "Team celebration"
}
]
}
@@ -92,6 +83,7 @@ export default function SchedulePage() {
{ icon: Clock, label: "Average Game Time", value: "2.5 hrs" }
]}
useInvertedBackground={true}
+ metricsAnimation="slide-up"
/>
@@ -105,6 +97,7 @@ export default function SchedulePage() {
{ icon: Clock, label: "Doors Open", value: "1 Hour Early" }
]}
useInvertedBackground={false}
+ metricsAnimation="slide-up"
/>
diff --git a/src/app/shop/[id]/page.tsx b/src/app/shop/[id]/page.tsx
index 1201073..d85059c 100644
--- a/src/app/shop/[id]/page.tsx
+++ b/src/app/shop/[id]/page.tsx
@@ -5,12 +5,9 @@ import { useRouter } from "next/navigation";
import ReactLenis from "lenis/react";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay';
-import ProductDetailCard from "@/components/ecommerce/productDetail/ProductDetailCard";
-import ProductCart from "@/components/ecommerce/cart/ProductCart";
+import AboutMetric from '@/components/sections/about/AboutMetric';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
-import { useProductDetail } from "@/hooks/useProductDetail";
-import { useCart } from "@/hooks/useCart";
-import { useCheckout } from "@/hooks/useCheckout";
+import { ShoppingBag, Star, Truck, Heart } from 'lucide-react';
interface ProductPageProps {
params: Promise<{ id: string }>;
@@ -20,196 +17,6 @@ export default function ProductPage({ params }: ProductPageProps) {
const { id } = use(params);
const router = useRouter();
- const {
- product,
- isLoading,
- images,
- meta,
- variants,
- quantityVariant,
- selectedQuantity,
- createCartItem,
- } = useProductDetail(id);
-
- const {
- items: cartItems,
- isOpen: cartOpen,
- setIsOpen: setCartOpen,
- addItem,
- updateQuantity,
- removeItem,
- total: cartTotal,
- getCheckoutItems,
- } = useCart();
-
- const { buyNow, checkout, isLoading: isCheckoutLoading } = useCheckout();
-
- const handleAddToCart = useCallback(() => {
- const item = createCartItem();
- if (item) {
- addItem(item);
- }
- }, [createCartItem, addItem]);
-
- const handleBuyNow = useCallback(() => {
- if (product) {
- buyNow(product, selectedQuantity);
- }
- }, [product, selectedQuantity, buyNow]);
-
- const handleCheckout = useCallback(async () => {
- if (cartItems.length === 0) return;
-
- const currentUrl = new URL(window.location.href);
- currentUrl.searchParams.set("success", "true");
-
- await checkout(getCheckoutItems(), { successUrl: currentUrl.toString() });
- }, [cartItems, checkout, getCheckoutItems]);
-
- if (isLoading) {
- return (
-
-
-
- setCartOpen(true) }}
- />
-
-
- Loading product...
-
-
-
-
- );
- }
-
- if (!product) {
- return (
-
-
-
- setCartOpen(true) }}
- />
-
-
-
-
Product not found
-
-
-
-
-
-
- );
- }
-
return (
setCartOpen(true) }}
+ button={{ text: "Cart", onClick: () => console.log("Cart clicked") }}
/>
-
0 ? variants : undefined}
- quantity={quantityVariant}
- ribbon={meta.ribbon}
- inventoryStatus={meta.inventoryStatus}
- inventoryQuantity={meta.inventoryQuantity}
- sku={meta.sku}
- buttons={[
- { text: "Add To Cart", onClick: handleAddToCart },
- { text: "Buy Now", onClick: handleBuyNow },
+
-
setCartOpen(false)}
- items={cartItems}
- onQuantityChange={updateQuantity}
- onRemove={removeItem}
- total={`$${cartTotal}`}
- buttons={[
- {
- text: isCheckoutLoading ? "Processing..." : "Check Out", onClick: handleCheckout,
- },
+
-
@@ -90,6 +61,7 @@ export default function TeamPage() {
{ icon: Award, label: "MVP Awards", value: "3" }
]}
useInvertedBackground={false}
+ metricsAnimation="slide-up"
/>
@@ -103,6 +75,7 @@ export default function TeamPage() {
{ icon: Award, label: "Community Impact", value: "Lifelong" }
]}
useInvertedBackground={true}
+ metricsAnimation="slide-up"
/>