diff --git a/public/mana-color/forest.png b/public/mana-color/forest.png
new file mode 100644
index 0000000..59b42bd
Binary files /dev/null and b/public/mana-color/forest.png differ
diff --git a/public/mana-color/island.png b/public/mana-color/island.png
new file mode 100644
index 0000000..1851529
Binary files /dev/null and b/public/mana-color/island.png differ
diff --git a/public/mana-color/moutain.png b/public/mana-color/moutain.png
new file mode 100644
index 0000000..216df6a
Binary files /dev/null and b/public/mana-color/moutain.png differ
diff --git a/public/mana-color/plains.png b/public/mana-color/plains.png
new file mode 100644
index 0000000..2b7650d
Binary files /dev/null and b/public/mana-color/plains.png differ
diff --git a/public/mana-color/swamp.png b/public/mana-color/swamp.png
new file mode 100644
index 0000000..ea51d4a
Binary files /dev/null and b/public/mana-color/swamp.png differ
diff --git a/src/components/CardSearch.tsx b/src/components/CardSearch.tsx
index 5552e73..7ea18dc 100644
--- a/src/components/CardSearch.tsx
+++ b/src/components/CardSearch.tsx
@@ -4,6 +4,7 @@ import { searchCards, getUserCollection, addCardToCollection } from '../services
import { Card } from '../types';
import { useAuth } from '../contexts/AuthContext';
import MagicCard from './MagicCard';
+import { getManaIconPath } from './ManaCost';
const CardSearch = () => {
const { user } = useAuth();
@@ -296,20 +297,27 @@ const CardSearch = () => {
{/* Mana Cost */}
- {Object.entries(manaCost).map(([color, count]) => (
-
-
- {color === 'W' ? '⚪' : color === 'U' ? '🔵' : color === 'B' ? '⚫' : color === 'R' ? '🔴' : color === 'G' ? '🟢' : '🟤'}
-
- setManaCost({ ...manaCost, [color]: parseInt(e.target.value) })}
- className="w-14 sm:w-16 px-2 py-2 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-white"
- min="0"
- />
-
- ))}
+ {Object.entries(manaCost).map(([color, count]) => {
+ const iconPath = getManaIconPath(color);
+ return (
+
+ {iconPath ? (
+

+ ) : (
+
+ {color}
+
+ )}
+
setManaCost({ ...manaCost, [color]: parseInt(e.target.value) })}
+ className="w-14 sm:w-16 px-2 py-2 bg-gray-800 border border-gray-700 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent text-white"
+ min="0"
+ />
+
+ );
+ })}
{/* Stats */}
diff --git a/src/components/DeckManager.tsx b/src/components/DeckManager.tsx
index 661a702..eeb15ef 100644
--- a/src/components/DeckManager.tsx
+++ b/src/components/DeckManager.tsx
@@ -6,6 +6,7 @@ import { useAuth } from '../contexts/AuthContext';
import { supabase } from '../lib/supabase';
import { validateDeck } from '../utils/deckValidation';
import MagicCard from './MagicCard';
+import { ManaCost } from './ManaCost';
interface DeckManagerProps {
initialDeck?: Deck;
@@ -580,7 +581,7 @@ export default function DeckManager({ initialDeck, onSave }: DeckManagerProps) {
{displayName}
{card.mana_cost && (
-
{card.mana_cost}
+
)}
{card.prices?.usd && (
${card.prices.usd}
@@ -729,110 +730,43 @@ export default function DeckManager({ initialDeck, onSave }: DeckManagerProps) {
Cards ({selectedCards.reduce((acc, curr) => acc + curr.quantity, 0)})
- {!isLoadingCollection && getMissingCards().length > 0 && (
-
-
-
{getMissingCards().length} missing
-
- )}
- {!isLoadingCollection && getMissingCards().length > 0 && (
-