+
🎲 Würfelproben
+
+ {!isAvailable && (
+
+ ⚠️ TaleSpire Dice API nicht verfügbar - Development Mode aktiv
+
+ )}
+
+ {/* Modifikator */}
+
+
+ setModifier(parseInt(e.target.value) || 0)}
+ min="-10"
+ max="10"
+ className="modifier-input"
+ />
+
+
+ {/* Letztes Ergebnis */}
+ {lastResult && (
+
+
Letztes Ergebnis:
+
+
Würfel: {lastResult.dice?.join(', ')}
+ {lastResult.type === 'initiative' ? (
+
Initiative: {lastResult.total}
+ ) : (
+ <>
+
{lastResult.success ? '✅ Erfolg' : '❌ Fehlschlag'}
+ {lastResult.success && (
+
Qualitätsstufe: {lastResult.qualityLevel}
+ )}
+ >
+ )}
+
+
+ )}
+
+ {/* Eigenschaften */}
+
+
Eigenschaftsproben
+
+ {Object.entries(character.attributes).map(([key, value]) => (
+
+ ))}
+
+
+
+ {/* Fertigkeiten */}
+ {Object.keys(character.skills).length > 0 && (
+
+
Fertigkeitsproben
+
+ {Object.values(character.skills).slice(0, 6).map((skill) => (
+
+ ))}
+
+
+ )}
+
+ {/* Zauberproben */}
+ {Object.keys(character.spells).length > 0 && (
+
+
Zauberproben
+
+ {Object.values(character.spells).slice(0, 4).map((spell) => (
+
+ ))}
+
+
+ )}
+
+ {/* Kampf */}
+
+
Kampfwürfe
+
+
+
+
+
+
+ );
+};
+
+export default DSADiceRoller;
\ No newline at end of file
diff --git a/src/components/Spells.tsx b/src/components/Spells.tsx
index 37620b2..65533d6 100644
--- a/src/components/Spells.tsx
+++ b/src/components/Spells.tsx
@@ -1,5 +1,5 @@
-import React, { useState } from 'react';
-import type { DSACharacter, DSASpell, DSAAttributes } from '../types/character';
+import React from 'react';
+import type { DSACharacter, DSASpell} from '../types/character';
interface SpellsProps {
character: DSACharacter;
@@ -7,19 +7,19 @@ interface SpellsProps {
}
const Spells: React.FC