@@ -5,6 +5,7 @@ import Link from "next/link";
55import Image from "next/image" ;
66import { ArrowLeft , Sparkles , RefreshCw , Brain , Loader2 } from "lucide-react" ;
77import { useTranslation , useLocale } from "@/lib/i18n" ;
8+ import { useAIStatus } from "@/hooks/useAIStatus" ;
89
910interface RecommendedComic {
1011 id : string ;
@@ -21,6 +22,7 @@ interface RecommendedComic {
2122export default function RecommendationsPage ( ) {
2223 const t = useTranslation ( ) ;
2324 const locale = useLocale ( ) ;
25+ const { aiConfigured } = useAIStatus ( ) ;
2426 const [ recommendations , setRecommendations ] = useState < RecommendedComic [ ] > ( [ ] ) ;
2527 const [ loading , setLoading ] = useState ( true ) ;
2628 const [ aiReasonsLoading , setAiReasonsLoading ] = useState ( false ) ;
@@ -99,14 +101,16 @@ export default function RecommendationsPage() {
99101 </ h1 >
100102 </ div >
101103 < div className = "flex-1" />
102- < button
103- onClick = { fetchAiReasons }
104- disabled = { aiReasonsLoading || recommendations . length === 0 }
105- className = "flex items-center gap-1.5 rounded-lg bg-purple-500/10 px-3 py-1.5 text-sm text-purple-400 transition-colors hover:bg-purple-500/20 disabled:opacity-50"
106- >
107- { aiReasonsLoading ? < Loader2 className = "h-4 w-4 animate-spin" /> : < Brain className = "h-4 w-4" /> }
108- { t . recommend ?. aiReasonGenerate || "AI Reasons" }
109- </ button >
104+ { aiConfigured && (
105+ < button
106+ onClick = { fetchAiReasons }
107+ disabled = { aiReasonsLoading || recommendations . length === 0 }
108+ className = "flex items-center gap-1.5 rounded-lg bg-purple-500/10 px-3 py-1.5 text-sm text-purple-400 transition-colors hover:bg-purple-500/20 disabled:opacity-50"
109+ >
110+ { aiReasonsLoading ? < Loader2 className = "h-4 w-4 animate-spin" /> : < Brain className = "h-4 w-4" /> }
111+ { t . recommend ?. aiReasonGenerate || "AI Reasons" }
112+ </ button >
113+ ) }
110114 < button
111115 onClick = { fetchRecommendations }
112116 disabled = { loading }
0 commit comments