feat: GitHub-link op DONE-card + pushed_at doorvoer

- lib/job-status-url.ts: getBranchUrl(repoUrl, branch) → GitHub tree URL
- JobState + ClaudeJobEvent: pushed_at? veld toegevoegd
- realtime/solo/route.ts: pushed_at in Prisma-select, JobPayload en mapping
- SoloBoardProps + TaskDetailDialog: repoUrl prop doorgevoerd
- task-detail-dialog: "Open op GitHub"-link als done + pushed_at + branch + repoUrl
- 3 unit-tests voor getBranchUrl; totaal 261 tests groen

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Janpeter Visser 2026-05-01 12:04:47 +02:00
parent 120a05347b
commit f59f4754df
7 changed files with 55 additions and 9 deletions

View file

@ -45,6 +45,7 @@ type JobPayload = {
product_id: string
status: string
branch?: string
pushed_at?: string
summary?: string
error?: string
}
@ -258,7 +259,7 @@ async function prisma_jobs_findActive(userId: string, productId: string) {
],
},
select: {
id: true, task_id: true, status: true, branch: true, summary: true, error: true,
id: true, task_id: true, status: true, branch: true, pushed_at: true, summary: true, error: true,
},
orderBy: { created_at: 'asc' },
})
@ -267,6 +268,7 @@ async function prisma_jobs_findActive(userId: string, productId: string) {
task_id: j.task_id,
status: jobStatusToApi(j.status),
branch: j.branch ?? undefined,
pushed_at: j.pushed_at?.toISOString() ?? undefined,
summary: j.summary ?? undefined,
error: j.error ?? undefined,
}))