左ペインに「すべてのプロジェクト」を追加し、全プロジェクトのタスクを1つの 一覧で扱えるようにした。あわせて右ペインに日別集計タブを設けた。 - /api/all: 全プロジェクトのタスクを開始日時順に返す (CSVはプロジェクト列付き) - /api/daily: ターンをローカル日付で集計し、活動のない日も0で埋めて返す (プロジェクト別の内訳・期間指定 days= / 全期間・横持ちCSV) - 日別集計タブ: 作業時間の棒グラフ (横断時はプロジェクト別の積み上げ、 上位7件+その他)、14/30/90日・全期間の切替、日別テーブル、SVG手書きで 外部ライブラリなし - 再読込で横断モードの選択が先頭プロジェクトに戻る問題を修正 (未選択と横断モードを state.project の undefined / null で区別) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
51 lines
1.6 KiB
HTML
51 lines
1.6 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>
|
|
</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>
|