- Add askama.toml for template configuration (ui/ directory) - Add Suite app documentation with flow diagrams (SVG) - App launcher, chat flow, drive flow, tasks flow - Individual app docs: chat, drive, tasks, mail, etc. - Add HTML templates for Suite apps - Base template with header and app launcher - Auth login page - Chat, Drive, Mail, Meet, Tasks templates - Partial templates for messages, sessions, notifications - Add Extensions type to AppState for type-erased storage - Add mTLS module for service-to-service authentication - Update web handlers to use new template paths (suite/) - Fix auth module to avoid axum-extra TypedHeader dependency
25 lines
801 B
HTML
25 lines
801 B
HTML
{% for session in sessions %}
|
|
<div class="session-item{% if session.active %} active{% endif %}"
|
|
id="session-{{ session.id }}"
|
|
hx-post="/api/chat/sessions/{{ session.id }}"
|
|
hx-target="#messages"
|
|
hx-swap="innerHTML">
|
|
<div class="session-info">
|
|
<div class="session-name">{{ session.name }}</div>
|
|
<div class="session-preview">{{ session.last_message }}</div>
|
|
</div>
|
|
<div class="session-meta">
|
|
<span class="session-time">{{ session.timestamp }}</span>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
{% if sessions.is_empty() %}
|
|
<div class="empty-state">
|
|
<p>No conversations yet</p>
|
|
<button hx-post="/api/chat/sessions/new"
|
|
hx-target="#session-list"
|
|
hx-swap="afterbegin">
|
|
Start a conversation
|
|
</button>
|
|
</div>
|
|
{% endif %}
|