This commit is contained in:
2026-03-22 11:20:51 -04:00
parent 27e651c4f5
commit 9ed63b2695
16 changed files with 303 additions and 156 deletions

View File

@@ -1,18 +1,18 @@
import { Link } from 'react-router-dom';
import { useGetActivity } from '../generated/anthoLumeAPIV1';
import type { Activity } from '../generated/model';
import { Table } from '../components/Table';
import { Table, type Column } from '../components/Table';
import { formatDuration } from '../utils/formatters';
export default function ActivityPage() {
const { data, isLoading } = useGetActivity({ offset: 0, limit: 100 });
const activities = data?.status === 200 ? data.data.activities : [];
const columns = [
const columns: Column<Activity>[] = [
{
key: 'document_id' as const,
header: 'Document',
render: (_value: Activity['document_id'], row: Activity) => (
render: (_value, row) => (
<Link
to={`/documents/${row.document_id}`}
className="text-blue-600 hover:underline dark:text-blue-400"
@@ -24,19 +24,19 @@ export default function ActivityPage() {
{
key: 'start_time' as const,
header: 'Time',
render: (value: Activity['start_time']) => value || 'N/A',
render: value => String(value || 'N/A'),
},
{
key: 'duration' as const,
header: 'Duration',
render: (value: Activity['duration']) => {
return formatDuration(value || 0);
render: value => {
return formatDuration(typeof value === 'number' ? value : 0);
},
},
{
key: 'end_percentage' as const,
header: 'Percent',
render: (value: Activity['end_percentage']) => (value != null ? `${value}%` : '0%'),
render: value => (typeof value === 'number' ? `${value}%` : '0%'),
},
];