Added UI block for unsupported connection methods (#39)

* Initial commit

* Removed annoying space

* Updated unneeded imports
This commit is contained in:
Adam McQuilkin
2022-10-30 16:08:12 +11:00
committed by GitHub
parent 567ef4bf93
commit 9981495521
2 changed files with 13 additions and 5 deletions
+7 -4
View File
@@ -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">
+6 -1
View File
@@ -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>