fix(modes): only activate peripherals and show individual seat actions
This commit is contained in:
@@ -1079,44 +1079,6 @@
|
||||
})
|
||||
.join(" · ");
|
||||
|
||||
const passengerComfort = actions
|
||||
.map((action, index) => ({ action, index }))
|
||||
.filter(({ action, index }) => !consumed.has(index)
|
||||
&& ["passenger", "front_right"].includes(targetZone(action))
|
||||
&& [
|
||||
"seat.set_ventilation",
|
||||
"seat.set_backrest_recline",
|
||||
"seat.set_legrest_height",
|
||||
].includes(String(action.capability || "")));
|
||||
const comfortByCapability = new Map(passengerComfort.map(({ action, index }) => [
|
||||
String(action.capability || ""), { action, index },
|
||||
]));
|
||||
if ([
|
||||
"seat.set_ventilation",
|
||||
"seat.set_backrest_recline",
|
||||
"seat.set_legrest_height",
|
||||
].every((capability) => comfortByCapability.has(capability))) {
|
||||
const ventilation = parameters(comfortByCapability.get("seat.set_ventilation").action);
|
||||
const backrest = parameters(comfortByCapability.get("seat.set_backrest_recline").action);
|
||||
const legrest = parameters(comfortByCapability.get("seat.set_legrest_height").action);
|
||||
const comfortMentions = ["座椅", "副驾", "舒适"]
|
||||
.map((term) => instruction.indexOf(term))
|
||||
.filter((index) => index >= 0);
|
||||
const comfortOrder = comfortMentions.length
|
||||
? Math.min(...comfortMentions)
|
||||
: 10_000 + Math.max(...passengerComfort.map(({ index }) => index));
|
||||
addRow(
|
||||
"副驾座椅舒适模式",
|
||||
[
|
||||
`通风${ventilation.state === "off" ? "关闭" : `开启 ${ventilation.level ?? 1}档`}`,
|
||||
`靠背 ${backrest.position_pct ?? "--"}%`,
|
||||
`腿托 ${legrest.position_pct ?? "--"}%`,
|
||||
].join(" · "),
|
||||
"armchair",
|
||||
comfortOrder,
|
||||
passengerComfort.map(({ index }) => index),
|
||||
);
|
||||
}
|
||||
actions.forEach((action, index) => {
|
||||
if (consumed.has(index)) return;
|
||||
const capability = String(action.capability || "");
|
||||
@@ -1171,9 +1133,9 @@
|
||||
const seatLabel = ["passenger", "front_right"].includes(zone) ? "副驾" : "主驾";
|
||||
const seatCapabilityLabels = {
|
||||
"seat.set_longitudinal_position": "座椅前后位置",
|
||||
"seat.set_cushion_tilt": "坐垫角度",
|
||||
"seat.set_backrest_recline": "靠背角度",
|
||||
"seat.set_legrest_height": "腿托高度",
|
||||
"seat.set_cushion_tilt": "坐垫位置",
|
||||
"seat.set_backrest_recline": "靠背位置",
|
||||
"seat.set_legrest_height": "腿托位置",
|
||||
"seat.set_ventilation": "座椅通风",
|
||||
"seat.set_heating": "座椅加热",
|
||||
"seat.set_driver_ventilation_native": "座椅通风",
|
||||
|
||||
Reference in New Issue
Block a user