From 75c344f3af915a34fff7434f66be8aee1f57b7c5 Mon Sep 17 00:00:00 2001 From: nessi Date: Tue, 3 Feb 2026 10:04:09 +0100 Subject: [PATCH] Add password visibility toggle and candle glow effect Introduced a toggle button to reveal or hide the password field for better user experience. Additionally, added a candle glow animation and background layer styling for a more immersive visual appearance. Minor refactoring of related styles was also performed. --- frontend/src/App.jsx | 79 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 65 insertions(+), 14 deletions(-) diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx index 060656f..78acf67 100644 --- a/frontend/src/App.jsx +++ b/frontend/src/App.jsx @@ -138,8 +138,9 @@ function AdminPanel() { export default function App() { const [me, setMe] = useState(null); - const [loginEmail, setLoginEmail] = useState("admin@local"); + const [loginEmail, setLoginEmail] = useState(""); const [loginPassword, setLoginPassword] = useState(""); + const [showPw, setShowPw] = useState(false); const [games, setGames] = useState([]); const [gameId, setGameId] = useState(null); const [sheet, setSheet] = useState(null); @@ -166,6 +167,14 @@ export default function App() { @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes popIn { from { opacity: 0; transform: translateY(8px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes rowPulse { 0%{ transform: scale(1); } 50%{ transform: scale(1.01); } 100%{ transform: scale(1); } } + + /* Candle / warm glow */ + @keyframes candleGlow { + 0% { opacity: .65; transform: translateY(0px) scale(1); filter: blur(16px); } + 35% { opacity: .85; transform: translateY(-2px) scale(1.02); filter: blur(18px); } + 70% { opacity: .70; transform: translateY(1px) scale(1.01); filter: blur(17px); } + 100% { opacity: .65; transform: translateY(0px) scale(1); filter: blur(16px); } + } `; document.head.appendChild(style); }, []); @@ -286,6 +295,7 @@ export default function App() { if (!me) { return (
+