import type { Location } from "@/domain/locations/types/location"; import type { DropdownOption } from "@/domain/settings/dropdown-options/types/dropdown-option"; import type { LocationOption, VendorDropdownItem, WorkOrderDetail, WorkOrderFormValues, WorkOrderUser, } from "@/domain/work-orders/types/work-order"; export const MOCK_WO_WIZARD_USERS: WorkOrderUser[] = [ { id: "mock-user-1", name: "Alex Rivera" }, { id: "mock-user-2", name: "Jordan Kim" }, { id: "mock-user-3", name: "Sam Patel" }, ]; export const MOCK_WO_WIZARD_LOCATIONS: LocationOption[] = [ { id: "mock-loc-1", name: "CHI-1042 — Chicago Loop" }, { id: "mock-loc-2", name: "IND-2208 — Indianapolis North" }, { id: "mock-loc-3", name: "MIL-3315 — Milwaukee West" }, ]; const MOCK_LOCATION_DETAILS: Record = { "mock-loc-1": { id: "mock-loc-1", name: "CHI-1042 — Chicago Loop", address: "233 S Wacker Dr", city: "Chicago", state: "IL", zipCode: "60606", phone: "(312) 555-0142", contact: "Maria Gonzalez", contactEmail: "maria.gonzalez@example.com", status: "Active", }, "mock-loc-2": { id: "mock-loc-2", name: "IND-2208 — Indianapolis North", address: "8702 Keystone Crossing", city: "Indianapolis", state: "IN", zipCode: "46240", phone: "(317) 555-2208", contact: "Chris Bennett", contactEmail: "chris.bennett@example.com", status: "Active", }, "mock-loc-3": { id: "mock-loc-3", name: "MIL-3315 — Milwaukee West", address: "411 E Wisconsin Ave", city: "Milwaukee", state: "WI", zipCode: "53202", phone: "(414) 555-3315", contact: "Taylor Brooks", contactEmail: "taylor.brooks@example.com", status: "Active", }, }; export const MOCK_WO_WIZARD_SERVICES: DropdownOption[] = [ { id: "mock-svc-1", category: "Problem", value: "HVAC — Quarterly PM", parentValue: null, sortOrder: 1, isActive: true, }, { id: "mock-svc-2", category: "Problem", value: "Plumbing — Leak repair", parentValue: null, sortOrder: 2, isActive: true, }, { id: "mock-svc-3", category: "Problem", value: "Electrical — Panel inspection", parentValue: null, sortOrder: 3, isActive: true, }, { id: "mock-svc-4", category: "Problem", value: "Roof — Membrane patch", parentValue: null, sortOrder: 4, isActive: true, }, ]; export const MOCK_WO_WIZARD_VENDORS: VendorDropdownItem[] = [ { id: "mock-vendor-1", companyName: "Midwest HVAC Co.", contactName: "Casey Ortega", tradeSpecialties: "HVAC", address: "1200 Industrial Pkwy, Chicago, IL 60632", distanceMiles: 4.2, }, { id: "mock-vendor-2", companyName: "Great Lakes Plumbing", contactName: "Riley Quinn", tradeSpecialties: "Plumbing", address: "455 Water St, Milwaukee, WI 53202", distanceMiles: 8.7, }, { id: "mock-vendor-3", companyName: "SparkLine Electric", contactName: "Morgan Lee", tradeSpecialties: "Electrical", address: "88 Volt Ave, Indianapolis, IN 46225", distanceMiles: 12.1, }, ]; export function getMockWoWizardLocationDetail(locationId: string): Location | undefined { return MOCK_LOCATION_DETAILS[locationId]; } export function buildMockWorkOrderDetail(values: WorkOrderFormValues): WorkOrderDetail { const id = `mock-wo-${Date.now()}`; const now = new Date().toISOString(); return { id, internalWONumber: values.internalWONumber || id, workOrderNumber: values.workOrderNumber || "MOCK-0001", title: values.title || "Mock Work Order", location: MOCK_WO_WIZARD_LOCATIONS.find((l) => String(l.id) === values.locationId)?.name ?? "Mock Site", locationId: values.locationId, locationZip: getMockWoWizardLocationDetail(values.locationId)?.zipCode ?? "", assignedTo: values.assignedTo, dueDate: values.dueDate, createdDate: values.createdDate, createdDateFull: now, description: values.description, priority: values.priority, status: values.status, po: values.po, tt: values.tt, problem: values.problem, trade: values.trade, subTrade: values.subTrade, vendorNTE: values.vendorNTE, scheduledDate: values.scheduledDate, completedDate: values.completedDate, source: values.source, type: "", docStatus: values.docStatus ?? "", mediaCount: 0, comments: [], auditLog: [], dispatches: [], }; }