42 lines
974 B
TypeScript
42 lines
974 B
TypeScript
import { AppDispatch } from '../../app/store';
|
|
import {
|
|
setRadioStarted,
|
|
setRadioStopped,
|
|
unsetRadio,
|
|
setConnected,
|
|
setDisconnected,
|
|
} from './radioSlice';
|
|
|
|
|
|
export const getOnWSOpen = (dispatch: AppDispatch) => {
|
|
return () => {
|
|
console.log("[WS] Opened");
|
|
dispatch(setConnected());
|
|
}
|
|
};
|
|
|
|
export const getOnWSClose = (dispatch: AppDispatch) => {
|
|
return () => {
|
|
console.log("[WS] Closed")
|
|
dispatch(setDisconnected());
|
|
return true
|
|
}
|
|
};
|
|
|
|
export const getOnWSMessage = (dispatch: AppDispatch) => {
|
|
return (message: any) => {
|
|
console.log("[WS] Message: %s", JSON.stringify(message));
|
|
|
|
switch (message.status) {
|
|
case "STARTED":
|
|
dispatch(setRadioStarted());
|
|
break;
|
|
case "STOPPED":
|
|
dispatch(setRadioStopped());
|
|
break;
|
|
default:
|
|
dispatch(unsetRadio());
|
|
}
|
|
}
|
|
};
|