diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 09cc06f..47070e8 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -559,77 +559,88 @@ export default function App() { alignItems: "center", }} > + {/* Slot-Container: bleibt ruhig, Karte darf drüber schauen */}
- {/* Card itself (like a real identity card) */} + {/* Die Karte selbst (kleiner als Container) */}
{ + // einfacher Tilt ohne extra libs + const rect = e.currentTarget.getBoundingClientRect(); + const x = (e.clientX - rect.left) / rect.width; // 0..1 + const y = (e.clientY - rect.top) / rect.height; // 0..1 + const rx = (0.5 - y) * 6; // tilt range + const ry = (x - 0.5) * 8; + + e.currentTarget.style.transform = `translateY(-16px) rotate(-0.6deg) perspective(700px) rotateX(${rx}deg) rotateY(${ry}deg)`; + }} + onMouseLeave={(e) => { + e.currentTarget.style.transform = "translateY(-10px) rotate(-0.6deg)"; + }} + onMouseEnter={(e) => { + e.currentTarget.style.transform = "translateY(-18px) rotate(-0.6deg)"; + e.currentTarget.style.boxShadow = `0 26px 70px rgba(0,0,0,0.62), 0 0 34px ${borderColor}`; }} > - {/* Subtle gloss */} + {/* Image */} + {name} + + {/* Gloss */}
- {/* Image fill */} -
- {name} -
- - {/* Bottom label plate */} + {/* Bottom label glass */}
- {/* Tiny corner stamp */} + {/* Corner tag */}
+ + {/* optional: kleiner Slot-Titel (kannst du löschen) */} +
+ Spielerkarte +
); }; + return (