diff --git a/app/(authenticated)/services/layout.tsx b/app/(authenticated)/services/layout.tsx new file mode 100644 index 0000000..03af22f --- /dev/null +++ b/app/(authenticated)/services/layout.tsx @@ -0,0 +1,10 @@ +import type { ReactNode } from "react"; + +/** Bounded height for /services so the table can paginate inside the column. */ +export default function ServicesLayout({ children }: { children: ReactNode }) { + return ( +
+ {children} +
+ ); +} diff --git a/app/(authenticated)/services/page.tsx b/app/(authenticated)/services/page.tsx index b1574a1..c1b1b49 100644 --- a/app/(authenticated)/services/page.tsx +++ b/app/(authenticated)/services/page.tsx @@ -10,13 +10,15 @@ export default async function ServicesPage() { ]); return ( -
-

Services

- +
+

Services

+
+ +
); } diff --git a/app/(authenticated)/services/services-data-table.tsx b/app/(authenticated)/services/services-data-table.tsx index 56f27e7..63f4794 100644 --- a/app/(authenticated)/services/services-data-table.tsx +++ b/app/(authenticated)/services/services-data-table.tsx @@ -11,7 +11,7 @@ import { TooltipContent, TooltipTrigger, } from "@/components/ui/tooltip"; -import { DataTable } from "@/components/data-table"; +import { UsersDataTable } from "@/app/(authenticated)/users/_components/users-data-table"; import { formatDate } from "@/lib/format"; import { statusBadgeClass, subscriptionBadgeClass } from "@/lib/service-badges"; @@ -44,6 +44,7 @@ export function ServicesDataTable({ { accessorKey: "title", header: "Program", + meta: { colWidth: "42%" }, cell: ({ row }) => ( {row.original.title ?? "—"} ), @@ -51,6 +52,7 @@ export function ServicesDataTable({ { accessorKey: "status", header: "Status", + meta: { colWidth: "13%" }, cell: ({ row }) => ( { const s = row.original.scheduledAt; return s ? formatDate(s.startDate) : "—"; @@ -87,6 +90,7 @@ export function ServicesDataTable({ { id: "endDate", header: "End Date", + meta: { colWidth: "17%" }, cell: ({ row }) => { const s = row.original.scheduledAt; return s ? formatDate(s.endDate) : "—"; @@ -94,7 +98,8 @@ export function ServicesDataTable({ }, { id: "actions", - header: () =>
Actions
, + header: "Actions", + meta: { colWidth: "11%", thClassName: "text-right", tdClassName: "text-right" }, cell: ({ row }) => { const s = row.original; return ( @@ -197,7 +202,7 @@ export function ServicesDataTable({ ); return ( - +
setTab(v as StatusTab)} - className="w-full" + className="flex min-h-0 w-full min-w-0 flex-1 flex-col gap-2 overflow-hidden" > -
+
{statusTabs.map((status) => ( @@ -52,7 +52,10 @@ export function ServicesTable({ />
- + @@ -66,6 +69,6 @@ export function ServicesTable({ if (!v) setEditing(null); }} /> - +
); }