diff --git a/src/App.js b/src/App.js
index 8d45bc9..7d16124 100644
--- a/src/App.js
+++ b/src/App.js
@@ -40,9 +40,13 @@ const theme = deepMerge(grommet, {
},
},
tab: {
+ active: {
+ weight: "bold",
+ },
margin: {
vertical: "xsmall",
},
+ border: undefined,
},
layer: {
background: "#00000000",
diff --git a/src/apolloclient.js b/src/apolloclient.js
index cb71dc1..3710cb4 100644
--- a/src/apolloclient.js
+++ b/src/apolloclient.js
@@ -55,7 +55,7 @@ const client = new ApolloClient({
]),
cache: new InMemoryCache({
possibleTypes: {
- IndiVector: ["NumberVector", "SwitchVector", "TextVector", "LightVector"],
+ IndiVector: ["NumberVector", "SwitchVector", "TextVector", "LightVector", "BLOBVector"],
},
typePolicies: {
Query: {
@@ -116,6 +116,8 @@ client
query: NEW_PROPERTY,
})
.subscribe(({ data }) => {
+ console.log(data.newIndiProp.id);
+ console.log(data.newIndiProp.vector)
const res = client.readQuery({
query: GETDEVICE,
variables: { id: data.newIndiProp.device.id },
@@ -126,10 +128,6 @@ client
data: {
device: {
...res.device,
- /*drivers:
- data.newProperty.name === "DRIVER_INFO"
- ? data.newProperty.vector.values[3].text
- : res.device.drivers,*/
connected:
data.newIndiProp.name === "CONNECTION"
? data.newIndiProp.vector.values[0].switch
diff --git a/src/components/indi/blob.js b/src/components/indi/blob.js
new file mode 100644
index 0000000..8c8fd28
--- /dev/null
+++ b/src/components/indi/blob.js
@@ -0,0 +1,20 @@
+import React from "react";
+import { Box, Text } from "grommet";
+import { Camera } from "grommet-icons";
+
+import { stateToColor } from "../../utils/indi";
+
+const BLOBVector = ({ vector }) => {
+ return (
+
+ {vector.values.map((v) => (
+
+ {v.label ? `${v.label} (${v.name})` : v.name}
+ Binary data
+
+ ))}
+
+ );
+};
+
+export default BLOBVector;
diff --git a/src/components/indi/device.js b/src/components/indi/device.js
index 95e809c..445d19b 100644
--- a/src/components/indi/device.js
+++ b/src/components/indi/device.js
@@ -36,6 +36,7 @@ const Device = ({ device, messages, onMessagesClosed }) => {
setCurrentTab(selectedTabs[device.id] || 0);
}, [device, selectedTabs]);
+
return (
{
+ const { data } = useQuery(GETDEVICES);
+ const [openMsg, setOpenMsg] = useState(false);
+
+ return (
+
+ {data ? (
+
+ {data && data.devices ? (
+ data.devices.map((d) => (
+ : }
+ title={d.name}
+ key={d.id}
+ >
+ setOpenMsg(false)}
+ />
+
+ ))
+ ) : (
+ no devices
+ )}
+
+ ) : null}
+ } onClick={() => setOpenMsg(true)} />
+
+ );
+};
diff --git a/src/components/indi/property.js b/src/components/indi/property.js
index 66afaa0..45ebc1f 100644
--- a/src/components/indi/property.js
+++ b/src/components/indi/property.js
@@ -7,6 +7,7 @@ import LightVector from "./light";
import NumberVector from "./number";
import SwitchVector from "./switch";
import TextVector from "./text";
+import BLOBVector from "./blob";
const Property = ({ property }) => {
return (
@@ -30,6 +31,9 @@ const Property = ({ property }) => {
{property.vector.__typename === "LightVector" && (
)}
+ {property.vector.__typename === "BLOBVector" && (
+
+ )}
);
};
diff --git a/src/devices.js b/src/devices.js
index 5a40c41..5daf743 100644
--- a/src/devices.js
+++ b/src/devices.js
@@ -3,11 +3,10 @@ import React, { useEffect, useState } from "react";
import { useQuery, useMutation } from "@apollo/client";
import gql from "graphql-tag";
import { deviceInfoFragment, propertyVectorFragment } from "./graphql/fragment";
-import Device from "./components/indi/device";
-import { Box, Tabs, Tab, Button, Header, Heading, Layer } from "grommet";
+import { Box, Button, Header, Heading, Layer } from "grommet";
import { Contact } from "grommet-icons";
import { isConnectedQuery } from "./graphql/query";
-import { StatusGood, StatusDisabled } from "grommet-icons";
+import { IndiPanel } from "./components/indi/panel";
const GETDEVICES = gql`
query devices {
@@ -55,7 +54,6 @@ const Devices = () => {
const { data } = useQuery(GETDEVICES);
const [connect] = useMutation(CONNECT);
const [disconnect] = useMutation(DISCONNECT);
- const [openMsg, setOpenMsg] = useState(false);
if (!data || !data.devices) {
return
No data
;
@@ -74,7 +72,7 @@ const Devices = () => {