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. */
|
/** Compact at-a-glance fields shown on the collapsed Araç Bilgileri header. */
|
||||||
function VehicleSummary({ vehicle }: { vehicle: any }) {
|
function VehicleSummary({ vehicle }: { vehicle: any }) {
|
||||||
const fields = [
|
const fields = [
|
||||||
{ label: "Model", value: vehicle?.model },
|
{ label: "Model", value: vehicle?.model },
|
||||||
{ label: "Model yılı", value: vehicle?.year },
|
{ 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 !== "");
|
].filter((f) => f.value != null && f.value !== "");
|
||||||
|
|
||||||
if (fields.length === 0) return null;
|
if (fields.length === 0) return null;
|
||||||
|
|||||||
Reference in New Issue
Block a user