remove after_utc parameter when no signals found (#481)

This commit is contained in:
Tristan Timblin
2023-11-09 14:10:43 -08:00
committed by GitHub
parent 8f8e2a9b40
commit 88212d6362
2 changed files with 7 additions and 5 deletions

View File

@@ -35,7 +35,7 @@ const Main = ({ vin }) => {
<Box sx={{ display: "flex", alignItems: "baseline", gap: "8px" }}> <Box sx={{ display: "flex", alignItems: "baseline", gap: "8px" }}>
<span>Searching every</span> <span>Searching every</span>
<DelayController delays={delays} delayIndex={delayIndex} setDelayIndex={setDelayIndex} /> <DelayController delays={delays} delayIndex={delayIndex} setDelayIndex={setDelayIndex} />
<span>seconds for signals sent after {queryDate}.</span> {queryDate && <span>for signals sent after {queryDate}.</span>}
</Box> </Box>
<Table> <Table>
<TableHead> <TableHead>
@@ -86,7 +86,7 @@ const DelayController = ({
> >
{delays.map((delay, i) => { {delays.map((delay, i) => {
return ( return (
<MenuItem value={i} selected={i === delayIndex} key={delay}>{delay / 1000}</MenuItem> <MenuItem value={i} selected={i === delayIndex} key={delay}>{delay / 1000} seconds</MenuItem>
); );
})} })}
</Select> </Select>

View File

@@ -32,6 +32,7 @@ export const CANSignalProvider = ({ token, children }) => {
const [vin, setVIN] = useState(null); const [vin, setVIN] = useState(null);
const [signals, setSignals] = useState([]); const [signals, setSignals] = useState([]);
const [utc, setUtc] = useState(undefined); const [utc, setUtc] = useState(undefined);
const [hasFoundSignalsBefore, setHasFoundSignalsBefore] = useState(false);
useInterval( useInterval(
() => { () => {
@@ -55,14 +56,15 @@ export const CANSignalProvider = ({ token, children }) => {
if (mostRecentTimestamp) { if (mostRecentTimestamp) {
setUtc(new Date(mostRecentTimestamp).getTime() - 50); // apply slight offset to ensure last CAN Signals sent before sleep are returned. setUtc(new Date(mostRecentTimestamp).getTime() - 50); // apply slight offset to ensure last CAN Signals sent before sleep are returned.
} else { } else {
setUtc(new Date().getTime()); setUtc(undefined);
} }
const items = transformSignals(result.data); const items = transformSignals(result.data);
if (items.length > 0) { if (items.length > 0) {
setSignals(items); setSignals(items);
} else { setHasFoundSignalsBefore(true)
} else if (!hasFoundSignalsBefore) {
setSignals([BlankSignal("No signals")]); setSignals([BlankSignal("No signals")]);
} }
} catch (e) { } catch (e) {
@@ -73,7 +75,7 @@ export const CANSignalProvider = ({ token, children }) => {
return ( return (
<CANSignalContext.Provider <CANSignalContext.Provider
value={{ value={{
queryDate: new Date(utc).toLocaleTimeString(), queryDate: utc && new Date(utc).toLocaleTimeString(),
signals, signals,
setVIN, setVIN,
delays, delays,