feat(web): show engine code in summary for all decode sources
The collapsed summary's "Motor kodu" read only PL24's rawData.engineCode, so it was blank for emex/pcat/vin-api. Resolve it per source: PL24 engineCode, emex parsedOptions.engine_type, vin-api engineModel, or the pcat "engine" parameter. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -426,12 +426,25 @@ function VehicleAttributes({ vehicle }: { vehicle: any }) {
|
||||
);
|
||||
}
|
||||
|
||||
/** The engine code lives in a different spot per decode source. */
|
||||
function getEngineCode(vehicle: any): string | undefined {
|
||||
const rd = vehicle?.rawData;
|
||||
if (rd?.engineCode) return rd.engineCode; // pl24
|
||||
if (rd?.parsedOptions?.engine_type) return rd.parsedOptions.engine_type; // emex
|
||||
if (rd?.engineModel) return rd.engineModel; // vin-api
|
||||
// pcat — the "engine" parameter.
|
||||
const param = rd?.pcatCar?.parameters?.find(
|
||||
(p: any) => p?.key === "engine" || p?.name === "Engine",
|
||||
);
|
||||
return param?.value ? String(param.value) : undefined;
|
||||
}
|
||||
|
||||
/** Compact at-a-glance fields shown on the collapsed Araç Bilgileri header. */
|
||||
function VehicleSummary({ vehicle }: { vehicle: any }) {
|
||||
const fields = [
|
||||
{ label: "Model", value: vehicle?.model },
|
||||
{ label: "Model yılı", value: vehicle?.year },
|
||||
{ label: "Motor kodu", value: vehicle?.rawData?.engineCode },
|
||||
{ label: "Motor kodu", value: getEngineCode(vehicle) },
|
||||
].filter((f) => f.value != null && f.value !== "");
|
||||
|
||||
if (fields.length === 0) return null;
|
||||
|
||||
Reference in New Issue
Block a user