215 lines
14 KiB
TypeScript
215 lines
14 KiB
TypeScript
'use client';
|
|
|
|
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card';
|
|
import { Button } from '@/components/ui/button';
|
|
import { ExternalLink, Sparkles, Wind, Pill, Coffee, Star, Quote } from 'lucide-react';
|
|
import Image from 'next/image';
|
|
import { useTheme } from '@/lib/theme-context';
|
|
import { Badge } from '@/components/ui/badge';
|
|
|
|
const smokingAids = [
|
|
{
|
|
id: 'breathing-necklace',
|
|
title: '528Hz Anxiety Relief Breathing Necklace',
|
|
category: 'Mindfulness',
|
|
rating: 4.6,
|
|
description: 'A discreet mindfulness tool designed to help you manage cravings and anxiety through deep breathing exercises. The 528Hz frequency is associated with relaxation and healing.',
|
|
benefit: 'Helps replace the physical hand-to-mouth habit while promoting calming deep breaths during stressful moments or cravings.',
|
|
image: 'https://m.media-amazon.com/images/I/51VJ5HANaRL._AC_SY695_.jpg',
|
|
url: 'https://amzn.to/3Z2BuCk',
|
|
icon: Wind,
|
|
color: 'text-sky-400',
|
|
themeColor: 'sky',
|
|
gradient: 'from-sky-500/20 to-indigo-500/20',
|
|
borderColor: 'border-sky-500/30',
|
|
},
|
|
{
|
|
id: 'nicotine-lozenge',
|
|
title: 'Nicotine Polacrilex Lozenge (2mg)',
|
|
category: 'NRT',
|
|
rating: 4.5,
|
|
description: 'Effective nicotine replacement therapy to help control withdrawal symptoms. These lozenges provide a controlled dose of nicotine to ease you off cigarettes.',
|
|
benefit: 'Reduces physical withdrawal symptoms like irritability and intense cravings, making the transition to being smoke-free smoother.',
|
|
image: 'https://m.media-amazon.com/images/I/61h+Z88Ev9S._AC_SX679_.jpg',
|
|
url: 'https://amzn.to/4rfQl8s',
|
|
icon: Pill,
|
|
color: 'text-rose-400',
|
|
themeColor: 'rose',
|
|
gradient: 'from-rose-500/20 to-pink-500/20',
|
|
borderColor: 'border-rose-500/30',
|
|
},
|
|
{
|
|
id: 'recovery-complex',
|
|
title: 'QuitK Recovery Complex',
|
|
category: 'Supplement',
|
|
rating: 4.4,
|
|
description: 'A comprehensive supplement blend containing Magnesium, Ashwagandha, and GABA designed specifically to support your body during the detox process.',
|
|
benefit: 'Supports mood stability and relaxation while your body clears out toxins, helping to minimize the mental strain of quitting.',
|
|
image: 'https://m.media-amazon.com/images/I/51HWgmCW1-L._AC_SX679_.jpg',
|
|
url: 'https://amzn.to/3NFU1Sx',
|
|
icon: Sparkles,
|
|
color: 'text-amber-400',
|
|
themeColor: 'amber',
|
|
gradient: 'from-amber-500/20 to-orange-500/20',
|
|
borderColor: 'border-amber-500/30',
|
|
},
|
|
{
|
|
id: 'mullein-tea',
|
|
title: 'Tarbust Mullein Tea for Lung Detox',
|
|
category: 'Herbal',
|
|
rating: 4.7,
|
|
description: 'Organic herbal tea formulated with Mullein leaf, traditionally used to support respiratory health and clear congestion.',
|
|
benefit: 'Aids in clearing mucus and toxins from your lungs, supporting your body\'s natural healing process as you recover from smoking.',
|
|
image: 'https://m.media-amazon.com/images/I/81NU8bv72uL._SX679_PIbundle-20,TopRight,0,0_SX679SY693SH20_.jpg',
|
|
url: 'https://amzn.to/3LzNpEM',
|
|
icon: Coffee,
|
|
color: 'text-emerald-400',
|
|
themeColor: 'emerald',
|
|
gradient: 'from-emerald-500/20 to-teal-500/20',
|
|
borderColor: 'border-emerald-500/30',
|
|
},
|
|
];
|
|
|
|
export function SmokingAidsContent() {
|
|
const { theme } = useTheme();
|
|
|
|
return (
|
|
<div className="min-h-screen pb-24 pt-8 px-4 sm:px-6 lg:px-8 max-w-7xl mx-auto space-y-16 overflow-hidden">
|
|
{/* Hero Section */}
|
|
<div className="relative text-center space-y-6 max-w-4xl mx-auto animate-in fade-in slide-in-from-bottom-8 duration-1000">
|
|
<div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[120%] h-[120%] bg-purple-500/10 dark:bg-purple-500/5 rounded-full blur-[120px] -z-10 animate-pulse-subtle" />
|
|
|
|
<h1 className="text-4xl sm:text-6xl lg:text-7xl font-extrabold tracking-tight">
|
|
Tools for Your <span className="text-transparent bg-clip-text bg-gradient-to-r from-purple-400 via-pink-400 to-orange-400 animate-gradient-x">Freedom</span>
|
|
</h1>
|
|
<p className="text-lg sm:text-xl text-muted-foreground leading-relaxed max-w-2xl mx-auto font-medium">
|
|
Transform your journey with tools designed to support your physical recovery and mental resilience. You don't have to do this alone.
|
|
</p>
|
|
</div>
|
|
|
|
{/* Grid Section */}
|
|
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8 sm:gap-10">
|
|
{smokingAids.map((item, index) => {
|
|
const cardBackground = theme === 'light'
|
|
? `linear-gradient(135deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.9) 100%)`
|
|
: `linear-gradient(135deg, rgba(16, 16, 32, 0.7) 0%, rgba(24, 24, 48, 0.6) 100%)`;
|
|
|
|
return (
|
|
<div
|
|
key={item.id}
|
|
className="group animate-in fade-in slide-in-from-bottom-12 fill-mode-both"
|
|
style={{ animationDelay: `${index * 150}ms` }}
|
|
>
|
|
<Card
|
|
className="h-full flex flex-col overflow-hidden border-border/40 transition-all duration-500 hover:shadow-[0_20px_50px_rgba(0,0,0,0.2)] dark:hover:shadow-[0_20px_50px_rgba(0,0,0,0.4)] hover:-translate-y-2 backdrop-blur-xl relative group"
|
|
style={{
|
|
background: cardBackground,
|
|
borderColor: `rgba(var(--${item.themeColor}-500), 0.3)`
|
|
}}
|
|
>
|
|
{/* Specific card glow on hover */}
|
|
<div className={`absolute top-0 right-0 w-64 h-64 opacity-0 group-hover:opacity-100 transition-opacity duration-700 pointer-events-none blur-[80px] -translate-y-1/2 translate-x-1/2`}
|
|
style={{ backgroundColor: `rgba(var(--${item.themeColor}-500), 0.1)` }} />
|
|
|
|
<div className="flex flex-col sm:flex-row h-full relative z-10">
|
|
{/* Image Section - Now with seamless blending */}
|
|
<div className="relative w-full sm:w-2/5 h-72 sm:h-auto overflow-hidden flex items-center justify-center shrink-0">
|
|
{/* Atmospheric background glow - larger and softer */}
|
|
<div className={`absolute inset-0 bg-gradient-to-br ${item.gradient} opacity-20 group-hover:opacity-40 transition-all duration-700 blur-[60px] transform scale-150`} />
|
|
|
|
{/* Vertical fader to blend image area into content area */}
|
|
<div className="absolute inset-y-0 right-0 w-24 bg-gradient-to-l from-transparent to-transparent group-hover:from-white/5 transition-colors duration-500 hidden sm:block" />
|
|
|
|
<div className="relative w-48 h-48 sm:w-56 sm:h-56 transition-all duration-1000 group-hover:scale-105 flex items-center justify-center">
|
|
{/* High-fidelity glass orb effect */}
|
|
<div className="absolute inset-0 bg-white/10 dark:bg-white/[0.03] backdrop-blur-[30px] rounded-full border border-white/20 dark:border-white/10 shadow-[0_0_50px_rgba(0,0,0,0.3)]" />
|
|
|
|
{/* Inner glow/shimmer */}
|
|
<div className="absolute inset-2 rounded-full bg-gradient-to-tr from-white/10 to-transparent opacity-50" />
|
|
|
|
<div className="relative w-[75%] h-[75%] z-20">
|
|
<Image
|
|
src={item.image}
|
|
alt={item.title}
|
|
fill
|
|
className="object-contain filter drop-shadow-[0_15px_15px_rgba(0,0,0,0.4)] brightness-110"
|
|
style={{
|
|
maskImage: 'radial-gradient(circle at center, black 60%, transparent 100%)',
|
|
WebkitMaskImage: 'radial-gradient(circle at center, black 60%, transparent 100%)'
|
|
}}
|
|
sizes="(max-width: 640px) 100vw, 300px"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div className="absolute top-4 left-4">
|
|
<Badge className="bg-white/10 dark:bg-black/20 backdrop-blur-xl text-foreground border-white/20 px-3 py-1.5 text-xs font-bold uppercase tracking-widest shadow-lg">
|
|
{item.category}
|
|
</Badge>
|
|
</div>
|
|
</div>
|
|
|
|
{/* Content Section */}
|
|
<div className="flex flex-col flex-grow p-6 sm:p-8">
|
|
<div className="flex items-start justify-between gap-4 mb-4">
|
|
<div className="flex-1">
|
|
<h3 className="text-xl sm:text-2xl font-bold tracking-tight group-hover:text-primary transition-colors duration-300">
|
|
{item.title}
|
|
</h3>
|
|
<div className="flex items-center gap-1.5 mt-3">
|
|
{[...Array(5)].map((_, i) => (
|
|
<Star
|
|
key={i}
|
|
className={`w-4 h-4 ${i < Math.floor(item.rating) ? 'fill-yellow-400 text-yellow-400' : 'text-muted-foreground/30'}`}
|
|
/>
|
|
))}
|
|
<span className="text-xs font-bold text-muted-foreground/70 ml-2 tracking-wide tracking-widest">{item.rating}</span>
|
|
</div>
|
|
</div>
|
|
<div className={`p-3 rounded-2xl bg-white/5 border border-white/10 ${item.color} shadow-lg shrink-0 group-hover:scale-110 transition-transform duration-500`}>
|
|
<item.icon className="w-5 h-5 sm:w-6 sm:h-6" />
|
|
</div>
|
|
</div>
|
|
|
|
<p className="text-muted-foreground/80 text-sm leading-relaxed mb-8 line-clamp-3 font-medium">
|
|
{item.description}
|
|
</p>
|
|
|
|
<div className={`mt-auto p-5 rounded-2xl bg-gradient-to-br ${item.gradient} border ${item.borderColor} mb-8 relative overflow-hidden group/benefit`}>
|
|
<div className="absolute inset-0 bg-white/5 opacity-0 group-hover/benefit:opacity-100 transition-opacity duration-500" />
|
|
<div className="flex gap-4 relative z-10">
|
|
<Quote className={`w-5 h-5 ${item.color} shrink-0 opacity-80`} />
|
|
<p className="text-[13px] font-semibold leading-relaxed opacity-90 italic">
|
|
{item.benefit}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<Button
|
|
asChild
|
|
className={`w-full text-white font-bold shadow-[0_10px_20px_rgba(0,0,0,0.2)] hover:shadow-[0_15px_30px_rgba(0,0,0,0.3)] transition-all duration-500 hover:ring-2 hover:ring-${item.themeColor}-500/50 hover:ring-offset-4 hover:ring-offset-background bg-gradient-to-r from-primary to-primary/80 rounded-2xl h-14 group-hover:scale-[1.02] active:scale-95`}
|
|
>
|
|
<a href={item.url} target="_blank" rel="noopener noreferrer" className="flex items-center justify-center gap-3">
|
|
View Details
|
|
<ExternalLink className="w-5 h-5 opacity-70 group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform" />
|
|
</a>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</div>
|
|
);
|
|
})}
|
|
</div>
|
|
|
|
{/* Trust/Disclaimer Section */}
|
|
<div className="border-t border-border/40 py-12 text-center space-y-4">
|
|
<p className="text-sm text-muted-foreground max-w-2xl mx-auto px-4">
|
|
<span className="block font-medium mb-1 text-foreground/80">Transparency Note</span>
|
|
As an Amazon Associate, we earn from qualifying purchases. This helps support the development of QuitTraq at no extra cost to you.
|
|
Always consult with a healthcare professional before starting any new supplement or nicotine replacement therapy.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|