Session-Cards: buildSessionCard() Helper + Picker-Modal für Cronjob-Formular

- buildSessionCard(session, agent) Helper in ui.js (analog zu buildAgentCard)
  Erzeugt .card mit Avatar, Name, Badges (Agent, Kontext, Telegram) und Meta (Nachrichten, Archiv, Workspace)
- Dashboard refactored: Session-Cards nutzen buildSessionCard() statt inline HTML
- Cronjob-Formular: <select> für Session und Benachrichtigungs-Session durch
  klickbare Session-Cards + Picker-Modal ersetzt
- openSessionPickerModal() mit filterWithAgent-Option (Session-Dropdown nur
  Sessions mit Agent, Notify-Dropdown alle Sessions)
- CSS: .session-select-card und .session-select-change Klassen analog zu agent-*
This commit is contained in:
Meleki committed 2026-03-06 14:05:32 +01:00
1 parent 92c20402eb
commit e45498ac50
5 files changed
+176 -56

No files matched your search

+10 -4
View File
@@ -246,8 +246,11 @@
<input type="text" id="cronjobName" placeholder="z.B. Täglicher Report">
</div>
<div class="form-group">
<label for="cronjobSession">Session</label>
<select id="cronjobSession"></select>
<label>Session</label>
<div id="cronjobSessionCard" class="session-select-card">
<div class="session-select-empty"><i class="fa fa-comment-o"></i> Keine Session ausgewählt</div>
</div>
<input type="hidden" id="cronjobSession" value="">
</div>
<div class="form-group">
<label for="cronjobCron">Cron-Expression</label>
@@ -259,8 +262,11 @@
<textarea id="cronjobPrompt" rows="6" placeholder="Die Nachricht, die an den Agent gesendet wird..."></textarea>
</div>
<div class="form-group">
<label for="cronjobNotifySession">Benachrichtigungs-Session <small>(optional)</small></label>
<select id="cronjobNotifySession"></select>
<label>Benachrichtigungs-Session <small>(optional)</small></label>
<div id="cronjobNotifySessionCard" class="session-select-card">
<div class="session-select-empty"><i class="fa fa-bell-o"></i> Keine (Antwort bleibt in Arbeits-Session)</div>
</div>
<input type="hidden" id="cronjobNotifySession" value="">
<small class="form-hint">Wenn gesetzt, wird eine Zusammenfassung in diese Session geschrieben (z.B. eine mit Telegram).</small>
</div>
<div class="form-group">