import type { Metadata } from "next"; import Link from "next/link"; import { Plus, Search, ShieldCheck, ShieldPlus } from "lucide-react"; import { redirect } from "next/navigation"; import { auth } from "@/auth"; import { TopNav } from "@/components/navigation/top-nav"; import { prisma } from "@/lib/db/prisma"; import { hasPermission } from "@/lib/auth/permissions"; import { Permission } from "@/generated/prisma/enums"; import { getActingBusinessContext } from "@/lib/business/get-acting-business-context"; import { listStaffForBusiness } from "@/services/staff/staff.service"; import { cn } from "@/lib/utils/cn"; export const metadata: Metadata = { title: "Team" }; export const dynamic = "force-dynamic"; export default async function OwnerTeamPage({ searchParams, }: { searchParams: Promise<{ q?: string }>; }) { const session = await auth(); if (!session?.user) redirect("/sign-in"); const canManage = await hasPermission(session.user.id, Permission.MANAGE_STAFF); if (!canManage) redirect("/staff"); const context = await getActingBusinessContext(); if (!context) redirect("/staff"); const { q = "" } = await searchParams; const staff = await listStaffForBusiness(prisma, { businessId: context.businessId, q, includeInactive: true }); const headerAction = (
); return (
); }