refactor
This commit is contained in:
@@ -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 {}
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user