You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

74 lines
1.7 KiB

import { Bluetooth } from "@components/PageComponents/Config/Bluetooth.tsx";
import { Device } from "@components/PageComponents/Config/Device.tsx";
import { Display } from "@components/PageComponents/Config/Display.tsx";
import { LoRa } from "@components/PageComponents/Config/LoRa.tsx";
import { Network } from "@components/PageComponents/Config/Network.tsx";
import { Position } from "@components/PageComponents/Config/Position.tsx";
import { Power } from "@components/PageComponents/Config/Power.tsx";
import { Security } from "@components/PageComponents/Config/Security.tsx";
import {
Tabs,
TabsContent,
TabsList,
TabsTrigger,
} from "@components/UI/Tabs.tsx";
export const DeviceConfig = (): JSX.Element => {
const tabs = [
{
label: "Device",
element: Device,
count: 0,
},
{
label: "Position",
element: Position,
},
{
label: "Power",
element: Power,
},
{
label: "Network",
element: Network,
// disabled: !metadata.get(0)?.hasWifi,
},
{
label: "Display",
element: Display,
},
{
label: "LoRa",
element: LoRa,
},
{
label: "Bluetooth",
element: Bluetooth,
},
{
label: "Security",
element: Security,
},
];
return (
<Tabs defaultValue="Device">
<TabsList className="dark:bg-slate-800">
{tabs.map((tab) => (
<TabsTrigger
key={tab.label}
value={tab.label}
className="dark:text-white"
>
{tab.label}
</TabsTrigger>
))}
</TabsList>
{tabs.map((tab) => (
<TabsContent key={tab.label} value={tab.label}>
<tab.element />
</TabsContent>
))}
</Tabs>
);
};