diff --git a/src/components/init.js b/src/components/init.js
index d751f8a0c9..d4bcf2d236 100644
--- a/src/components/init.js
+++ b/src/components/init.js
@@ -38,6 +38,8 @@ const betaflightModel = reactive({
PortUsage,
PortHandler,
CONNECTION,
+ // Reactive expert mode flag to drive tab visibility via Vue
+ expertMode: false,
});
tippy.setDefaultProps({
diff --git a/src/index.html b/src/index.html
index f68454799c..27bc3020ed 100644
--- a/src/index.html
+++ b/src/index.html
@@ -88,7 +88,7 @@
@@ -137,27 +137,22 @@
-
+
-
-
-
+
+
+
-
+
-
-
-
-
+
+
+
+
-
diff --git a/src/js/utils/updateTabList.js b/src/js/utils/updateTabList.js
index 20efa18fb9..2337ac08cd 100644
--- a/src/js/utils/updateTabList.js
+++ b/src/js/utils/updateTabList.js
@@ -1,19 +1,14 @@
import $ from "jquery";
-import FC from "../fc";
-export function updateTabList(features) {
- const isExpertModeEnabled = $('input[name="expertModeCheckbox"]').is(":checked");
-
- $("#tabs ul.mode-connected li.tab_failsafe").toggle(isExpertModeEnabled);
- $("#tabs ul.mode-connected li.tab_adjustments").toggle(isExpertModeEnabled);
- $("#tabs ul.mode-connected li.tab_sensors").toggle(isExpertModeEnabled);
- $("#tabs ul.mode-connected li.tab_logging").toggle(isExpertModeEnabled);
- $("#tabs ul.mode-connected li.tab_servos").toggle(
- ["USE_SERVOS", "USE_WING"].some((option) => FC.CONFIG?.buildOptions?.includes(option)),
- );
-
- $("#tabs ul.mode-connected li.tab_gps").toggle(FC.CONFIG?.buildOptions?.includes("USE_GPS"));
- $("#tabs ul.mode-connected li.tab_led_strip").toggle(features.isEnabled("LED_STRIP"));
- $("#tabs ul.mode-connected li.tab_transponder").toggle(features.isEnabled("TRANSPONDER"));
- $("#tabs ul.mode-connected li.tab_osd").toggle(features.isEnabled("OSD"));
+// Delegate tab visibility to Vue via template v-show bindings. This function now
+// only syncs the expert mode checkbox state to the global Vue model if present.
+export function updateTabList(_features) {
+ try {
+ const isExpertModeEnabled = $('input[name="expertModeCheckbox"]').is(":checked");
+ if (window.vm && typeof window.vm.expertMode !== "undefined") {
+ window.vm.expertMode = isExpertModeEnabled;
+ }
+ } catch {
+ // noop: if Vue model not available, do nothing
+ }
}