Improve typing for camera toggles

This commit is contained in:
Nicolas Mowen 2024-02-09 06:41:28 -07:00
parent f74092a10e
commit 5cf2a66b23
2 changed files with 11 additions and 9 deletions

View File

@ -10,7 +10,7 @@ import {
import { produce, Draft } from "immer"; import { produce, Draft } from "immer";
import useWebSocket, { ReadyState } from "react-use-websocket"; import useWebSocket, { ReadyState } from "react-use-websocket";
import { FrigateConfig } from "@/types/frigateConfig"; import { FrigateConfig } from "@/types/frigateConfig";
import { FrigateEvent } from "@/types/ws"; import { FrigateEvent, ToggleableSetting } from "@/types/ws";
type ReducerState = { type ReducerState = {
[topic: string]: { [topic: string]: {
@ -149,8 +149,8 @@ export function useWs(watchTopic: string, publishTopic: string) {
} }
export function useDetectState(camera: string): { export function useDetectState(camera: string): {
payload: string; payload: ToggleableSetting;
send: (payload: string, retain?: boolean) => void; send: (payload: ToggleableSetting, retain?: boolean) => void;
} { } {
const { const {
value: { payload }, value: { payload },
@ -160,8 +160,8 @@ export function useDetectState(camera: string): {
} }
export function useRecordingsState(camera: string): { export function useRecordingsState(camera: string): {
payload: string; payload: ToggleableSetting;
send: (payload: string, retain?: boolean) => void; send: (payload: ToggleableSetting, retain?: boolean) => void;
} { } {
const { const {
value: { payload }, value: { payload },
@ -171,8 +171,8 @@ export function useRecordingsState(camera: string): {
} }
export function useSnapshotsState(camera: string): { export function useSnapshotsState(camera: string): {
payload: string; payload: ToggleableSetting;
send: (payload: string, retain?: boolean) => void; send: (payload: ToggleableSetting, retain?: boolean) => void;
} { } {
const { const {
value: { payload }, value: { payload },
@ -182,8 +182,8 @@ export function useSnapshotsState(camera: string): {
} }
export function useAudioState(camera: string): { export function useAudioState(camera: string): {
payload: string; payload: ToggleableSetting;
send: (payload: string, retain?: boolean) => void; send: (payload: ToggleableSetting, retain?: boolean) => void;
} { } {
const { const {
value: { payload }, value: { payload },

View File

@ -32,3 +32,5 @@ export interface FrigateEvent {
before: FrigateObjectState; before: FrigateObjectState;
after: FrigateObjectState; after: FrigateObjectState;
} }
export type ToggleableSetting = "ON" | "OFF"