- Tauri 2.10 + Svelte 5.45 + TypeScript + Vite 7 - Catppuccin Mocha theme with CSS variables and semantic aliases - CSS Grid layout: sidebar (260px) + workspace, responsive breakpoints for ultrawide (3440px+) and narrow (<1200px) - Component structure: Layout/, Terminal/, Agent/, Markdown/, Sidebar/ - Svelte 5 stores with $state runes: sessions, agents, layout - SDK message adapter (abstracts Agent SDK wire format) - PTY bridge (Tauri IPC wrapper, stubbed for Phase 2) - Node.js sidecar entry point (stdio NDJSON, stubbed for Phase 3) - Rust modules: pty, sidecar, watcher, session (stubbed) - Vite dev server on port 9700 - Build verified: binary + .deb + .rpm + AppImage all produced
39 lines
671 B
Svelte
39 lines
671 B
Svelte
<script lang="ts">
|
|
// Phase 4: session CRUD, groups, types
|
|
</script>
|
|
|
|
<div class="session-list">
|
|
<div class="header">
|
|
<h2>Sessions</h2>
|
|
</div>
|
|
<div class="empty-state">
|
|
<p>No sessions yet.</p>
|
|
<p class="hint">Phase 2 will add terminal sessions.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
.session-list {
|
|
padding: 12px;
|
|
}
|
|
|
|
.header h2 {
|
|
font-size: 14px;
|
|
font-weight: 600;
|
|
color: var(--text-primary);
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.empty-state {
|
|
color: var(--text-muted);
|
|
font-size: 12px;
|
|
text-align: center;
|
|
padding: 24px 0;
|
|
}
|
|
|
|
.hint {
|
|
margin-top: 4px;
|
|
font-size: 11px;
|
|
color: var(--ctp-overlay0);
|
|
}
|
|
</style>
|