// Debounce function function debounce(func, wait) { let timeout; return function(...args) { clearTimeout(timeout); timeout = setTimeout(() => func.apply(this, args), wait); }; } document.addEventListener('DOMContentLoaded', function() { const searchInput = document.getElementById('conversationSearchInput'); const form = document.getElementById('conversationFilterForm'); if (searchInput && form) { searchInput.addEventListener('input', debounce(function() { form.submit(); }, 300)); } // Clear button logic const clearBtn = document.getElementById('clearConversationsFilter'); if (clearBtn && searchInput) { clearBtn.addEventListener('click', function() { searchInput.value = ''; form.submit(); }); } });