Use rome and initial format

This commit is contained in:
Sacha Weatherstone
2023-07-09 13:59:31 +10:00
parent a65bc37be5
commit 20ac657b51
90 changed files with 3350 additions and 3092 deletions
+5 -5
View File
@@ -10,7 +10,7 @@ import {
Tabs,
TabsContent,
TabsList,
TabsTrigger
TabsTrigger,
} from "@app/components/UI/Tabs.js";
export const getChannelName = (channel: Protobuf.Channel) =>
@@ -23,7 +23,7 @@ export const getChannelName = (channel: Protobuf.Channel) =>
export const ChannelsPage = (): JSX.Element => {
const { channels, setDialogOpen } = useDevice();
const [activeChannel, setActiveChannel] = useState<Types.ChannelNumber>(
Types.ChannelNumber.PRIMARY
Types.ChannelNumber.PRIMARY,
);
const currentChannel = channels.get(activeChannel);
@@ -41,14 +41,14 @@ export const ChannelsPage = (): JSX.Element => {
icon: ImportIcon,
onClick() {
setDialogOpen("import", true);
}
},
},
{
icon: QrCodeIcon,
onClick() {
setDialogOpen("QR", true);
}
}
},
},
]}
>
<Tabs defaultValue="0">
+9 -9
View File
@@ -11,7 +11,7 @@ import {
Tabs,
TabsContent,
TabsList,
TabsTrigger
TabsTrigger,
} from "@components/UI/Tabs.js";
export const DeviceConfig = (): JSX.Element => {
@@ -21,33 +21,33 @@ export const DeviceConfig = (): JSX.Element => {
{
label: "Device",
element: Device,
count: 0
count: 0,
},
{
label: "Position",
element: Position
element: Position,
},
{
label: "Power",
element: Power
element: Power,
},
{
label: "Network",
element: Network,
disabled: !hardware.hasWifi
disabled: !hardware.hasWifi,
},
{
label: "Display",
element: Display
element: Display,
},
{
label: "LoRa",
element: LoRa
element: LoRa,
},
{
label: "Bluetooth",
element: Bluetooth
}
element: Bluetooth,
},
];
return (
+10 -10
View File
@@ -12,7 +12,7 @@ import {
Tabs,
TabsContent,
TabsList,
TabsTrigger
TabsTrigger,
} from "@components/UI/Tabs.js";
export const ModuleConfig = (): JSX.Element => {
@@ -21,36 +21,36 @@ export const ModuleConfig = (): JSX.Element => {
const tabs = [
{
label: "MQTT",
element: MQTT
element: MQTT,
},
{
label: "Serial",
element: Serial
element: Serial,
},
{
label: "Ext Notif",
element: ExternalNotification
element: ExternalNotification,
},
{
label: "S&F",
element: StoreForward
element: StoreForward,
},
{
label: "Range Test",
element: RangeTest
element: RangeTest,
},
{
label: "Telemetry",
element: Telemetry
element: Telemetry,
},
{
label: "Canned",
element: CannedMessage
element: CannedMessage,
},
{
label: "Audio",
element: Audio
}
element: Audio,
},
];
return (
+8 -8
View File
@@ -47,24 +47,24 @@ export const ConfigPage = (): JSX.Element => {
async (config) =>
await connection?.setConfig(config).then(() =>
toast({
title: `Config ${config.payloadVariant.case} saved`
})
)
title: `Config ${config.payloadVariant.case} saved`,
}),
),
);
} else {
workingModuleConfig.map(
async (moduleConfig) =>
await connection?.setModuleConfig(moduleConfig).then(() =>
toast({
title: `Config ${moduleConfig.payloadVariant.case} saved`
})
)
title: `Config ${moduleConfig.payloadVariant.case} saved`,
}),
),
);
}
await connection?.commitEditSettings();
}
}
},
},
]}
>
{activeConfigSection === "device" ? <DeviceConfig /> : <ModuleConfig />}
+15 -15
View File
@@ -9,7 +9,7 @@ import {
ZoomInIcon,
ZoomOutIcon,
BoxSelectIcon,
MapPinIcon
MapPinIcon,
} from "lucide-react";
import { bbox, lineString } from "@turf/turf";
import { SidebarSection } from "@components/UI/Sidebar/SidebarSection.js";
@@ -30,7 +30,7 @@ export const MapPage = (): JSX.Element => {
const getBBox = () => {
if (!map) return;
const nodesWithPosition = allNodes.filter(
(node) => node.position?.latitudeI
(node) => node.position?.latitudeI,
);
if (!nodesWithPosition.length) return;
if (nodesWithPosition.length === 1) {
@@ -38,24 +38,24 @@ export const MapPage = (): JSX.Element => {
zoom: 12,
center: [
(nodesWithPosition[0].position?.longitudeI ?? 0) / 1e7,
(nodesWithPosition[0].position?.latitudeI ?? 0) / 1e7
]
(nodesWithPosition[0].position?.latitudeI ?? 0) / 1e7,
],
});
return;
}
const line = lineString(
nodesWithPosition.map((n) => [
(n.position?.latitudeI ?? 0) / 1e7,
(n.position?.longitudeI ?? 0) / 1e7
])
(n.position?.longitudeI ?? 0) / 1e7,
]),
);
const bounds = bbox(line);
const center = map.cameraForBounds(
[
[bounds[1], bounds[0]],
[bounds[3], bounds[2]]
[bounds[3], bounds[2]],
],
{ padding: { top: 10, bottom: 10, left: 10, right: 10 } }
{ padding: { top: 10, bottom: 10, left: 10, right: 10 } },
);
if (center) map.easeTo(center);
};
@@ -89,20 +89,20 @@ export const MapPage = (): JSX.Element => {
icon: ZoomInIcon,
onClick() {
map?.zoomIn();
}
},
},
{
icon: ZoomOutIcon,
onClick() {
map?.zoomOut();
}
},
},
{
icon: BoxSelectIcon,
onClick() {
getBBox();
}
}
},
},
]}
>
<Map
@@ -126,7 +126,7 @@ export const MapPage = (): JSX.Element => {
initialViewState={{
zoom: 10,
latitude: -38,
longitude: 145
longitude: 145,
}}
>
{waypoints.map((wp) => (
@@ -162,8 +162,8 @@ export const MapPage = (): JSX.Element => {
zoom: 12,
center: [
(node.position?.longitudeI ?? 0) / 1e7,
(node.position?.latitudeI ?? 0) / 1e7
]
(node.position?.latitudeI ?? 0) / 1e7,
],
});
}}
>
+5 -5
View File
@@ -15,14 +15,14 @@ export const MessagesPage = (): JSX.Element => {
const [chatType, setChatType] =
useState<Types.PacketDestination>("broadcast");
const [activeChat, setActiveChat] = useState<number>(
Types.ChannelNumber.PRIMARY
Types.ChannelNumber.PRIMARY,
);
const filteredNodes = Array.from(nodes.values()).filter(
(n) => n.num !== hardware.myNodeNum
(n) => n.num !== hardware.myNodeNum,
);
const allChannels = Array.from(channels.values());
const filteredChannels = allChannels.filter(
(ch) => ch.role !== Protobuf.Channel_Role.DISABLED
(ch) => ch.role !== Protobuf.Channel_Role.DISABLED,
);
const currentChannel = channels.get(activeChat);
@@ -82,7 +82,7 @@ export const MessagesPage = (): JSX.Element => {
messages={messages.broadcast.get(channel.index)}
channel={channel.index}
/>
)
),
)}
{filteredNodes.map(
(node) =>
@@ -93,7 +93,7 @@ export const MessagesPage = (): JSX.Element => {
messages={messages.direct.get(node.num)}
channel={Types.ChannelNumber.PRIMARY}
/>
)
),
)}
</PageLayout>
</>
+9 -8
View File
@@ -11,7 +11,7 @@ export const PeersPage = (): JSX.Element => {
const { nodes, hardware } = useDevice();
const filteredNodes = Array.from(nodes.values()).filter(
(n) => n.num !== hardware.myNodeNum
(n) => n.num !== hardware.myNodeNum,
);
return (
@@ -25,16 +25,17 @@ export const PeersPage = (): JSX.Element => {
{ title: "Model", type: "normal", sortable: true },
{ title: "MAC Address", type: "normal", sortable: true },
{ title: "Last Heard", type: "normal", sortable: true },
{ title: "SNR", type: "normal", sortable: true }
{ title: "SNR", type: "normal", sortable: true },
]}
rows={filteredNodes.map((node) => [
<Hashicon size={24} value={node.num.toString()} />,
<h1>
{node.user?.longName ?? (node.user?.macaddr
? `Meshtastic ${base16
.stringify(node.user?.macaddr.subarray(4, 6) ?? [])
.toLowerCase()}`
: `UNK: ${node.num}`)}
{node.user?.longName ??
(node.user?.macaddr
? `Meshtastic ${base16
.stringify(node.user?.macaddr.subarray(4, 6) ?? [])
.toLowerCase()}`
: `UNK: ${node.num}`)}
</h1>,
<Mono>{Protobuf.HardwareModel[node.user?.hwModel ?? 0]}</Mono>,
@@ -53,7 +54,7 @@ export const PeersPage = (): JSX.Element => {
{node.snr}db/
{Math.min(Math.max((node.snr + 10) * 5, 0), 100)}%/
{(node.snr + 10) * 5}raw
</Mono>
</Mono>,
])}
/>
</div>