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
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>
|
|
);
|
|
};
|
|
|