123 lines
4.4 KiB
HTML
123 lines
4.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>hai — board</title>
|
|
<link rel="stylesheet" href="/style.css">
|
|
</head>
|
|
<body>
|
|
<header class="header">
|
|
<div class="header-left">
|
|
<h1 class="logo">hai</h1>
|
|
<span class="logo-sub">board</span>
|
|
</div>
|
|
<button class="btn btn-primary" id="add-task-btn">+ New Task</button>
|
|
</header>
|
|
|
|
<main class="board" id="board">
|
|
<div class="column" data-column="triage">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-triage"></div>
|
|
<h2>Triage</h2>
|
|
<span class="column-count" data-count="triage">0</span>
|
|
</div>
|
|
<p class="column-desc">Raw ideas — AI will specify these</p>
|
|
<div class="column-body" data-drop="triage"></div>
|
|
</div>
|
|
<div class="column" data-column="todo">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-todo"></div>
|
|
<h2>Todo</h2>
|
|
<span class="column-count" data-count="todo">0</span>
|
|
</div>
|
|
<p class="column-desc">Specified and ready to start</p>
|
|
<div class="column-body" data-drop="todo"></div>
|
|
</div>
|
|
<div class="column" data-column="in-progress">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-in-progress"></div>
|
|
<h2>In Progress</h2>
|
|
<span class="column-count" data-count="in-progress">0</span>
|
|
</div>
|
|
<p class="column-desc">AI is working in a worktree</p>
|
|
<div class="column-body" data-drop="in-progress"></div>
|
|
</div>
|
|
<div class="column" data-column="in-review">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-in-review"></div>
|
|
<h2>In Review</h2>
|
|
<span class="column-count" data-count="in-review">0</span>
|
|
</div>
|
|
<p class="column-desc">Complete — ready to merge</p>
|
|
<div class="column-body" data-drop="in-review"></div>
|
|
</div>
|
|
<div class="column" data-column="done">
|
|
<div class="column-header">
|
|
<div class="column-dot dot-done"></div>
|
|
<h2>Done</h2>
|
|
<span class="column-count" data-count="done">0</span>
|
|
</div>
|
|
<p class="column-desc">Merged and closed</p>
|
|
<div class="column-body" data-drop="done"></div>
|
|
</div>
|
|
</main>
|
|
|
|
<!-- Create Task Modal -->
|
|
<div class="modal-overlay" id="create-modal">
|
|
<div class="modal">
|
|
<div class="modal-header">
|
|
<h3>New Task</h3>
|
|
<button class="modal-close" data-close="create-modal">×</button>
|
|
</div>
|
|
<form id="create-form">
|
|
<div class="form-group">
|
|
<label for="task-title">Title</label>
|
|
<input type="text" id="task-title" placeholder="What needs to be done?" required autofocus>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="task-desc">Description <span class="optional">(optional)</span></label>
|
|
<textarea id="task-desc" rows="4" placeholder="Add context, requirements, or rough notes..."></textarea>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="task-deps">Dependencies <span class="optional">(comma-separated IDs)</span></label>
|
|
<input type="text" id="task-deps" placeholder="HAI-001, HAI-002">
|
|
</div>
|
|
<div class="modal-actions">
|
|
<button type="button" class="btn" data-close="create-modal">Cancel</button>
|
|
<button type="submit" class="btn btn-primary">Create in Triage</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Task Detail Modal -->
|
|
<div class="modal-overlay" id="detail-modal">
|
|
<div class="modal modal-lg">
|
|
<div class="modal-header">
|
|
<div class="detail-title-row">
|
|
<span class="detail-id" id="detail-id"></span>
|
|
<span class="detail-column-badge" id="detail-column"></span>
|
|
</div>
|
|
<button class="modal-close" data-close="detail-modal">×</button>
|
|
</div>
|
|
<div class="detail-body">
|
|
<h2 id="detail-title" class="detail-title"></h2>
|
|
<div class="detail-meta" id="detail-meta"></div>
|
|
<div class="detail-section">
|
|
<h4>PROMPT.md</h4>
|
|
<pre class="detail-prompt" id="detail-prompt"></pre>
|
|
</div>
|
|
<div class="detail-deps" id="detail-deps"></div>
|
|
</div>
|
|
<div class="modal-actions" id="detail-actions"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Toast notifications -->
|
|
<div class="toast-container" id="toasts"></div>
|
|
|
|
<script src="/board.js"></script>
|
|
</body>
|
|
</html>
|