let currentView = 'grid'; document.addEventListener('DOMContentLoaded', function() { // Add event listener for the empty trash button const emptyTrashBtn = document.getElementById('emptyTrashBtn'); if (emptyTrashBtn) { emptyTrashBtn.addEventListener('click', function(e) { e.preventDefault(); showEmptyTrashModal(); }); } // Add event listener for the confirm empty trash button const confirmEmptyTrashBtn = document.getElementById('confirmEmptyTrash'); if (confirmEmptyTrashBtn) { confirmEmptyTrashBtn.addEventListener('click', emptyTrash); } // Initialize view initializeView(); }); async function initializeView() { try { const response = await fetch('/api/user/preferred_view'); const data = await response.json(); currentView = data.preferred_view || 'grid'; toggleView(currentView); } catch (error) { console.error('Error fetching preferred view:', error); currentView = 'grid'; toggleView(currentView); } } function toggleView(view) { currentView = view; const grid = document.getElementById('fileGrid'); const gridBtn = document.getElementById('gridViewBtn'); const listBtn = document.getElementById('listViewBtn'); // Reset both buttons first gridBtn.classList.remove('active'); listBtn.classList.remove('active'); if (view === 'grid') { grid.classList.remove('list-view'); gridBtn.classList.add('active'); } else { grid.classList.add('list-view'); listBtn.classList.add('active'); } // Save the new preference fetch('/api/user/preferred_view', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': document.querySelector('meta[name="csrf-token"]').getAttribute('content') }, body: JSON.stringify({ preferred_view: view }) }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { console.log('Preferred view saved:', data); }) .catch(error => console.error('Error saving preferred view:', error)); }