From 3e07dc8b9d45f8604cd181c058f7f51503ab7e09 Mon Sep 17 00:00:00 2001 From: Jia Xuan Li <77560326+Jxl-s@users.noreply.github.com> Date: Fri, 26 Jun 2026 23:33:48 -0700 Subject: [PATCH 1/2] feat(services): make table height responsive to window size --- app/(authenticated)/services/layout.tsx | 10 ++++++++++ app/(authenticated)/services/page.tsx | 8 +++++--- .../services/services-data-table.tsx | 4 ++-- app/(authenticated)/services/services-table.tsx | 13 ++++++++----- 4 files changed, 25 insertions(+), 10 deletions(-) create mode 100644 app/(authenticated)/services/layout.tsx 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 57d8485..9c597fb 100644 --- a/app/(authenticated)/services/page.tsx +++ b/app/(authenticated)/services/page.tsx @@ -8,9 +8,11 @@ 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 268ce43..67f1d4a 100644 --- a/app/(authenticated)/services/services-data-table.tsx +++ b/app/(authenticated)/services/services-data-table.tsx @@ -10,7 +10,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 } from "@/lib/service-status"; @@ -172,7 +172,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) => ( @@ -45,7 +45,10 @@ export function ServicesTable({
- + @@ -58,6 +61,6 @@ export function ServicesTable({ if (!v) setEditing(null); }} /> - +
); } From 68fc410c7ff33232e1061a5ba5b72361e83185fd Mon Sep 17 00:00:00 2001 From: Jia Xuan Li <77560326+Jxl-s@users.noreply.github.com> Date: Wed, 8 Jul 2026 22:14:54 -0700 Subject: [PATCH 2/2] feat(services): add column width metadata for table headers --- app/(authenticated)/services/services-data-table.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/(authenticated)/services/services-data-table.tsx b/app/(authenticated)/services/services-data-table.tsx index 67f1d4a..6379698 100644 --- a/app/(authenticated)/services/services-data-table.tsx +++ b/app/(authenticated)/services/services-data-table.tsx @@ -43,6 +43,7 @@ export function ServicesDataTable({ { accessorKey: "title", header: "Program", + meta: { colWidth: "42%" }, cell: ({ row }) => ( {row.original.title ?? "—"} ), @@ -50,6 +51,7 @@ export function ServicesDataTable({ { accessorKey: "status", header: "Status", + meta: { colWidth: "13%" }, cell: ({ row }) => ( { const s = row.original.scheduledAt; return s ? formatDate(s.startDate) : "—"; @@ -72,6 +75,7 @@ export function ServicesDataTable({ { id: "endDate", header: "End Date", + meta: { colWidth: "17%" }, cell: ({ row }) => { const s = row.original.scheduledAt; return s ? formatDate(s.endDate) : "—"; @@ -79,7 +83,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 (