Only show the last 24 hours by default

This commit is contained in:
Nicolas Mowen 2024-02-21 09:40:30 -07:00
parent 241d53eca6
commit 6b0701c73c
3 changed files with 47 additions and 6 deletions

View File

@ -5,9 +5,11 @@ import {
FaCat, FaCat,
FaDog, FaDog,
FaFedex, FaFedex,
FaFire,
FaUps, FaUps,
} from "react-icons/fa"; } from "react-icons/fa";
import { LuBox, LuLassoSelect } from "react-icons/lu"; import { LuBox, LuLassoSelect } from "react-icons/lu";
import { MdRecordVoiceOver } from "react-icons/md";
export function getIconForLabel(label: string, className?: string) { export function getIconForLabel(label: string, className?: string) {
switch (label) { switch (label) {
@ -15,12 +17,21 @@ export function getIconForLabel(label: string, className?: string) {
return <FaCarSide key={label} className={className} />; return <FaCarSide key={label} className={className} />;
case "cat": case "cat":
return <FaCat key={label} className={className} />; return <FaCat key={label} className={className} />;
case "bark":
case "dog": case "dog":
return <FaDog key={label} className={className} />; return <FaDog key={label} className={className} />;
case "fire_alarm":
return <FaFire key={label} className={className} />;
case "package": case "package":
return <LuBox key={label} className={className} />; return <LuBox key={label} className={className} />;
case "person": case "person":
return <BsPersonWalking key={label} className={className} />; return <BsPersonWalking key={label} className={className} />;
case "crying":
case "laughter":
case "scream":
case "speech":
case "yell":
return <MdRecordVoiceOver key={label} className={className} />;
default: default:
return <LuLassoSelect key={label} className={className} />; return <LuLassoSelect key={label} className={className} />;
} }

View File

@ -28,6 +28,20 @@ export default function DesktopEventView() {
// review paging // review paging
const [after, setAfter] = useState(0);
useEffect(() => {
const now = new Date();
now.setHours(now.getHours() - 24);
setAfter(now.getTime() / 1000);
const intervalId: NodeJS.Timeout = setInterval(() => {
const now = new Date();
now.setHours(now.getHours() - 24);
setAfter(now.getTime() / 1000);
}, 60000);
return () => clearInterval(intervalId);
}, [60000]);
const reviewSearchParams = {}; const reviewSearchParams = {};
const reviewSegmentFetcher = useCallback((key: any) => { const reviewSegmentFetcher = useCallback((key: any) => {
const [path, params] = Array.isArray(key) ? key : [key, undefined]; const [path, params] = Array.isArray(key) ? key : [key, undefined];
@ -39,18 +53,19 @@ export default function DesktopEventView() {
if (index > 0) { if (index > 0) {
const lastDate = prevData[prevData.length - 1].start_time; const lastDate = prevData[prevData.length - 1].start_time;
const pagedParams = reviewSearchParams const pagedParams = reviewSearchParams
? { before: lastDate, limit: API_LIMIT } ? { before: lastDate, after: after, limit: API_LIMIT }
: { : {
...reviewSearchParams, ...reviewSearchParams,
before: lastDate, before: lastDate,
after: after,
limit: API_LIMIT, limit: API_LIMIT,
}; };
return ["review", pagedParams]; return ["review", pagedParams];
} }
const params = reviewSearchParams const params = reviewSearchParams
? { limit: API_LIMIT } ? { limit: API_LIMIT, after: after }
: { ...reviewSearchParams, limit: API_LIMIT }; : { ...reviewSearchParams, limit: API_LIMIT, after: after };
return ["review", params]; return ["review", params];
}, },
[reviewSearchParams] [reviewSearchParams]

View File

@ -18,6 +18,20 @@ export default function MobileEventView() {
// review paging // review paging
const [after, setAfter] = useState(0);
useEffect(() => {
const now = new Date();
now.setHours(now.getHours() - 24);
setAfter(now.getTime() / 1000);
const intervalId: NodeJS.Timeout = setInterval(() => {
const now = new Date();
now.setHours(now.getHours() - 24);
setAfter(now.getTime() / 1000);
}, 60000);
return () => clearInterval(intervalId);
}, [60000]);
const reviewSearchParams = {}; const reviewSearchParams = {};
const reviewSegmentFetcher = useCallback((key: any) => { const reviewSegmentFetcher = useCallback((key: any) => {
const [path, params] = Array.isArray(key) ? key : [key, undefined]; const [path, params] = Array.isArray(key) ? key : [key, undefined];
@ -29,18 +43,19 @@ export default function MobileEventView() {
if (index > 0) { if (index > 0) {
const lastDate = prevData[prevData.length - 1].start_time; const lastDate = prevData[prevData.length - 1].start_time;
const pagedParams = reviewSearchParams const pagedParams = reviewSearchParams
? { before: lastDate, limit: API_LIMIT } ? { before: lastDate, after: after, limit: API_LIMIT }
: { : {
...reviewSearchParams, ...reviewSearchParams,
before: lastDate, before: lastDate,
after: after,
limit: API_LIMIT, limit: API_LIMIT,
}; };
return ["review", pagedParams]; return ["review", pagedParams];
} }
const params = reviewSearchParams const params = reviewSearchParams
? { limit: API_LIMIT } ? { limit: API_LIMIT, after: after }
: { ...reviewSearchParams, limit: API_LIMIT }; : { ...reviewSearchParams, limit: API_LIMIT, after: after };
return ["review", params]; return ["review", params];
}, },
[reviewSearchParams] [reviewSearchParams]