This commit is contained in:
2025-08-17 16:16:12 +01:00
parent 7aac334b55
commit a2604bef11
5 changed files with 74 additions and 75 deletions

View File

@@ -5,6 +5,7 @@ import type { TcgCard } from '@/types/pokemon';
import SetBadge from './SetBadge';
import type { VariantKey, VariantState } from '@/lib/checklist';
import { useUsdGbpRate } from '@/lib/useExchangeRate';
import { dispatchReverseOverride, loadOverridesClient } from '@/lib/overrides';
export default function CardItem({ card, checked, onToggle }:{ card: TcgCard; checked: VariantState; onToggle: (id:string, key: VariantKey)=>void }) {
const rate = useUsdGbpRate();
@@ -42,19 +43,12 @@ export default function CardItem({ card, checked, onToggle }:{ card: TcgCard; ch
React.useEffect(() => {
let cancelled = false;
(async () => {
try {
const res = await fetch('/api/magikarp/override', { cache: 'no-store' });
if (!res.ok) return;
const json = await res.json();
const map = json?.data?.reverseHolofoil || {};
if (!cancelled && map && typeof map === 'object') {
if (map[card.id]) {
setReverseOverride(true);
setReverseRemoved(false);
}
const map = await loadOverridesClient();
if (!cancelled && map && typeof map === 'object') {
if (map[card.id]) {
setReverseOverride(true);
setReverseRemoved(false);
}
} catch {
// ignore
}
})();
return () => { cancelled = true; };
@@ -118,7 +112,7 @@ export default function CardItem({ card, checked, onToggle }:{ card: TcgCard; ch
});
setReverseOverride(true);
// Notify app to recompute availableVariants immediately
try { window.dispatchEvent(new CustomEvent('reverse-override-changed', { detail: { id: card.id, reverse: true } })); } catch {}
dispatchReverseOverride(card.id, true);
} catch {}
}}
>
@@ -142,7 +136,7 @@ export default function CardItem({ card, checked, onToggle }:{ card: TcgCard; ch
setReverseOverride(false);
setReverseRemoved(true);
// Notify app to recompute availableVariants immediately
try { window.dispatchEvent(new CustomEvent('reverse-override-changed', { detail: { id: card.id, reverse: false } })); } catch {}
dispatchReverseOverride(card.id, false);
} catch {}
}}
>