slack status without the slack status.zzstoatzz.io/
quickslice

debug: Add console logging to track modal close issue

Changed files
+6
templates
+6
templates/status.html
··· 2165 }; 2166 2167 const closeEmojiPicker = () => { 2168 if (!emojiPickerOverlay) return; 2169 emojiPickerOverlay.classList.add('hidden'); 2170 emojiPickerOverlay.setAttribute('aria-hidden', 'true'); ··· 2211 2212 if (emojiPickerOverlay) { 2213 emojiPickerOverlay.addEventListener('click', (e) => { 2214 // Only close if clicking the overlay itself, not the picker content 2215 if (e.target === emojiPickerOverlay) { 2216 closeEmojiPicker(); 2217 } 2218 }); ··· 2401 2402 if (emojiGrid) { 2403 emojiGrid.addEventListener('click', (e) => { 2404 const button = e.target.closest('.emoji-option'); 2405 if (!button || !emojiGrid.contains(button)) return; 2406 e.preventDefault(); 2407 applyEmojiSelection(button);
··· 2165 }; 2166 2167 const closeEmojiPicker = () => { 2168 + console.log('closeEmojiPicker called'); 2169 + console.trace(); 2170 if (!emojiPickerOverlay) return; 2171 emojiPickerOverlay.classList.add('hidden'); 2172 emojiPickerOverlay.setAttribute('aria-hidden', 'true'); ··· 2213 2214 if (emojiPickerOverlay) { 2215 emojiPickerOverlay.addEventListener('click', (e) => { 2216 + console.log('Overlay click handler:', e.target, e.target === emojiPickerOverlay); 2217 // Only close if clicking the overlay itself, not the picker content 2218 if (e.target === emojiPickerOverlay) { 2219 + console.log('Closing from overlay click'); 2220 closeEmojiPicker(); 2221 } 2222 }); ··· 2405 2406 if (emojiGrid) { 2407 emojiGrid.addEventListener('click', (e) => { 2408 + console.log('EmojiGrid click:', e.target); 2409 const button = e.target.closest('.emoji-option'); 2410 + console.log('Found button:', button); 2411 if (!button || !emojiGrid.contains(button)) return; 2412 e.preventDefault(); 2413 applyEmojiSelection(button);