diff --git a/components/journeys/TopPathsTable.tsx b/components/journeys/TopPathsTable.tsx new file mode 100644 index 0000000..ae04ebf --- /dev/null +++ b/components/journeys/TopPathsTable.tsx @@ -0,0 +1,80 @@ +'use client' + +import type { TopPath } from '@/lib/api/journeys' +import { TableSkeleton } from '@/components/skeletons' + +interface TopPathsTableProps { + paths: TopPath[] + loading: boolean +} + +function formatDuration(seconds: number): string { + if (seconds <= 0) return '0s' + const m = Math.floor(seconds / 60) + const s = Math.round(seconds % 60) + if (m === 0) return `${s}s` + return `${m}m ${s}s` +} + +export default function TopPathsTable({ paths, loading }: TopPathsTableProps) { + const hasData = paths.length > 0 + + return ( +
+ Most common navigation paths across sessions +
+ + {loading ? ( ++ No path data available +
+