薄いバーで開始〜終了の全体、濃い部分で応答が動いていた区間を重ねて描く。 放置していた時間や、セッションを並行して動かしていた時間が見える。 - /api/timeline: セッションごとに全体の範囲と応答中の区間 (spans) を返す (隙間 1 秒以内のターンは結合、期間指定 days= / 全期間、CSV も可) - ガントタブ: 1日/3日/7日/14日/30日/全期間の切替、1〜3日では時刻目盛りに 自動で切替、土日の帯・日境界線・現在時刻の点線、横断時はプロジェクト別の色 - 行のホバーで内訳、クリックでそのタスクのやりとりを開く - ラベル列とバーの行を22pxで揃え、時間軸ヘッダは縦スクロール中も固定 - ペイン幅に応じてラベル幅を詰め、横スクロールを出さない Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
52 lines
1.7 KiB
HTML
52 lines
1.7 KiB
HTML
<!doctype html>
|
|
<html lang="ja">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>chktime — Claude Code タスク時刻ビューア</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>chktime</h1>
|
|
<span class="sub" id="root"></span>
|
|
<span class="spacer"></span>
|
|
<label class="chk"><input type="checkbox" id="relative"> 経過時間で表示</label>
|
|
<button id="reload" title="キャッシュを破棄して再読込">再読込</button>
|
|
</header>
|
|
|
|
<main>
|
|
<nav id="projects" class="pane">
|
|
<div class="pane-head">プロジェクト</div>
|
|
<ul id="project-list"></ul>
|
|
</nav>
|
|
|
|
<section id="sessions" class="pane">
|
|
<div class="pane-head">
|
|
<span id="sessions-title">タスク(セッション)</span>
|
|
<input id="filter" type="search" placeholder="タイトル/プロンプトで絞り込み">
|
|
<a id="csv-sessions" class="btn" href="#" download>CSV</a>
|
|
</div>
|
|
<div class="scroll"><table id="session-table"><tbody></tbody></table></div>
|
|
</section>
|
|
|
|
<section id="detail" class="pane">
|
|
<div class="pane-head">
|
|
<span id="detail-title">やりとりの時刻</span>
|
|
<span class="tabs">
|
|
<button class="tab sel" id="tab-turns">やりとり</button>
|
|
<button class="tab" id="tab-daily">日別集計</button>
|
|
<button class="tab" id="tab-gantt">ガント</button>
|
|
</span>
|
|
<a id="csv-turns" class="btn" href="#" download>CSV</a>
|
|
</div>
|
|
<div class="scroll" id="detail-body">
|
|
<p class="empty">左のタスクを選んでください。</p>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|