From cea0e8c2beaaccecd2265f1f278ba9cc31e883a2 Mon Sep 17 00:00:00 2001 From: cottongin Date: Sun, 23 Aug 2026 17:10:35 -0400 Subject: [PATCH] feat: add sticker visibility toggle UI with pulse animation Co-authored-by: Cursor --- frontend/src/pages/Picker.jsx | 48 +++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/frontend/src/pages/Picker.jsx b/frontend/src/pages/Picker.jsx index b0263fa..3d68001 100644 --- a/frontend/src/pages/Picker.jsx +++ b/frontend/src/pages/Picker.jsx @@ -34,6 +34,16 @@ function Picker() { const [sessionEnded, setSessionEnded] = useState(false); const [stickerMode, setStickerMode] = useState('auto'); const stickerSendRef = useRef(null); + const [stickerPulse, setStickerPulse] = useState(false); + const prevStickerModeRef = useRef(stickerMode); + useEffect(() => { + if (stickerMode === 'auto' && prevStickerModeRef.current !== 'auto') { + setStickerPulse(true); + const timer = setTimeout(() => setStickerPulse(false), 2000); + return () => clearTimeout(timer); + } + prevStickerModeRef.current = stickerMode; + }, [stickerMode]); // Filters const [playerCount, setPlayerCount] = useState(''); @@ -874,6 +884,44 @@ function Picker() { )} + {/* Sticker Visibility Toggle */} +
+ Stickers +
+ {[ + { value: 'auto', label: 'Auto', activeClass: 'bg-gray-500 text-white' }, + { value: 'show', label: 'Show', activeClass: 'bg-green-500 text-white' }, + { value: 'hide', label: 'Hide', activeClass: 'bg-red-500 text-white' }, + ].map((opt, i) => ( + + ))} +
+
+ {/* Poll Leader Indicator */} {leadingGame && (