"use client"; import { StaffingResultCard, type SuggestionLike } from "./StaffingResultCard.js"; import type { SearchCriteria } from "./StaffingSearchForm.js"; interface StaffingResultsListProps { suggestions: SuggestionLike[] | undefined; isLoading: boolean; submitted: boolean; searchCriteria: SearchCriteria; assignedIds: Set; onAssigned: (resourceId: string, resourceName: string) => void; onError: (message: string) => void; } export function StaffingResultsList({ suggestions, isLoading, submitted, searchCriteria, assignedIds, onAssigned, onError, }: StaffingResultsListProps) { const visible = suggestions?.filter((s) => !assignedIds.has(s.resourceId)); if (isLoading) { return (
Finding best matches...
); } if (visible && visible.length === 0) { return (
{assignedIds.size > 0 ? "All suggestions have been assigned." : "No resources found matching your criteria."}
); } if (!submitted) { return (
No suggestions yet

Add the required skills and date range, then run the search to see ranked staffing matches.

); } if (!visible) return null; return (
{visible.map((suggestion, idx) => ( ))}
); }