diff --git a/assets/css/dashboard.css b/assets/css/dashboard.css index 7d4692f..e47213d 100644 --- a/assets/css/dashboard.css +++ b/assets/css/dashboard.css @@ -1868,235 +1868,6 @@ th.sort-desc::after { opacity: 1; } -/* ===== SETTINGS MODAL STYLES - TERMINAL EDITION ===== */ -.settings-modal-backdrop { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.85); - display: flex; - justify-content: center; - align-items: center; - z-index: 1000; -} - -.settings-modal { - background: var(--bg-primary); - border: 3px double var(--terminal-green); - border-radius: 0; - width: 500px; - max-width: 90%; - box-shadow: 0 0 30px rgba(0, 255, 65, 0.3); - padding: 0; - position: relative; - font-family: var(--font-mono); -} - -/* ASCII corners for modal */ -.settings-modal::before { - content: '╔'; - position: absolute; - top: -3px; - left: -3px; - font-size: 1.5rem; - color: var(--terminal-green); - line-height: 1; -} - -.settings-modal::after { - content: '╗'; - position: absolute; - top: -3px; - right: -3px; - font-size: 1.5rem; - color: var(--terminal-green); - line-height: 1; -} - -.settings-modal-header { - display: flex; - justify-content: space-between; - align-items: center; - border-bottom: 2px solid var(--terminal-green); - padding: 15px 20px; - margin: 0; - background: var(--bg-secondary); -} - -.settings-modal-header h2 { - margin: 0; - color: var(--terminal-amber); - text-shadow: var(--glow-amber); - font-family: var(--font-mono); - text-transform: uppercase; -} - -.settings-modal-header h2::before { - content: '═══ '; - color: var(--terminal-green); -} - -.settings-modal-header h2::after { - content: ' ═══'; - color: var(--terminal-green); -} - -.close-modal { - background: none; - border: none; - font-size: 24px; - cursor: pointer; - color: var(--terminal-green); - font-family: var(--font-mono); -} - -.close-modal::before { - content: '['; -} - -.close-modal::after { - content: ']'; -} - -.close-modal:hover { - color: var(--priority-1); - text-shadow: var(--glow-red); -} - -.setting-group { - margin-bottom: 15px; - padding: 0 20px; -} - -.setting-group label { - display: block; - margin-bottom: 8px; - color: var(--terminal-green); - font-family: var(--font-mono); -} - -.setting-group label::before { - content: '> '; - color: var(--terminal-amber); -} - -.setting-group select { - width: 100%; - padding: 10px; - border: 2px solid var(--terminal-green); - border-radius: 0; - background: var(--bg-primary); - color: var(--terminal-green); - font-family: var(--font-mono); -} - -.settings-modal-footer { - display: flex; - justify-content: flex-end; - gap: 10px; - border-top: 2px solid var(--terminal-green); - padding: 15px 20px; - background: var(--bg-secondary); -} - -.save-settings, .cancel-settings { - padding: 10px 20px; - border-radius: 0; - border: 2px solid var(--terminal-green); - background: transparent; - color: var(--terminal-green); - cursor: pointer; - transition: all 0.3s ease; - font-family: var(--font-mono); - font-weight: bold; - text-transform: uppercase; -} - -.save-settings::before, -.cancel-settings::before { - content: '[ '; -} - -.save-settings::after, -.cancel-settings::after { - content: ' ]'; -} - -.save-settings { - color: var(--terminal-amber); - border-color: var(--terminal-amber); -} - -.save-settings:hover, -.cancel-settings:hover { - background: rgba(0, 255, 65, 0.1); - text-shadow: var(--glow-green); -} - -.save-settings { - background: #3b82f6; - color: white; -} - -.cancel-settings { - background: var(--hover-bg); - color: var(--text-primary); -} -/* Bulk Actions Styles (Admin only) */ -.bulk-actions-toolbar { - display: none; - justify-content: space-between; - align-items: center; - padding: 1rem; - background: var(--toolbar-bg, #1a202c); - border: 1px solid var(--toolbar-border, #ffc107); - border-radius: 0; - margin: 1rem 0; -} - -.bulk-actions-info { - font-weight: bold; - color: var(--text-primary, #333); -} - -.bulk-actions-buttons { - display: flex; - gap: 0.5rem; - flex-wrap: wrap; -} - -.btn-bulk { - padding: 0.5rem 1rem; - background: var(--btn-bulk-bg, #007bff); - color: white; - border: none; - border-radius: 0; - cursor: pointer; - font-size: 0.9rem; - transition: background 0.2s ease; -} - -.btn-bulk:hover { - background: var(--btn-bulk-hover, #0056b3); -} - -.btn-secondary { - padding: 0.5rem 1rem; - background: var(--btn-secondary-bg, #6c757d); - color: white; - border: none; - border-radius: 0; - cursor: pointer; - font-size: 0.9rem; - transition: background 0.2s ease; -} - -.btn-secondary:hover { - background: var(--btn-secondary-hover, #5a6268); -} - /* Dark mode bulk actions */ body.dark-mode .bulk-actions-toolbar { --toolbar-bg: #2d3748; @@ -2629,7 +2400,7 @@ body.dark-mode select option { box-shadow: var(--glow-green); } -/* Settings Modal Container */ +/* Settings Modal Container - acts as backdrop */ .settings-modal { position: fixed; top: 0; @@ -2637,27 +2408,20 @@ body.dark-mode select option { width: 100%; height: 100%; z-index: 10000; -} - -.settings-backdrop { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.8); + background: rgba(0, 0, 0, 0.85); backdrop-filter: blur(5px); + display: flex; + align-items: center; + justify-content: center; } .settings-content { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); + position: relative; background: var(--bg-secondary); border: 2px solid var(--terminal-green); box-shadow: 0 0 30px rgba(0, 255, 65, 0.5); max-width: 800px; + width: 90%; max-height: 90vh; overflow-y: auto; font-family: var(--font-mono); @@ -2668,11 +2432,11 @@ body.dark-mode select option { @keyframes settingsSlideIn { from { opacity: 0; - transform: translate(-50%, -60%); + transform: translateY(-30px); } to { opacity: 1; - transform: translate(-50%, -50%); + transform: translateY(0); } } diff --git a/assets/js/dashboard.js b/assets/js/dashboard.js index 4d92b19..9d8d2fb 100644 --- a/assets/js/dashboard.js +++ b/assets/js/dashboard.js @@ -162,79 +162,7 @@ function sortTable(table, column) { rows.forEach(row => tbody.appendChild(row)); } -function createSettingsModal() { - const backdrop = document.createElement('div'); - backdrop.className = 'settings-modal-backdrop'; - backdrop.innerHTML = ` -