// CIL[BEGIN chunk_id="DocsTicketsPage_docsticketspage_1785096505" type="function" identity="DocsTicketsPage" parent="none"] // CIL[DOC-MACRO purpose="Render a kanban-style docs-ticket list for the workbench"] // CIL[DOC-RESPONSIBILITY responsibility="Filter and display workbench_work_item records with work_type=doc for the current team"] // CIL[DOC-CONTEXT module="workbench.pages.work" layer="frontend-page" related_files="[\"custom/apps/workbench/components/records/RecordListPage.tsx\",\"custom/apps/workbench/hooks/useWorkbenchRole.ts\"]"] // CIL[DOC-CONTRACT inputs="none" outputs="JSX page" errors="none" side_effects="renders RecordListPage which calls /api/admin-data"] // CIL[DOC-MICRO logic_summary="Wraps RecordListPage with doc-specific labels, filter, and columns" notable_decisions="[]"] // CIL[DOC-CONFIDENCE pass="first" score="0.90" flags="none"] // CIL[DOC-STABILITY stability="stable"] // CIL[DOC-AUDIENCE audience="developer"] import { useAppPath } from '@core/hooks/useAppPath' import { RecordListPage } from '../../components/records/RecordListPage' import { Badge } from '@core/components/ui/badge' import { useWorkbenchRole } from '../../hooks/useWorkbenchRole' const DOC_TYPE_LABELS: Record = { user_guide: 'User Guide', api_docs: 'API Docs', runbook_update: 'Runbook Update', release_notes: 'Release Notes', internal_note: 'Internal Note' } const AUDIENCE_LABELS: Record = { engineering: 'Engineering', qa: 'QA', devops: 'DevOps', end_user: 'End User', product: 'Product', delivery: 'Delivery', docs: 'Docs' } const STATUS_LABELS: Record = { triage: 'Triage', backlog: 'Backlog', assigned: 'Assigned', in_progress: 'In Progress', in_review: 'In Review', resolved: 'Resolved', closed: 'Closed', parking: 'Parking' } export default function DocsTicketsPage() { const appPath = useAppPath() const { role } = useWorkbenchRole() return ( appPath(`/work/${role}/docs-tickets/${record.id}`)} createRoute={appPath(`/work/${role}/docs-tickets/new`)} emptyMessage="No docs tickets found." extraParams={{ work_type: 'doc' }} filterFn={record => record.data?.work_type === 'doc' && (record.data?.team === role || record.data?.team === '*' || record.data?.team === 'unassigned') } columns={[ { key: 'title', label: 'Title' }, { key: 'doc_type', label: 'Type', render: r => {DOC_TYPE_LABELS[r.data?.doc_type] || r.data?.doc_type || '—'} }, { key: 'audience', label: 'Audience', render: r => {AUDIENCE_LABELS[r.data?.audience] || r.data?.audience || '—'} }, { key: 'status', label: 'Status', render: r => {STATUS_LABELS[r.status] || r.status || '—'} }, { key: 'updated_at', label: 'Updated' }, ]} /> ) } // CIL[END chunk_id="DocsTicketsPage_docsticketspage_1785096505"]