From 68898cb8cd8579d92a6091515ff4f3c7d9db29b6 Mon Sep 17 00:00:00 2001 From: Avery Felts Date: Tue, 27 Jan 2026 08:41:14 -0700 Subject: [PATCH] feat: Add Smoking Aids page with Amazon affiliate products and update navigation --- next.config.ts | 9 ++- prisma.config.ts | 14 ++++ src/app/smoking-aids/page.tsx | 147 ++++++++++++++++++++++++++++++++++ src/components/UserHeader.tsx | 7 +- 4 files changed, 175 insertions(+), 2 deletions(-) create mode 100644 prisma.config.ts create mode 100644 src/app/smoking-aids/page.tsx diff --git a/next.config.ts b/next.config.ts index fc503f4..26e9cae 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,7 +1,14 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - // No special configuration needed - using native D1 API + images: { + remotePatterns: [ + { + protocol: 'https', + hostname: 'm.media-amazon.com', + }, + ], + }, }; export default nextConfig; diff --git a/prisma.config.ts b/prisma.config.ts new file mode 100644 index 0000000..831a20f --- /dev/null +++ b/prisma.config.ts @@ -0,0 +1,14 @@ +// This file was generated by Prisma, and assumes you have installed the following: +// npm install --save-dev prisma dotenv +import "dotenv/config"; +import { defineConfig } from "prisma/config"; + +export default defineConfig({ + schema: "prisma/schema.prisma", + migrations: { + path: "prisma/migrations", + }, + datasource: { + url: process.env["DATABASE_URL"], + }, +}); diff --git a/src/app/smoking-aids/page.tsx b/src/app/smoking-aids/page.tsx new file mode 100644 index 0000000..d88ac3b --- /dev/null +++ b/src/app/smoking-aids/page.tsx @@ -0,0 +1,147 @@ +'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 } from 'lucide-react'; +import Image from 'next/image'; +import { useTheme } from '@/lib/theme-context'; + +const smokingAids = [ + { + id: 'breathing-necklace', + title: '528Hz Anxiety Relief Breathing Necklace', + description: 'A 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', + bgColor: 'bg-sky-500/10', + buttonColor: 'bg-sky-500 hover:bg-sky-600', + }, + { + id: 'nicotine-lozenge', + title: 'Nicotine Polacrilex Lozenge (2mg, Cherry)', + 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-red-400', + bgColor: 'bg-red-500/10', + buttonColor: 'bg-red-500 hover:bg-red-600', + }, + { + id: 'recovery-complex', + title: 'QuitK Recovery Complex', + 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-purple-400', + bgColor: 'bg-purple-500/10', + buttonColor: 'bg-purple-500 hover:bg-purple-600', + }, + { + id: 'mullein-tea', + title: 'Tarbust Mullein Tea for Lung Detox', + 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-green-400', + bgColor: 'bg-green-500/10', + buttonColor: 'bg-green-500 hover:bg-green-600', + }, +]; + +export default function SmokingAidsPage() { + const { theme } = useTheme(); + + return ( +
+ {/* Header Section */} +
+

+ Tools for Your Journey +

+

+ Quitting is hard, but you don't have to do it alone. We've curated a selection of aids that can support your physical and mental recovery process. +

+
+ + {/* Grid Section */} +
+ {smokingAids.map((item) => ( +
+ +
+
+
+ {item.title} +
+
+ +
+
+ + + + {item.title} + + + {item.description} + + + + +
+

+ Why it helps: + {item.benefit} +

+
+
+ + + + + +
+ ))} +
+ + {/* Disclaimer */} +
+

+ Disclaimer: As an Amazon Associate, we earn from qualifying purchases. This comes at no extra cost to you and helps support the development of QuitTraq. + Please consult with a healthcare professional before starting any new supplement or nicotine replacement therapy. +

+
+
+ ); +} diff --git a/src/components/UserHeader.tsx b/src/components/UserHeader.tsx index 60ef08e..ccd7a69 100644 --- a/src/components/UserHeader.tsx +++ b/src/components/UserHeader.tsx @@ -22,7 +22,7 @@ import { fetchPreferences, fetchReminderSettings, saveReminderSettings, Reminder import { useNotifications } from '@/hooks/useNotifications'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; -import { Cigarette, Leaf, LogOut, Home, ChevronDown, Sun, Moon, Bell, BellOff, BellRing, Menu } from 'lucide-react'; +import { Cigarette, Leaf, LogOut, Home, ChevronDown, Sun, Moon, Bell, BellOff, BellRing, Menu, Sparkles } from 'lucide-react'; import { useTheme } from '@/lib/theme-context'; import { InstallAppButton } from './InstallAppButton'; @@ -186,6 +186,11 @@ export function UserHeader({ user, preferences }: UserHeaderProps) { Track Marijuana Usage + + handleNavigate('/smoking-aids')}> + + Smoking Aids +