From f7730df3ec4bd3f0e19630fde5958f47500afea2 Mon Sep 17 00:00:00 2001 From: nessi Date: Sat, 7 Feb 2026 12:54:04 +0100 Subject: [PATCH] Enhance card UI with improved styles and hover effects Adjusted styling for better visuals and responsiveness, including background, shadows, and dimensions. Added interactive hover effects for a dynamic user experience and refined card elements like gloss, label, and tag designs. --- frontend/src/App.jsx | 126 ++++++++++++++++++++++++++----------------- 1 file changed, 77 insertions(+), 49 deletions(-) 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 (