Added UI block for unsupported connection methods (#39)
* Initial commit * Removed annoying space * Updated unneeded imports
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import type React from "react";
|
import React, { useState } from "react";
|
||||||
|
|
||||||
import { FiBluetooth, FiTerminal, FiWifi } from "react-icons/fi";
|
import { FiBluetooth, FiTerminal, FiWifi } from "react-icons/fi";
|
||||||
|
|
||||||
@@ -8,23 +8,26 @@ import { HTTP } from "./PageComponents/Connect/HTTP.js";
|
|||||||
import { Serial } from "./PageComponents/Connect/Serial.js";
|
import { Serial } from "./PageComponents/Connect/Serial.js";
|
||||||
|
|
||||||
export const NewDevice = () => {
|
export const NewDevice = () => {
|
||||||
const tabs: TabType[] = [
|
const [tabs, _setTabs] = useState<TabType[]>([
|
||||||
{
|
{
|
||||||
name: "BLE",
|
name: "BLE",
|
||||||
icon: <FiBluetooth className="h-4" />,
|
icon: <FiBluetooth className="h-4" />,
|
||||||
element: BLE,
|
element: BLE,
|
||||||
|
disabled: !navigator.bluetooth
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "HTTP",
|
name: "HTTP",
|
||||||
icon: <FiWifi className="h-4" />,
|
icon: <FiWifi className="h-4" />,
|
||||||
element: HTTP,
|
element: HTTP,
|
||||||
|
disabled: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Serial",
|
name: "Serial",
|
||||||
icon: <FiTerminal className="h-4" />,
|
icon: <FiTerminal className="h-4" />,
|
||||||
element: Serial,
|
element: Serial,
|
||||||
},
|
disabled: !navigator.serial
|
||||||
];
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="m-auto h-96 w-96">
|
<div className="m-auto h-96 w-96">
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import type React from "react";
|
|||||||
import { Fragment } from "react";
|
import { Fragment } from "react";
|
||||||
|
|
||||||
import { Tab } from "@headlessui/react";
|
import { Tab } from "@headlessui/react";
|
||||||
|
import { Mono } from "@app/components/Mono";
|
||||||
|
|
||||||
export interface TabType {
|
export interface TabType {
|
||||||
name: string;
|
name: string;
|
||||||
@@ -50,7 +51,11 @@ export const TabbedContent = ({
|
|||||||
<Tab.Panels as={Fragment}>
|
<Tab.Panels as={Fragment}>
|
||||||
{tabs.map((entry, index) => (
|
{tabs.map((entry, index) => (
|
||||||
<Tab.Panel key={index} className="flex flex-grow">
|
<Tab.Panel key={index} className="flex flex-grow">
|
||||||
<entry.element />
|
{!entry.disabled ? <entry.element /> : (
|
||||||
|
<Mono>
|
||||||
|
This functionality is not supported in your browser.
|
||||||
|
</Mono>
|
||||||
|
)}
|
||||||
</Tab.Panel>
|
</Tab.Panel>
|
||||||
))}
|
))}
|
||||||
</Tab.Panels>
|
</Tab.Panels>
|
||||||
|
|||||||
Reference in New Issue
Block a user