MicroSale POS Systems

Big Things are Coming

[ Enhancing Performance, Usability, and Flexibility for MicroSale Users. ]
MicroSale Updates

MicroSale Updates

' : ''}
${new Date(update.date).getDate()}
${getCategoryName(update.category)} ${update.subcategory ? ` ${update.subcategory} ` : ''} ${formatDate(update.date)} ${update.version ? ` ${update.version} ` : ''}
${update.isNew ? ` NEW ` : ''} ${update.teamUpdate ? ` TEAM ` : ''}

${update.title}

${update.description}

`; updatesContainer.appendChild(updateElement); }); } // Event listeners categoryButtons.forEach(button => { button.addEventListener('click', () => { // Update active class categoryButtons.forEach(btn => { btn.classList.remove('bg-blue-500', 'text-white', 'shadow-lg', 'shadow-blue-500/20', 'scale-105'); btn.classList.add('text-gray-700', 'hover:bg-gray-100'); }); button.classList.remove('text-gray-700', 'hover:bg-gray-100'); button.classList.add('bg-blue-500', 'text-white', 'shadow-lg', 'shadow-blue-500/20', 'scale-105'); // Update category filter activeCategory = button.getAttribute('data-category'); // Apply filters filterUpdates(); // Close sidebar on mobile if (window.innerWidth < 768) { sidebar.classList.remove('show'); } }); }); searchInput.addEventListener('input', () => { searchQuery = searchInput.value.trim(); filterUpdates(); }); toggleFiltersBtn.addEventListener('click', () => { sidebar.classList.toggle('show'); }); // Initial render document.addEventListener('DOMContentLoaded', () => { filterUpdates(); });