Beschrijving
{job.description ? (
diff --git a/components/jobs/job-usage-pane.tsx b/components/jobs/job-usage-pane.tsx
index 2a5cd1e..98158a1 100644
--- a/components/jobs/job-usage-pane.tsx
+++ b/components/jobs/job-usage-pane.tsx
@@ -1,5 +1,6 @@
'use client'
+import { debugProps } from '@/lib/debug'
import type { JobWithRelations } from '@/actions/jobs-page'
interface FieldRowProps {
@@ -42,7 +43,7 @@ interface JobUsagePaneProps {
export default function JobUsagePane({ job }: JobUsagePaneProps) {
if (!job) {
return (
-
+
Selecteer een job om gebruik te zien
)
@@ -57,15 +58,19 @@ export default function JobUsagePane({ job }: JobUsagePaneProps) {
const costLabel = job.costUsd != null ? `$${job.costUsd.toFixed(4)}` : '—'
return (
-
-
{job.modelId ?? '—'}
-
{formatNumber(job.inputTokens)}
-
{formatNumber(job.outputTokens)}
-
{formatNumber(job.cacheReadTokens)}
-
{formatNumber(job.cacheWriteTokens)}
-
{formatNumber(totalTokens || null)}
-
{costLabel}
-
{formatDuration(job.startedAt, job.finishedAt)}
+
+
+ {job.modelId ?? '—'}
+
+
+ {formatNumber(job.inputTokens)}
+ {formatNumber(job.outputTokens)}
+ {formatNumber(job.cacheReadTokens)}
+ {formatNumber(job.cacheWriteTokens)}
+ {formatNumber(totalTokens || null)}
+ {costLabel}
+ {formatDuration(job.startedAt, job.finishedAt)}
+
)
}
diff --git a/components/jobs/jobs-board.tsx b/components/jobs/jobs-board.tsx
index f416e6b..cbd5456 100644
--- a/components/jobs/jobs-board.tsx
+++ b/components/jobs/jobs-board.tsx
@@ -7,6 +7,7 @@ import JobsColumn from './jobs-column'
import JobDetailPane from './job-detail-pane'
import JobUsagePane from './job-usage-pane'
import SprintSubTasksPane from './sprint-sub-tasks-pane'
+import { debugProps } from '@/lib/debug'
import { useJobsStore } from '@/stores/jobs-store'
import useJobsRealtime from '@/hooks/use-jobs-realtime'
import type { ClaudeJobStatusApi } from '@/lib/job-status'
@@ -61,7 +62,7 @@ export default function JobsBoard({ initialActiveJobs, initialDoneJobs, isDemo }
jobId={selectedJobId}
isSprintJob={selectedJob?.kind === 'SPRINT_IMPLEMENTATION'}
/>
-
+
+
)
}
diff --git a/components/jobs/jobs-column.tsx b/components/jobs/jobs-column.tsx
index 43c3965..652f8e6 100644
--- a/components/jobs/jobs-column.tsx
+++ b/components/jobs/jobs-column.tsx
@@ -7,6 +7,7 @@ import JobCard from './job-card'
import { JOB_STATUS_LABELS } from '@/components/shared/job-status'
import { jobStatusToApi, type ClaudeJobStatusApi } from '@/lib/job-status'
import { cn } from '@/lib/utils'
+import { debugProps } from '@/lib/debug'
import type { JobWithRelations } from '@/actions/jobs-page'
import type { ClaudeJobKind } from '@prisma/client'
@@ -170,8 +171,8 @@ export default function JobsColumn({
const activeFilterCount = filterKinds.size + filterStatuses.size
return (
-
-
+
+
{title}
{Array.from(filterKinds).map((k) => (
@@ -240,7 +241,7 @@ export default function JobsColumn({
-
+
{filtered.map((j) => (
+
{subTasks.map(t => {
const apiStatus = t.status.toLowerCase() as ClaudeJobStatusApi
return (
@@ -63,5 +64,9 @@ function SubTaskList({ jobId }: { jobId: string }) {
export default function SprintSubTasksPane({ jobId, isSprintJob }: SprintSubTasksPaneProps) {
if (!isSprintJob || !jobId) return null
- return
+ return (
+
+
+
+ )
}
diff --git a/components/markdown.tsx b/components/markdown.tsx
index 2b07fa8..1541d7e 100644
--- a/components/markdown.tsx
+++ b/components/markdown.tsx
@@ -1,6 +1,7 @@
import ReactMarkdown from 'react-markdown'
import remarkGfm from 'remark-gfm'
import { cn } from '@/lib/utils'
+import { debugProps } from '@/lib/debug'
interface MarkdownProps {
children: string
@@ -9,7 +10,7 @@ interface MarkdownProps {
export function Markdown({ children, className }: MarkdownProps) {
return (
-
+
- Draai je telefoon naar landscape
+ Draai je telefoon naar landscape
)}
>
diff --git a/components/mobile/logout-button.tsx b/components/mobile/logout-button.tsx
index 82f0819..394cc04 100644
--- a/components/mobile/logout-button.tsx
+++ b/components/mobile/logout-button.tsx
@@ -14,6 +14,7 @@ import {
} from '@/components/ui/alert-dialog'
import { Button } from '@/components/ui/button'
import { logoutAction } from '@/actions/auth'
+import { debugProps } from '@/lib/debug'
export function LogoutButton() {
const [open, setOpen] = useState(false)
@@ -31,6 +32,7 @@ export function LogoutButton() {
variant="outline"
onClick={() => setOpen(true)}
className="w-full justify-center gap-2"
+ {...debugProps('logout-button', 'LogoutButton', 'components/mobile/logout-button.tsx')}
>
Uitloggen
diff --git a/components/mobile/mobile-tab-bar.tsx b/components/mobile/mobile-tab-bar.tsx
index 5845f81..b29fb36 100644
--- a/components/mobile/mobile-tab-bar.tsx
+++ b/components/mobile/mobile-tab-bar.tsx
@@ -4,6 +4,7 @@ import Link from 'next/link'
import { usePathname } from 'next/navigation'
import { ListTree, Activity, Settings } from 'lucide-react'
import { cn } from '@/lib/utils'
+import { debugProps } from '@/lib/debug'
interface MobileTabBarProps {
activeProductId: string | null
@@ -42,6 +43,7 @@ export function MobileTabBar({ activeProductId }: MobileTabBarProps) {