diff --git a/src/components/CardSearch.tsx b/src/components/CardSearch.tsx index 41a57f5..66269e8 100644 --- a/src/components/CardSearch.tsx +++ b/src/components/CardSearch.tsx @@ -617,79 +617,147 @@ const CardSearch = () => { )} {searchResults && searchResults.length > 0 && ( -
- {searchResults.map((card) => { - const currentFaceIndex = getCurrentFaceIndex(card.id); - const isMultiFaced = isDoubleFaced(card); - const inCollection = userCollection.get(card.id) || 0; - const isAddingThisCard = addingCardId === card.id; + <> + {/* Mobile: Horizontal list layout */} +
+ {searchResults.map((card) => { + const currentFaceIndex = getCurrentFaceIndex(card.id); + const isMultiFaced = isDoubleFaced(card); + const inCollection = userCollection.get(card.id) || 0; + const isAddingThisCard = addingCardId === card.id; - const displayName = isMultiFaced && card.card_faces - ? card.card_faces[currentFaceIndex]?.name || card.name - : card.name; + const displayName = isMultiFaced && card.card_faces + ? card.card_faces[currentFaceIndex]?.name || card.name + : card.name; - return ( -
-
- {getCardImageUri(card, currentFaceIndex) ? ( + return ( +
+ {/* Card image */} +
{displayName} - ) : ( - - )} - {isMultiFaced && ( - - )} - {inCollection > 0 && ( - - - x{inCollection} - - )} -
-
-

{displayName}

-

- {isMultiFaced && card.card_faces - ? card.card_faces[currentFaceIndex]?.type_line || card.type_line - : card.type_line} -

- {card.prices?.usd && ( -
${card.prices.usd}
- )} - )} - +
+ {/* Info */} +
+

{displayName}

+
+ {card.prices?.usd && ${card.prices.usd}} + {inCollection > 0 && ( + + + x{inCollection} + + )} +
+
+ {/* Action button */} +
+ +
-
- ); - })} -
+ ); + })} +
+ + {/* Desktop: Grid layout */} +
+ {searchResults.map((card) => { + const currentFaceIndex = getCurrentFaceIndex(card.id); + const isMultiFaced = isDoubleFaced(card); + const inCollection = userCollection.get(card.id) || 0; + const isAddingThisCard = addingCardId === card.id; + + const displayName = isMultiFaced && card.card_faces + ? card.card_faces[currentFaceIndex]?.name || card.name + : card.name; + + return ( +
+
+ {getCardImageUri(card, currentFaceIndex) ? ( + {displayName} + ) : ( + + )} + {isMultiFaced && ( + + )} + {inCollection > 0 && ( + + + x{inCollection} + + )} +
+
+

{displayName}

+

+ {isMultiFaced && card.card_faces + ? card.card_faces[currentFaceIndex]?.type_line || card.type_line + : card.type_line} +

+ {card.prices?.usd && ( +
${card.prices.usd}
+ )} + +
+
+ ); + })} +
+ )}