{
"event": "PreToolUse",
"tool_name": "Read",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/chat\/index.php",
"offset": 348,
"limit": 100
}
}
{
"tool_response": {
"type": "text",
"file": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/src\/View\/chat\/index.php",
"content": "\n<script>\nconst sidebar = document.getElementById('sidebar');\nconst overlay = document.getElementById('overlay');\nconst toggle = document.getElementById('toggle');\nconst messages = document.getElementById('messages');\nconst form = document.getElementById('chatForm');\nconst sendBtn = document.getElementById('sendBtn');\nconst settingsAdvanced = document.getElementById('settingsAdvanced');\nconst settingsToggle = document.getElementById('settingsToggle');\nconst themeToggle = document.getElementById('themeToggle');\nconst themeIcon = document.getElementById('themeIcon');\nconst html = document.documentElement;\nconst exportDropdown = document.getElementById('exportDropdown');\nconst exportBtn = document.getElementById('exportBtn');\nconst collectionsSelect = document.getElementById('collectionsSelect');\nconst modelSelect = document.querySelector('select[name=\"model\"]');\n\n\/\/ Model preference (global)\nconst savedModel = localStorage.getItem('chat-model');\nif (savedModel && modelSelect) {\n const option = modelSelect.querySelector('option[value=\"' + savedModel + '\"]');\n if (option) {\n modelSelect.value = savedModel;\n }\n}\nif (modelSelect) {\n modelSelect.addEventListener('change', () => {\n localStorage.setItem('chat-model', modelSelect.value);\n });\n}\n\n\/\/ Theme\nconst savedTheme = localStorage.getItem('chat-theme') || 'light';\nhtml.setAttribute('data-theme', savedTheme);\nthemeIcon.textContent = savedTheme === 'dark' ? '☀' : '☽';\n\nthemeToggle.addEventListener('click', () => {\n const current = html.getAttribute('data-theme');\n const next = current === 'dark' ? 'light' : 'dark';\n html.setAttribute('data-theme', next);\n localStorage.setItem('chat-theme', next);\n themeIcon.textContent = next === 'dark' ? '☀' : '☽';\n});\n\n\/\/ Sidebar Toggle\ntoggle.addEventListener('click', (e) => {\n e.stopPropagation();\n sidebar.classList.toggle('chat-sidebar--open');\n overlay.classList.toggle('chat-overlay--visible');\n});\n\noverlay.addEventListener('click', () => {\n sidebar.classList.remove('chat-sidebar--open');\n overlay.classList.remove('chat-overlay--visible');\n});\n\n\/\/ Export Dropdown\nexportBtn.addEventListener('click', (e) => {\n e.stopPropagation();\n exportDropdown.classList.toggle('chat-dropdown--open');\n});\n\ndocument.addEventListener('click', (e) => {\n if (!exportDropdown.contains(e.target)) {\n exportDropdown.classList.remove('chat-dropdown--open');\n }\n});\n\n\/\/ Settings Toggle\nsettingsToggle.addEventListener('click', () => {\n settingsAdvanced.classList.toggle('chat-settings--hidden');\n settingsToggle.textContent = settingsAdvanced.classList.contains('chat-settings--hidden') ? 'Mehr' : 'Weniger';\n});\n\n\/\/ Temperature Slider\nconst tempSlider = document.getElementById('temperature');\nconst tempValue = document.getElementById('tempValue');\ntempSlider.addEventListener('input', () => {\n tempValue.textContent = parseFloat(tempSlider.value).toFixed(1);\n updatePresetHighlight();\n});\n\n\/\/ Update preset highlight based on current temp\nfunction updatePresetHighlight() {\n const currentTemp = parseFloat(tempSlider.value);\n document.querySelectorAll('.chat-preset').forEach(btn => {\n const btnTemp = parseFloat(btn.dataset.temp);\n btn.classList.toggle('chat-preset--active', Math.abs(btnTemp - currentTemp) < 0.05);\n });\n}\n\n\/\/ Presets\ndocument.querySelectorAll('.chat-preset').forEach(btn => {\n btn.addEventListener('click', () => {\n const temp = btn.dataset.temp;\n const tokens = btn.dataset.tokens;\n tempSlider.value = temp;\n tempValue.textContent = parseFloat(temp).toFixed(1);\n document.querySelector('select[name=\"max_tokens\"]').value = tokens;",
"numLines": 100,
"startLine": 348,
"totalLines": 771
}
}
}