- {channelSet?.settings.map((channel, index) => (
-
+ {channelSet?.settings.map((channel) => (
+
-
+
))}
diff --git a/src/components/Dialog/NewDeviceDialog.tsx b/src/components/Dialog/NewDeviceDialog.tsx
index bc776192..378ef6fb 100644
--- a/src/components/Dialog/NewDeviceDialog.tsx
+++ b/src/components/Dialog/NewDeviceDialog.tsx
@@ -1,3 +1,6 @@
+import { BLE } from "../PageComponents/Connect/BLE.js";
+import { HTTP } from "../PageComponents/Connect/HTTP.js";
+import { Serial } from "../PageComponents/Connect/Serial.js";
import {
Dialog,
DialogContent,
@@ -11,11 +14,8 @@ import {
TabsList,
TabsTrigger,
} from "@components/UI/Tabs.js";
-import { Subtle } from "@components/UI/Typography/Subtle.js";
import { Link } from "@components/UI/Typography/Link.js";
-import { HTTP } from "../PageComponents/Connect/HTTP.js";
-import { BLE } from "../PageComponents/Connect/BLE.js";
-import { Serial } from "../PageComponents/Connect/Serial.js";
+import { Subtle } from "@components/UI/Typography/Subtle.js";
const tabs = [
{
diff --git a/src/components/Dialog/QRDialog.tsx b/src/components/Dialog/QRDialog.tsx
index 07f09a94..8c3de671 100644
--- a/src/components/Dialog/QRDialog.tsx
+++ b/src/components/Dialog/QRDialog.tsx
@@ -1,8 +1,4 @@
-import { useEffect, useState } from "react";
-import { fromByteArray } from "base64-js";
-import { QRCode } from "react-qrcode-logo";
import { Checkbox } from "@components/UI/Checkbox.js";
-import { Input } from "@components/UI/Input.js";
import {
Dialog,
DialogContent,
@@ -11,9 +7,13 @@ import {
DialogHeader,
DialogTitle,
} from "@components/UI/Dialog.js";
-import { ClipboardIcon } from "lucide-react";
-import { Protobuf, Types } from "@meshtastic/meshtasticjs";
+import { Input } from "@components/UI/Input.js";
import { Label } from "@components/UI/Label.js";
+import { Protobuf, Types } from "@meshtastic/meshtasticjs";
+import { fromByteArray } from "base64-js";
+import { ClipboardIcon } from "lucide-react";
+import { useEffect, useState } from "react";
+import { QRCode } from "react-qrcode-logo";
export interface QRDialogProps {
open: boolean;
diff --git a/src/components/Dialog/RebootDialog.tsx b/src/components/Dialog/RebootDialog.tsx
index ec61025d..3d7f8d7f 100644
--- a/src/components/Dialog/RebootDialog.tsx
+++ b/src/components/Dialog/RebootDialog.tsx
@@ -1,5 +1,4 @@
-import { useState } from "react";
-import { useDevice } from "@core/stores/deviceStore.js";
+import { Button } from "@components/UI/Button.js";
import {
Dialog,
DialogContent,
@@ -8,9 +7,10 @@ import {
DialogHeader,
DialogTitle,
} from "@components/UI/Dialog.js";
-import { ClockIcon, RefreshCwIcon } from "lucide-react";
-import { Button } from "@components/UI/Button.js";
import { Input } from "@components/UI/Input.js";
+import { useDevice } from "@core/stores/deviceStore.js";
+import { ClockIcon, RefreshCwIcon } from "lucide-react";
+import { useState } from "react";
export interface RebootDialogProps {
open: boolean;
diff --git a/src/components/Dialog/ShutdownDialog.tsx b/src/components/Dialog/ShutdownDialog.tsx
index 09f8afd5..ea1ac487 100644
--- a/src/components/Dialog/ShutdownDialog.tsx
+++ b/src/components/Dialog/ShutdownDialog.tsx
@@ -1,5 +1,4 @@
-import { useState } from "react";
-import { useDevice } from "@core/stores/deviceStore.js";
+import { Button } from "@components/UI/Button.js";
import {
Dialog,
DialogContent,
@@ -7,9 +6,10 @@ import {
DialogHeader,
DialogTitle,
} from "@components/UI/Dialog.js";
-import { ClockIcon, PowerIcon } from "lucide-react";
-import { Button } from "@components/UI/Button.js";
import { Input } from "@components/UI/Input.js";
+import { useDevice } from "@core/stores/deviceStore.js";
+import { ClockIcon, PowerIcon } from "lucide-react";
+import { useState } from "react";
export interface ShutdownDialogProps {
open: boolean;
diff --git a/src/components/Form/DynamicForm.tsx b/src/components/Form/DynamicForm.tsx
index 1b5b5a7b..d6b7ef4c 100644
--- a/src/components/Form/DynamicForm.tsx
+++ b/src/components/Form/DynamicForm.tsx
@@ -1,3 +1,8 @@
+import { Button } from "../UI/Button.js";
+import { DynamicFormField, FieldProps } from "./DynamicFormField.js";
+import { FieldWrapper } from "./FormWrapper.js";
+import { H4 } from "@components/UI/Typography/H4.js";
+import { Subtle } from "@components/UI/Typography/Subtle.js";
import {
Control,
DeepPartial,
@@ -6,11 +11,6 @@ import {
SubmitHandler,
useForm,
} from "react-hook-form";
-import { H4 } from "@components/UI/Typography/H4.js";
-import { Subtle } from "@components/UI/Typography/Subtle.js";
-import { DynamicFormField, FieldProps } from "./DynamicFormField.js";
-import { FieldWrapper } from "./FormWrapper.js";
-import { Button } from "../UI/Button.js";
interface DisabledBy
{
fieldName: Path;
@@ -79,9 +79,9 @@ export function DynamicForm({
onChange: handleSubmit(onSubmit),
})}
>
- {fieldGroups.map((fieldGroup, index) => (
+ {fieldGroups.map((fieldGroup) => (
@@ -89,10 +89,10 @@ export function DynamicForm({
{fieldGroup.description}
- {fieldGroup.fields.map((field, index) => (
+ {fieldGroup.fields.map((field) => (
=
| InputFieldProps
diff --git a/src/components/Form/FormInput.tsx b/src/components/Form/FormInput.tsx
index 8a62ea44..7f5283f7 100644
--- a/src/components/Form/FormInput.tsx
+++ b/src/components/Form/FormInput.tsx
@@ -1,9 +1,9 @@
-import type { LucideIcon } from "lucide-react";
+import { Input } from "../UI/Input.js";
import type {
BaseFormBuilderProps,
GenericFormElementProps,
} from "./DynamicForm.js";
-import { Input } from "../UI/Input.js";
+import type { LucideIcon } from "lucide-react";
import { Controller, FieldValues } from "react-hook-form";
export interface InputFieldProps extends BaseFormBuilderProps {
diff --git a/src/components/Form/FormSelect.tsx b/src/components/Form/FormSelect.tsx
index cd2ed7ed..24d63596 100644
--- a/src/components/Form/FormSelect.tsx
+++ b/src/components/Form/FormSelect.tsx
@@ -1,8 +1,3 @@
-import type {
- BaseFormBuilderProps,
- GenericFormElementProps,
-} from "./DynamicForm.js";
-import { Controller, FieldValues } from "react-hook-form";
import {
Select,
SelectContent,
@@ -10,6 +5,11 @@ import {
SelectTrigger,
SelectValue,
} from "../UI/Select.js";
+import type {
+ BaseFormBuilderProps,
+ GenericFormElementProps,
+} from "./DynamicForm.js";
+import { Controller, FieldValues } from "react-hook-form";
export interface SelectFieldProps extends BaseFormBuilderProps {
type: "select" | "multiSelect";
@@ -50,8 +50,8 @@ export function SelectInput({
- {optionsEnumValues.map(([name, value], index) => (
-
+ {optionsEnumValues.map(([name, value]) => (
+
{formatEnumName
? name
.replace(/_/g, " ")
diff --git a/src/components/PageComponents/Channel.tsx b/src/components/PageComponents/Channel.tsx
index ff552cf2..ec1b1e72 100644
--- a/src/components/PageComponents/Channel.tsx
+++ b/src/components/PageComponents/Channel.tsx
@@ -1,9 +1,9 @@
-import { fromByteArray, toByteArray } from "base64-js";
import type { ChannelValidation } from "@app/validation/channel.js";
-import { Protobuf } from "@meshtastic/meshtasticjs";
import { DynamicForm } from "@components/Form/DynamicForm.js";
-import { useDevice } from "@core/stores/deviceStore.js";
import { useToast } from "@core/hooks/useToast.js";
+import { useDevice } from "@core/stores/deviceStore.js";
+import { Protobuf } from "@meshtastic/meshtasticjs";
+import { fromByteArray, toByteArray } from "base64-js";
export interface SettingsPanelProps {
channel: Protobuf.Channel;
diff --git a/src/components/PageComponents/Config/Bluetooth.tsx b/src/components/PageComponents/Config/Bluetooth.tsx
index 254bc25d..b0ac9a6b 100644
--- a/src/components/PageComponents/Config/Bluetooth.tsx
+++ b/src/components/PageComponents/Config/Bluetooth.tsx
@@ -1,7 +1,7 @@
import type { BluetoothValidation } from "@app/validation/config/bluetooth.js";
+import { DynamicForm } from "@components/Form/DynamicForm.js";
import { useDevice } from "@core/stores/deviceStore.js";
import { Protobuf } from "@meshtastic/meshtasticjs";
-import { DynamicForm } from "@components/Form/DynamicForm.js";
export const Bluetooth = (): JSX.Element => {
const { config, setWorkingConfig } = useDevice();
diff --git a/src/components/PageComponents/Config/LoRa.tsx b/src/components/PageComponents/Config/LoRa.tsx
index 102dbc31..3165c656 100644
--- a/src/components/PageComponents/Config/LoRa.tsx
+++ b/src/components/PageComponents/Config/LoRa.tsx
@@ -1,7 +1,7 @@
import type { LoRaValidation } from "@app/validation/config/lora.js";
+import { DynamicForm } from "@components/Form/DynamicForm.js";
import { useDevice } from "@core/stores/deviceStore.js";
import { Protobuf } from "@meshtastic/meshtasticjs";
-import { DynamicForm } from "@components/Form/DynamicForm.js";
export const LoRa = (): JSX.Element => {
const { config, setWorkingConfig } = useDevice();
diff --git a/src/components/PageComponents/Config/Network.tsx b/src/components/PageComponents/Config/Network.tsx
index eb91f7e0..5aba2d24 100644
--- a/src/components/PageComponents/Config/Network.tsx
+++ b/src/components/PageComponents/Config/Network.tsx
@@ -1,7 +1,7 @@
import type { NetworkValidation } from "@app/validation/config/network.js";
+import { DynamicForm } from "@components/Form/DynamicForm.js";
import { useDevice } from "@core/stores/deviceStore.js";
import { Protobuf } from "@meshtastic/meshtasticjs";
-import { DynamicForm } from "@components/Form/DynamicForm.js";
export const Network = (): JSX.Element => {
const { config, setWorkingConfig } = useDevice();
diff --git a/src/components/PageComponents/Connect/BLE.tsx b/src/components/PageComponents/Connect/BLE.tsx
index 988f0d12..7c823883 100644
--- a/src/components/PageComponents/Connect/BLE.tsx
+++ b/src/components/PageComponents/Connect/BLE.tsx
@@ -1,11 +1,11 @@
-import { useCallback, useEffect, useState } from "react";
-import { Mono } from "@components/generic/Mono.js";
import { Button } from "@components/UI/Button.js";
+import { Mono } from "@components/generic/Mono.js";
import { useAppStore } from "@core/stores/appStore.js";
import { useDeviceStore } from "@core/stores/deviceStore.js";
import { subscribeAll } from "@core/subscriptions.js";
import { randId } from "@core/utils/randId.js";
import { Constants, IBLEConnection } from "@meshtastic/meshtasticjs";
+import { useCallback, useEffect, useState } from "react";
export const BLE = (): JSX.Element => {
const [bleDevices, setBleDevices] = useState([]);
@@ -35,9 +35,9 @@ export const BLE = (): JSX.Element => {
return (
- {bleDevices.map((device, index) => (
+ {bleDevices.map((device) => (