This commit is contained in:
Sacha Weatherstone
2021-05-31 22:08:49 +10:00
parent 78bdb2b519
commit 1145df197c
7 changed files with 232 additions and 155 deletions
+22 -4
View File
@@ -1,5 +1,8 @@
import React from 'react';
import { ObservableResource } from 'observable-hooks';
import { Subject } from 'rxjs';
import type {
IBLEConnection,
ISerialConnection,
@@ -40,6 +43,18 @@ export interface languageTemplate {
no_message_placeholder: string;
}
// const adminPacketResource = useSuspense(props.connection.onAdminPacketEvent);
// const tmp$ = new Subject<Types.AdminPacket>().pipe(
// filter(
// (adminPacket) =>
// adminPacket.data.variant.oneofKind === 'getRadioResponse',
// ),
// );
// const tmp$ = props.connection.onAdminPacketEvent;
const tmpSubject = new Subject<Protobuf.RadioConfig_UserPreferences>();
export const adminPacketResource = new ObservableResource(tmpSubject);
const App = (): JSX.Element => {
const [deviceStatus, setDeviceStatus] =
React.useState<Types.DeviceStatusEnum>(
@@ -134,10 +149,13 @@ const App = (): JSX.Element => {
(adminMessage) => {
switch (adminMessage.data.variant.oneofKind) {
case 'getChannelResponse':
if (adminMessage.data.variant.getChannelResponse) {
const message = adminMessage.data.variant.getChannelResponse;
setChannels((channels) => [...channels, message]);
}
setChannels((channels) => [
...channels,
adminMessage.data.variant.getChannelResponse,
]);
break;
case 'getRadioResponse':
tmpSubject.next(adminMessage.data.variant.getRadioResponse);
break;
default:
break;