Files
sprintpadawan/templates/index.html
T
2026-04-27 16:55:02 -06:00

99 lines
4.1 KiB
HTML

<!doctype html>
<html lang="en">
{{template "app-head" (dict "Title" "Dashboard" "UseHTMX" true "UseSSE"
false)}}
<body class="app-body">
<div class="app-shell">
<div class="main-content">
<header class="topbar">
<div class="topbar-brand">
{{template "brand-mark" .}}
<span class="topbar-title">Planning Rooms</span>
</div>
<div class="topbar-actions">
<button
class="btn-primary topbar-btn"
hx-get="/rooms/new"
hx-target="body"
hx-swap="beforeend"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="14"
height="14"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2.5"
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="12" y1="5" x2="12" y2="19"></line>
<line x1="5" y1="12" x2="19" y2="12"></line>
</svg>
Create Room
</button>
{{template "session-controls" .}}
</div>
</header>
<main class="page-content">
<div class="welcome-hero">
<p class="welcome-greeting">
Welcome back, <span>{{.Username}}</span>
</p>
<p class="welcome-sub">
Create or join a planning room to start estimating.
</p>
</div>
{{if .Rooms}}
<div class="rooms-grid">
{{range .Rooms}}
<a href="/rooms/{{.ID}}" class="room-card">
<div class="room-header">
<span class="room-name">{{.Name}}</span>
<div
style="
display: flex;
gap: 0.5rem;
align-items: center;
"
>
{{if .IsOwner}}
<span
class="room-owner-badge"
style="
position: static;
margin: 0;
padding: 0.2rem 0.5rem;
"
>
Owner
</span>
{{end}}
<span class="room-code">{{.Code}}</span>
</div>
</div>
<div class="room-meta">
<span class="room-scale">{{.Scale}}</span>
<span class="room-members"
>{{.MemberCount}} members</span
>
</div>
</a>
{{end}}
</div>
{{else}}
<div class="empty-state">
<p>No rooms yet. Create one to get started.</p>
</div>
{{end}}
</main>
</div>
</div>
<div id="modal-container"></div>
</body>
</html>