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);
}}
/>
- >
+
);
}