"use client"; import type { ShiftEntity } from "@/lib/types"; import type { ShiftCardProps } from "./ShiftCard.types"; function formatWage(wage: number): string { if (wage >= 1000) { return `${(wage / 1000).toFixed(0)}k`; } return wage.toLocaleString("vi-VN"); } export default function ShiftCard({ shift, compact = false, onClick, }: ShiftCardProps) { console.log(shift); if (compact) { return ( onClick?.(shift)} className={`w-full cursor-pointer rounded-lg border px-2 py-1.5 text-left text-xs transition-shadow hover:shadow-sm`} > {shift.startTime} – {shift.endTime} {}h · {formatWage(shift.wage)} ); } return ( onClick?.(shift)} className={`w-full cursor-pointer rounded-xl border p-3 text-left transition-shadow hover:shadow-md`} > {shift.startTime} – {shift.endTime} {}h · {formatWage(shift.wage)} VND {/* {style.label} */} {shift.registeredStaff && shift.registeredStaff.length > 0 && ( Nhân viên ({shift.registeredStaff.length}/{shift.maxStaff}) {shift.registeredStaff.map((s) => ( {s.staffId} ))} )} {/* {shift.status === "available" && shift.registeredStaff.length === 0 && ( {shift.maxStaff} vị trí còn trống )} */} ); }
{shift.startTime} – {shift.endTime}
{}h · {formatWage(shift.wage)}
{}h · {formatWage(shift.wage)} VND
Nhân viên ({shift.registeredStaff.length}/{shift.maxStaff})
{shift.maxStaff} vị trí còn trống