diff --git a/src/pages/tarot/Reading.jsx b/src/pages/tarot/Reading.jsx index f95a575..0d18737 100644 --- a/src/pages/tarot/Reading.jsx +++ b/src/pages/tarot/Reading.jsx @@ -53,19 +53,21 @@ export default function Reading() { const spread = SPREADS[spreadId]; const { slice, reshuffle } = useTarotShuffle(TAROT_DECK, 20); - const { status, interpretation, runInterpretAndSave, error } = useTarotReading(); + const { status, interpretation, runInterpretAndSave, error, reset } = useTarotReading(); const startShuffle = () => { reshuffle(); setPicks([]); setFocusIdx(null); setStep(1); + reset(); }; const openCardSpread = () => { setPicks([]); setFocusIdx(null); setStep(2); + reset(); }; const handlePick = (card = null) => { @@ -92,6 +94,7 @@ export default function Reading() { const restart = () => { setStep(1); setPicks([]); setFocusIdx(null); + reset(); }; const resetCards = () => { @@ -99,6 +102,7 @@ export default function Reading() { setPicks([]); setFocusIdx(null); setStep(1); + reset(); }; const changeSpread = (nextSpreadId) => { @@ -107,6 +111,7 @@ export default function Reading() { setFocusIdx(null); setStep(1); reshuffle(); + reset(); }; const disabledIds = picks.map((p) => p.card.slug); diff --git a/src/pages/tarot/components/InterpretationPanel.jsx b/src/pages/tarot/components/InterpretationPanel.jsx index 59f8db7..54bbb6a 100644 --- a/src/pages/tarot/components/InterpretationPanel.jsx +++ b/src/pages/tarot/components/InterpretationPanel.jsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; function ConfidenceBadge({ level }) { if (!level) return null; @@ -14,15 +14,36 @@ export default function InterpretationPanel({ selectedPosition, selectedReversed = false, }) { + const [activeTab, setActiveTab] = useState('card'); const [showEvidence, setShowEvidence] = useState(true); + useEffect(() => { + setActiveTab(interpretation ? 'ai' : 'card'); + }, [interpretation]); + + const hasAI = !!interpretation; + + const renderTabs = () => ( +
+ + +
+ ); + if (!interpretation && !selectedCard) { return (