/** * DashCaddy Keyboard Shortcuts System * Provides global keyboard shortcuts for improved navigation */ (function() { 'use strict'; // All modal selectors that can be closed with Escape const MODAL_SELECTORS = [ '#app-selector-modal', '#app-deploy-modal', '#weather-modal', '#token-management-modal', '#service-edit-modal', '#notifications-modal', '#backup-modal', '#stats-modal', '#arr-setup-modal', '#add-service-modal', '#error-log-modal', '#logs-modal', '#dns-template-modal' ]; // Quick search state let quickSearchModal = null; let quickSearchInput = null; let quickSearchResults = null; /** * Initialize the keyboard shortcuts system */ function init() { try { // Create quick search modal createQuickSearchModal(); // Add global keyboard listener document.addEventListener('keydown', handleKeyDown); console.log('[Keyboard Shortcuts] Initialized'); console.log('[Keyboard Shortcuts] Press Ctrl+K to open quick search'); console.log('[Keyboard Shortcuts] Press Escape to close modals'); } catch (e) { console.warn('[Keyboard Shortcuts] Failed to initialize:', e.message); } } /** * Create the quick search modal */ function createQuickSearchModal() { quickSearchModal = document.createElement('div'); quickSearchModal.id = 'quick-search-modal'; quickSearchModal.className = 'quick-search-modal'; quickSearchModal.innerHTML = `