diff --git a/TODO.md b/TODO.md index 06483b3..d5a6acf 100644 --- a/TODO.md +++ b/TODO.md @@ -10,7 +10,7 @@ - [ ] Neuer Message-Tag: `[canvas::<height (optional)>]...[/canvas]` - [x] Websearch Tool - [x] Anfrage/Stream abbrechen -- [ ] Telegram-Intergration +- [x] Telegram-Intergration - [x] Refactoring: Agent/Session-Einstellungen, die den System-Prompt bzw. das Tool Use bearbeiten - [ ] Cronjobs: Planung, ob cron von Debian/Linux verwendet werden soll, oder ein eigener Worker/Service in der App selbst, der das übernimmt - [x] Weiteres Modell hinzufügen: "Haiku 4.5" diff --git a/wwwroot/css/chat.css b/wwwroot/css/chat.css index 835546d..fd4d230 100644 --- a/wwwroot/css/chat.css +++ b/wwwroot/css/chat.css @@ -290,6 +290,7 @@ background: var(--f2-bg); border: var(--border-width) solid var(--f2-border); border-radius: var(--border-radius); + z-index: 1; } .msg-reply-btn { diff --git a/wwwroot/css/dashboard.css b/wwwroot/css/dashboard.css index 8803bcf..6eb96de 100644 --- a/wwwroot/css/dashboard.css +++ b/wwwroot/css/dashboard.css @@ -379,22 +379,18 @@ .telegram-status-box { margin: 0 0 var(--box-spacing) 0; - border: var(--border-width) solid var(--f1-border); + background: var(--f3-bg); + border: var(--border-width) solid var(--f3-border); border-radius: var(--border-radius); - overflow: hidden; + padding: var(--box-padding); + display: flex; + flex-direction: column; + gap: var(--badge-spacing); } .tg-status-row { display: flex; - align-items: baseline; - gap: var(--box-spacing); - padding: calc(var(--box-padding) * 0.6) var(--box-padding); - border-bottom: var(--border-width) solid var(--f1-border); - font-size: var(--font-size); -} - -.tg-status-row:last-child { - border-bottom: none; + gap: var(--badge-spacing); } .tg-status-row.tg-error { @@ -402,34 +398,25 @@ } .tg-label { - flex-shrink: 0; - width: 160px; - color: var(--text-muted, var(--semi-transparent)); - opacity: var(--semi-transparent); - font-size: calc(var(--font-size) * 0.9); + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tg-value { - flex: 1; - word-break: break-all; - font-family: var(--font-mono, monospace); - font-size: calc(var(--font-size) * 0.9); -} - -.tg-badge { - display: inline-block; - padding: 2px 8px; - border-radius: 99px; - font-family: var(--font-sans, sans-serif); - font-size: calc(var(--font-size) * 0.85); + flex: 3; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; } .tg-badge-ok { - background: color-mix(in srgb, var(--success, #22c55e) 15%, transparent); - color: var(--success, #22c55e); + background: color-mix(in srgb, var(--success) 15%, transparent); + color: var(--success); } .tg-badge-off { - background: color-mix(in srgb, var(--warning, #f59e0b) 15%, transparent); - color: var(--warning, #f59e0b); + background: color-mix(in srgb, var(--warning) 15%, transparent); + color: var(--warning); } diff --git a/wwwroot/js/pages/settings-page.js b/wwwroot/js/pages/settings-page.js index 546db1a..4e43017 100644 --- a/wwwroot/js/pages/settings-page.js +++ b/wwwroot/js/pages/settings-page.js @@ -144,7 +144,7 @@ registerPage('settings', { // Webhook registrieren registerBtn.addEventListener('click', async () => { - const baseUrl = prompt('Base-URL der App (z.B. https://deine-domain.de):', window.location.origin); + const baseUrl = prompt('Base-URL der App (z.B. ' + window.location.origin + '):', window.location.origin); if (!baseUrl) return; registerBtn.disabled = true; registerBtn.textContent = 'Wird registriert...';