Commit 1f92b00d authored by Sarvin Taba's avatar Sarvin Taba

camera data change to object instead of array

parent f92cf5fd
...@@ -11,7 +11,7 @@ import GeneralStatus from "./components/GeneralStatus"; ...@@ -11,7 +11,7 @@ import GeneralStatus from "./components/GeneralStatus";
import socketClient from "socket.io-client" import socketClient from "socket.io-client"
import {AutoSizer} from 'react-virtualized'; import {AutoSizer} from 'react-virtualized';
const socket = socketClient("http://192.168.0.98:5000",{transports:['websocket']}); const socket = socketClient(process.env.REACT_APP_SOCKET_URL,{transports:['websocket']});
function App() { function App() {
// const [CameraData, setCameraData] = useState({}); // const [CameraData, setCameraData] = useState({});
// const [newCameraData , setNewCameraData] = useState({}); // const [newCameraData , setNewCameraData] = useState({});
...@@ -45,10 +45,10 @@ function App() { ...@@ -45,10 +45,10 @@ function App() {
return ( return (
<div className="App pt-3"> <div className="App pt-3">
<h4>Backpack GUI</h4> <h4>Backpack GUI</h4>
{/* <div className=" m-2 py-1 border border-dark rounded"> <div className=" m-2 py-1 border border-dark rounded">
<Cameras socket={socket} /> <Cameras socket={socket} />
<ImuGps socket={socket} /> <ImuGps socket={socket} />
</div> */} </div>
<div className=" m-2 py-1 border border-dark rounded"> <div className=" m-2 py-1 border border-dark rounded">
<GeneralStatus socket={socket} /> <GeneralStatus socket={socket} />
</div> </div>
......
...@@ -4,13 +4,26 @@ import Axios from "axios"; ...@@ -4,13 +4,26 @@ import Axios from "axios";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
const Cameras = ({socket}) => { const Cameras = ({socket}) => {
const [cameraData, setCameraData] = useState([]); const [cameraData0, setCameraData0] = useState([]);
const [cameraData1, setCameraData1] = useState([]);
const [cameraData2, setCameraData2] = useState([]);
const [cameraData3, setCameraData3] = useState([]);
const [newCameraData, setNewCameraData] = useState([]); const [newCameraData, setNewCameraData] = useState([]);
socket.on("cameraData", (res) => { socket.on("cameraData", (res) => {
console.log(res); console.log(res)
setCameraData(res); switch ( res.cam_id )
{
case 0 : setCameraData0(res);
break;
case 1 : setCameraData1(res);
break;
case 2 : setCameraData2(res);
break;
case 3 : setCameraData3(res);
break;
}
}) })
// useEffect(() => { // useEffect(() => {
// Axios({ // Axios({
...@@ -26,18 +39,18 @@ const Cameras = ({socket}) => { ...@@ -26,18 +39,18 @@ const Cameras = ({socket}) => {
return ( return (
<React.Fragment> <React.Fragment>
<div className="row m-1 py-1"> <div className="row m-1 py-1">
{(cameraData || []).map((cam) => ( <div className="col-3 px-1" >
<div className="col-3 px-1" key={`divCamera_${cam.name}`}> <Camera data={cameraData0}></Camera>
<Camera
bat={cam.bat}
sd={cam.sd}
name={cam.name}
connection={cam.connection}
recording={cam.recording}
key={`cameraCom_${cam.name}`}
></Camera>
</div> </div>
))} <div className="col-3 px-1" >
<Camera data={cameraData1}></Camera>
</div>
<div className="col-3 px-1" >
<Camera data={cameraData2}></Camera>
</div>
<div className="col-3 px-1" >
<Camera data={cameraData3}></Camera>
</div>
</div> </div>
</React.Fragment> </React.Fragment>
); );
......
...@@ -23,10 +23,6 @@ class DebugList extends React.Component { ...@@ -23,10 +23,6 @@ class DebugList extends React.Component {
rowRenderer = ({ index, isScrolling, key, style }) => { rowRenderer = ({ index, isScrolling, key, style }) => {
return ( return (
<li className={"list-group-item " + this.state.data[index].type } key={`liMessages_${index}`}>{this.state.data[index].message}</li> <li className={"list-group-item " + this.state.data[index].type } key={`liMessages_${index}`}>{this.state.data[index].message}</li>
// <div key={key} style={style}>
// <div>{this.state.data[index].message}</div>
// {/* <div>{this.props.data[index].email}</div> */}
// </div>
); );
}; };
......
import { useState } from "react"; import { useState , useEffect } from "react";
import DebugList from"./DebugList"; import DebugList from"./DebugList";
const DebugMessages =({socket})=> const DebugMessages =({socket})=>
...@@ -7,7 +7,7 @@ const DebugMessages =({socket})=> ...@@ -7,7 +7,7 @@ const DebugMessages =({socket})=>
useEffect(() => {
socket.on("debugMessages", (res) => { socket.on("debugMessages", (res) => {
console.log('1',res) console.log('1',res)
...@@ -16,15 +16,18 @@ const DebugMessages =({socket})=> ...@@ -16,15 +16,18 @@ const DebugMessages =({socket})=>
// let db=[res,...debugMessages] // let db=[res,...debugMessages]
// let dbl=db.map((msg)=>{return msg['id']}) // let dbl=db.map((msg)=>{return msg['id']})
setDebugMessages([res,...debugMessages]); setDebugMessages([res,...debugMessages]);
}, [])
}) })
return( return(
// <ul className="list-group"> <ul className="list-group">
// {(debugMessages || []).map((msg, index) => ( {(debugMessages || []).map((msg, index) => (
// <li className={"list-group-item " + msg.type } key={`liMessages_${index}`}>{msg.message}</li> <li className={"list-group-item " + msg.type } key={`liMessages_${index}`}>{msg.message}</li>
// ) )} ) )}
// </ul> </ul>
<DebugList data={debugMessages} /> // <DebugList data={debugMessages} />
) )
} }
export default DebugMessages; export default DebugMessages;
\ No newline at end of file
...@@ -9,30 +9,30 @@ import { ...@@ -9,30 +9,30 @@ import {
import "./Camera.css"; import "./Camera.css";
const Camera = (props) => { const Camera = (props) => {
return ( return (
<div className={"border border-dark p-1 rounded " + ( props.connected === 0 ? "" : "border-thick") }> <div className={"border border-dark p-1 rounded " + ( props.data.connected === 0 ? "" : "border-thick") }>
<div className={props.bat < 20 ? " text-danger" : ""}> <div className={props.data.bat < 20 ? " text-danger" : ""}>
<div className="col-3 float-left text-right"> <div className="col-3 float-left text-right">
<FontAwesomeIcon <FontAwesomeIcon
icon={props.bat < 20 ? faBatteryQuarter : faBatteryFull} icon={props.data.bat < 20 ? faBatteryQuarter : faBatteryFull}
className="menu-icon " className="menu-icon "
/> />
</div> </div>
<span className={props.bat < 20 ? " p-1 text-danger small" : "p-1 small"}> <span className={props.data.bat < 20 ? " p-1 text-danger small" : "p-1 small"}>
{props.bat}% {props.data.bat}%
</span> </span>
</div> </div>
<div className={props.connection ? "text-success" :" text-danger"}> <div className={props.data.connection ? "text-success" :" text-danger"}>
<div className="col-3 float-left text-right"> <div className="col-3 float-left text-right">
<FontAwesomeIcon icon={props.connection ? faLink : faUnlink} className="menu-icon" /> <FontAwesomeIcon icon={props.data.connection ? faLink : faUnlink} className="menu-icon" />
</div> </div>
<span className={ props.recording ? "flash small" :" small"}>{props.name}</span> <span className={ props.data.recording ? "flash small" :" small"}>{props.data.name || "--"}</span>
</div> </div>
<div className={props.sd < 60 ? "m-2 text-danger" : "m-2 "}> <div className={props.data.sd < 60 ? "m-2 text-danger" : "m-2 "}>
<div className="col-3 float-left text-right"> <div className="col-3 float-left text-right">
<FontAwesomeIcon icon={faSdCard} className="menu-icon" /> <FontAwesomeIcon icon={faSdCard} className="menu-icon" />
</div> </div>
<span className="p-1 small"> <span className="p-1 small">
{Math.floor(props.sd / 60)}:{Math.floor(props.sd % 60)} {Math.floor(props.data.sd / 60)}:{Math.floor(props.data.sd % 60)}
</span> </span>
</div> </div>
</div> </div>
......
...@@ -7,7 +7,7 @@ const Gps = ({socket}) => { ...@@ -7,7 +7,7 @@ const Gps = ({socket}) => {
const [gpsData, setGpsData] = useState({}); const [gpsData, setGpsData] = useState({});
socket.on("gpsData", (res) => { socket.on("gpsData", (res) => {
console.log(res); // console.log(res);
setGpsData(res); setGpsData(res);
}) })
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment