feat(buttonNavigation): expose readonly selected button and new select function, to allow user to select any button with path animation

This commit is contained in:
2026-01-14 15:34:02 +01:00
parent c2e80ab690
commit c005c50081
4 changed files with 22 additions and 14 deletions

View File

@@ -27,7 +27,7 @@ const getParentMenu = (submenu: string): SettingsMenu => {
return match[1] as SettingsMenu;
};
const { selectedButton: selected, selectorPosition } = useButtonNavigation({
const { select, selected, selectorPosition } = useButtonNavigation({
buttons: {
options: [31, 119, 49, 49],
optionsLanguage: [31, 71, 49, 49],
@@ -52,9 +52,9 @@ const { selectedButton: selected, selectorPosition } = useButtonNavigation({
if (isSubMenu(buttonName)) {
settingsStore.openSubMenu(buttonName);
} else {
if (buttonName === "options") selected.value = "optionsLanguage";
if (buttonName === "clock") selected.value = "clockAlarm";
if (buttonName === "user") selected.value = "userName";
if (buttonName === "options") select("optionsLanguage");
if (buttonName === "clock") select("clockAlarm");
if (buttonName === "user") select("userName");
if (buttonName === "touchScreen") throw new Error("Not implemented");
}
},
@@ -183,7 +183,7 @@ const viewComponents: Record<string, Component> = {
:y-offset="0"
b-label="Go back"
a-label="Select"
@activate-b="selected = getParentMenu(selected)"
@activate-b="select(getParentMenu(selected))"
/>
<CommonButtons
v-else