<!DOCTYPE html>
<html lang="en" data-theme="dark">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ project_name }} — weavr</title>
<style>
{{ css|safe }}
</style>
<script>
(function(){var t=localStorage.getItem('weavr-theme');if(t){document.documentElement.setAttribute('data-theme',t);}else if(window.matchMedia('(prefers-color-scheme: light)').matches){document.documentElement.setAttribute('data-theme','light');}})();
</script>
</head>
<body>
<div class="project-page">
<header class="header">
<div class="header-left">
<div class="header-logo">
<span class="header-logo-icon">⌨</span>
<span class="header-logo-text">ailog</span>
</div>
<div class="header-separator"></div>
<div class="header-meta">
<a href="../index.html" class="header-back-link">← All Projects</a>
<div class="header-meta-project">
<span class="header-meta-title">{{ display_name }}</span>
<span class="header-meta-path" title="{{ project_name }}">{{ project_name }}</span>
</div>
</div>
</div>
<div class="header-actions">
<div class="header-session-stats">
<span>{{ session_count }} sessions</span>
<span class="header-stat-sep">•</span>
<span>{{ message_count }} messages</span>
<span class="header-stat-sep">•</span>
<span>{{ token_total }} tokens</span>
</div>
<div class="header-separator"></div>
{% include "components/theme_toggle.html" %}
</div>
</header>
{% set search_placeholder = "Search sessions..." %}
{% set show_view_switcher = false %}
{% include "components/toolbar.html" %}
<div class="session-list">
{% for session in sessions %}
<a href="{{ session.filename }}" class="session-card"
data-id="{{ session.id }}"
data-title="{{ session.title }}"
data-started-at="{{ session.started_at.as_deref().unwrap_or("") }}"
{% if let Some(prompt) = session.first_user_prompt %}
data-prompt="{{ prompt }}"
{% endif %}>
<div class="session-card-primary">
<h3 class="session-card-title">
{% if let Some(prompt) = session.first_user_prompt %}
{{ prompt }}
{% else if session.title != session.id %}
{{ session.title }}
{% else %}
(no user message)
{% endif %}
</h3>
<span class="session-card-time">{{ session.relative_time }}</span>
</div>
<div class="session-card-secondary">
<span class="session-card-id">{{ session.id }}</span>
<span class="session-card-meta-sep">·</span>
<span>{{ session.message_count }} msgs</span>
<span class="session-card-meta-sep">·</span>
<span>{{ session.token_total }} tokens</span>
</div>
</a>
{% endfor %}
</div>
<div class="empty-state" hidden aria-live="polite">
<span class="empty-state-icon">🔎</span>
<p class="empty-state-text">No sessions match your filters.</p>
</div>
</div>
<script>
{{ index_js|safe }}
</script>
</body>
</html>