import type { OperationLogs } from "@/lib/CommonTypes"; import { normalizeIconDisplayMode, type IconDisplayMode, } from "@/lib/iconDisplayMode"; type OperationIconPair = { forward: string; rear: string; }; export const resolveOperationIconPair = ( operation: Pick< OperationLogs, | "vehicle_img" | "vehicle_img_right" | "vehicle_img_hub" | "vehicle_img_right_hub" >, iconDisplayMode: IconDisplayMode, fallback = "", ): OperationIconPair => { if (iconDisplayMode === "hub") { return { forward: operation.vehicle_img_hub || operation.vehicle_img || fallback, rear: operation.vehicle_img_right_hub || operation.vehicle_img_hub || operation.vehicle_img_right || operation.vehicle_img || fallback, }; } return { forward: operation.vehicle_img || fallback, rear: operation.vehicle_img_right || operation.vehicle_img || fallback, }; }; export const resolveDirectionalOperationIcon = ( operation: Pick< OperationLogs, | "vehicle_img" | "vehicle_img_right" | "vehicle_img_hub" | "vehicle_img_right_hub" >, iconDisplayModeValue: unknown, direction: boolean, fallback = "", ): string => { const iconDisplayMode = normalizeIconDisplayMode(iconDisplayModeValue); const { forward, rear } = resolveOperationIconPair( operation, iconDisplayMode, fallback, ); return direction ? forward || rear : rear || forward; };