refactor: modularize road management modules

This commit is contained in:
2026-06-17 13:31:25 +05:30
parent 9bb740e446
commit 182d4ac293
41 changed files with 2386 additions and 1894 deletions

View File

@@ -0,0 +1,51 @@
'use client';
import type { ColumnDef } from '@tanstack/react-table';
import { DataTable } from '@/components/data-table';
import type { Chainage } from '@/types';
interface SegmentTableProps {
columns: ColumnDef<Chainage>[];
segments: Chainage[];
isLoading: boolean;
skip: number;
limit: number;
total: number;
onPageChange: (skip: number) => void;
onLimitChange: (limit: number) => void;
onEdit: (segment: Chainage) => void;
onDelete: (segment: Chainage) => void;
}
export function SegmentTable({
columns,
segments,
isLoading,
skip,
limit,
total,
onPageChange,
onLimitChange,
onEdit,
onDelete,
}: SegmentTableProps) {
return (
<DataTable
title="Segments"
data={segments}
columns={columns}
onEdit={onEdit}
onDelete={onDelete}
isLoading={isLoading}
emptyTitle="No segments found."
pagination={{
skip,
limit,
totalItems: total,
onPageChange,
onLimitChange,
}}
/>
);
}