diff --git a/src/static/css/style.css b/src/static/css/style.css index d9c973f..dc4f859 100644 --- a/src/static/css/style.css +++ b/src/static/css/style.css @@ -4841,6 +4841,19 @@ a.map-popup-article:hover { } } +/* Fullscreen */ +.chat-window.fullscreen { + bottom: 0; + right: 0; + left: 0; + top: 0; + width: 100%; + height: 100%; + border-radius: 0; + border: none; + z-index: 10000; +} + /* Light Theme */ [data-theme="light"] .chat-window { box-shadow: 0 8px 32px rgba(0,0,0,0.12); diff --git a/src/static/dashboard.html b/src/static/dashboard.html index 849d203..ff3d583 100644 --- a/src/static/dashboard.html +++ b/src/static/dashboard.html @@ -595,7 +595,10 @@ - + +
diff --git a/src/static/js/chat.js b/src/static/js/chat.js index ccc822d..ff6c54f 100644 --- a/src/static/js/chat.js +++ b/src/static/js/chat.js @@ -6,6 +6,7 @@ const Chat = { _isOpen: false, _isLoading: false, _hasGreeted: false, + _isFullscreen: false, init() { const btn = document.getElementById('chat-toggle-btn'); @@ -21,6 +22,9 @@ const Chat = { const resetBtn = document.getElementById('chat-reset-btn'); if (resetBtn) resetBtn.addEventListener('click', () => this.reset()); + const fsBtn = document.getElementById('chat-fullscreen-btn'); + if (fsBtn) fsBtn.addEventListener('click', () => this.toggleFullscreen()); + form.addEventListener('submit', (e) => { e.preventDefault(); this.send(); @@ -74,8 +78,15 @@ const Chat = { const btn = document.getElementById('chat-toggle-btn'); if (!win) return; win.classList.remove('open'); + win.classList.remove('fullscreen'); btn.classList.remove('active'); this._isOpen = false; + this._isFullscreen = false; + const fsBtn = document.getElementById('chat-fullscreen-btn'); + if (fsBtn) { + fsBtn.title = 'Vollbild'; + fsBtn.innerHTML = ''; + } }, reset() { @@ -88,6 +99,20 @@ const Chat = { this.open(); }, + toggleFullscreen() { + const win = document.getElementById('chat-window'); + const btn = document.getElementById('chat-fullscreen-btn'); + if (!win) return; + this._isFullscreen = !this._isFullscreen; + win.classList.toggle('fullscreen', this._isFullscreen); + if (btn) { + btn.title = this._isFullscreen ? 'Vollbild beenden' : 'Vollbild'; + btn.innerHTML = this._isFullscreen + ? '' + : ''; + } + }, + _updateResetBtn() { const btn = document.getElementById('chat-reset-btn'); if (btn) btn.style.display = this._conversationId ? '' : 'none';