+6
templates/status.html
+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);