find issue import cards

This commit is contained in:
matthieur
2025-03-06 11:43:32 +01:00
parent 217f1b662f
commit 2ffa49b8f0
5 changed files with 20 additions and 11 deletions

View File

@@ -9,6 +9,12 @@ interface DeckCardProps {
}
export default function DeckCard({ deck, onEdit }: DeckCardProps) {
if(deck.id === "410ed539-a8f4-4bc4-91f1-6c113b9b7e25"){
console.log("deck", deck.name);
console.log("cardEntities", deck.cards);
}
const validation = validateDeck(deck);
const commander = deck.format === 'commander' ? deck.cards.find(card =>
card.is_commander

View File

@@ -27,10 +27,7 @@ const DeckList = ({ onDeckEdit }: DeckListProps) => {
.select('*')
.eq('deck_id', deck.id);
if(deck.id === "410ed539-a8f4-4bc4-91f1-6c113b9b7e25"){
console.log("deck", deck.name);
console.log("cardEntities", cardEntities);
}
if (cardsError) {
console.error(`Error fetching cards for deck ${deck.id}:`, cardsError);
@@ -40,7 +37,11 @@ const DeckList = ({ onDeckEdit }: DeckListProps) => {
const cardIds = cardEntities.map((entity) => entity.card_id);
const uniqueCardIds = [...new Set(cardIds)];
console.log("uniqueCardIds", uniqueCardIds);
if(deck.id === "410ed539-a8f4-4bc4-91f1-6c113b9b7e25"){
console.log("uniqueCardIds", uniqueCardIds);
}
try {
const scryfallCards = await getCardsByIds(uniqueCardIds);

View File

@@ -110,10 +110,11 @@ export default function DeckManager({ initialDeck, onSave }: DeckManagerProps) {
const [deckName, setDeckName] = useState(initialDeck?.name || '');
const [deckFormat, setDeckFormat] = useState(initialDeck?.format || 'standard');
const [commander, setCommander] = useState<Card | null>(
initialDeck?.cards.find(c =>
c.card.type_line?.toLowerCase().includes('legendary creature')
)?.card || null
initialDeck?.cards.find(card =>
card.is_commander
)?.card || null
);
const { user } = useAuth();
const [isImporting, setIsImporting] = useState(false);
const [isSaving, setIsSaving] = useState(false);
@@ -449,7 +450,7 @@ export default function DeckManager({ initialDeck, onSave }: DeckManagerProps) {
<option value="">Select Commander</option>
{selectedCards
.filter(c =>
c.card.type_line?.toLowerCase().includes('legendary creature')
c.card.type_line?.toLowerCase().includes('legendary')
)
.map(({ card }) => (
<option key={card.id} value={card.id}>

View File

@@ -24,6 +24,8 @@ export const getCardById = async (cardId: string): Promise<Card> => {
};
export const getCardsByIds = async (cardIds: string[]): Promise<Card[]> => {
//75 cards per request max
const response = await fetch(`${SCRYFALL_API}/cards/collection`, {
method: 'POST',
headers: {

View File

@@ -40,7 +40,6 @@ const FORMAT_RULES = {
};
export function validateDeck(deck: Deck): DeckValidation {
console.log("deck in validator", deck);
const rules = FORMAT_RULES[deck.format as keyof typeof FORMAT_RULES];
const errors: string[] = [];
@@ -61,7 +60,7 @@ export function validateDeck(deck: Deck): DeckValidation {
const cardCounts = new Map<string, number>();
for (const element of deck.cards) {
const {card, quantity} = element;
console.log("card", card);
//console.log("card", card);
const currentCount = cardCounts.get(card.id) || 0;
cardCounts.set(card.id, currentCount + quantity);
}