import PageHeader from "@/components/app/PageHeader"
import PageShell from "@/components/app/PageShell"
import { Button } from "@/components/ui/button"
import ShiftList from "@/features/shifts/components/ShiftList"

import { deleteShift, listShiftsAdmin } from "@/features/shifts/service"

interface ShiftsPageProps {
  searchParams: Promise<{ delete?: string }>
}

export default async function ShiftsPage({ searchParams }: ShiftsPageProps) {
  const { delete: deleteId } = await searchParams

  if (deleteId) {
    await deleteShift(deleteId)
  }

  const shifts = await listShiftsAdmin()

  return (
    <PageShell>
      <PageHeader
        title="Shifts"
        description="Manage available shifts."
        actions={
          <Button asChild>
            <a href="/shifts/create">Add Shift</a>
          </Button>
        }
      />
      <ShiftList shifts={shifts} />
    </PageShell>
  )
}
