-
-
- -
-
-
- {["Config", "User"].map((breadcrumb, index) => (
- -
-
-
- {breadcrumb}
-
-
- ))}
-
-
-
+ }
+ }
+ ]}
+ />
-
-
- {configSections.map((Config, index) => (
-
- {({ selected }) => (
-
- {Config.label}
-
- 3
-
-
- )}
-
- ))}
-
-
- {configSections.map((Config, index) => (
-
-
-
- ))}
-
-
+
);
};
diff --git a/src/pages/Config/ModuleConfig.tsx b/src/pages/Config/ModuleConfig.tsx
index c9a1cfb0..1f5b84fa 100644
--- a/src/pages/Config/ModuleConfig.tsx
+++ b/src/pages/Config/ModuleConfig.tsx
@@ -7,10 +7,14 @@ import { RangeTest } from "@components/PageComponents/ModuleConfig/RangeTest.js"
import { Serial } from "@components/PageComponents/ModuleConfig/Serial.js";
import { StoreForward } from "@components/PageComponents/ModuleConfig/StoreForward.js";
import { Telemetry } from "@components/PageComponents/ModuleConfig/Telemetry.js";
-import { Tab } from "@headlessui/react";
+import { useDevice } from "@app/core/providers/useDevice.js";
+import { NavBar } from "@app/Nav/NavBar.js";
+import { VerticalTabbedContent } from "@app/components/generic/VerticalTabbedContent.js";
export const ModuleConfig = (): JSX.Element => {
- const configSections = [
+ const { workingModuleConfig, connection } = useDevice();
+
+ const tabs = [
{
label: "MQTT",
element: MQTT
@@ -46,31 +50,23 @@ export const ModuleConfig = (): JSX.Element => {
];
return (
-
-
- {configSections.map((Config, index) => (
-
- {({ selected }) => (
-
- {Config.label}
-
- )}
-
- ))}
-
-
- {configSections.map((Config, index) => (
-
-
-
- ))}
-
-
+
+ {
+ await connection?.setModuleConfig(moduleConfig);
+ });
+ await connection?.commitEditSettings();
+ }
+ }
+ ]}
+ />
+
+
+
);
};
diff --git a/src/pages/Config/index.tsx b/src/pages/Config/index.tsx
index 7d6ffa6b..b978590c 100644
--- a/src/pages/Config/index.tsx
+++ b/src/pages/Config/index.tsx
@@ -14,17 +14,17 @@ export const ConfigPage = (): JSX.Element => {
const tabs: TabType[] = [
{
- name: "Device Config",
+ label: "Device Config",
icon:
,
element: DeviceConfig
},
{
- name: "Module Config",
+ label: "Module Config",
icon:
,
element: ModuleConfig
},
{
- name: "App Config",
+ label: "App Config",
icon:
,
element: AppConfig
}
diff --git a/src/pages/Extensions/Environment.tsx b/src/pages/Extensions/Environment.tsx
deleted file mode 100644
index 0a73dac5..00000000
--- a/src/pages/Extensions/Environment.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { useDevice } from "@core/providers/useDevice.js";
-
-export const Environment = (): JSX.Element => {
- const { nodes } = useDevice();
-
- return (
-
- {nodes.map((node, index) => (
-
{JSON.stringify(node.environmentMetrics)}
- ))}
-
- );
-};
diff --git a/src/pages/Extensions/FileBrowser.tsx b/src/pages/Extensions/FileBrowser.tsx
deleted file mode 100644
index 70d6c27f..00000000
--- a/src/pages/Extensions/FileBrowser.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { useEffect, useState } from "react";
-
-export interface File {
- nameModified: string;
- name: string;
- size: number;
-}
-
-export interface Files {
- data: {
- files: File[];
- fileSystem: {
- total: number;
- used: number;
- free: number;
- };
- };
- status: string;
-}
-
-export const FileBrowser = (): JSX.Element => {
- const [data, setData] = useState
();
-
- useEffect(() => {
- void fetch("http://meshtastic.local/json/fs/browse/static").then(
- async (res) => {
- setData((await res.json()) as Files);
- }
- );
- }, []);
-
- return (
-
- {data?.data.files.map((file) => (
-
- ))}
-
- );
-};
diff --git a/src/pages/Extensions/Index.tsx b/src/pages/Extensions/Index.tsx
deleted file mode 100644
index a56dbce4..00000000
--- a/src/pages/Extensions/Index.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { TabbedContent, TabType } from "@components/generic/TabbedContent";
-import { useDevice } from "@core/providers/useDevice.js";
-import {
- CloudIcon,
- DocumentIcon,
- SignalIcon
-} from "@heroicons/react/24/outline";
-import { Environment } from "@pages/Extensions/Environment.js";
-import { FileBrowser } from "@pages/Extensions/FileBrowser";
-
-export const ExtensionsPage = (): JSX.Element => {
- const { hardware } = useDevice();
-
- const tabs: TabType[] = [
- {
- name: "File Browser",
- icon: ,
- element: FileBrowser,
- disabled: !hardware.hasWifi
- },
- {
- name: "Range Test",
- icon: ,
- element: FileBrowser,
- disabled: !hardware.hasWifi
- },
- {
- name: "Environment",
- icon: ,
- element: Environment
- }
- ];
-
- return ;
-};
diff --git a/src/pages/Messages.tsx b/src/pages/Messages.tsx
index 69517a0d..f38afb11 100644
--- a/src/pages/Messages.tsx
+++ b/src/pages/Messages.tsx
@@ -9,7 +9,7 @@ export const MessagesPage = (): JSX.Element => {
const tabs: TabType[] = channels.map((channel) => {
return {
- name: channel.config.settings?.name.length
+ label: channel.config.settings?.name.length
? channel.config.settings?.name
: channel.config.index === 0
? "Primary"