Fix new reviews not going away

This commit is contained in:
Nicolas Mowen 2024-03-07 06:03:32 -07:00
parent 7f940cf29b
commit f8ee5cc953
2 changed files with 10 additions and 2 deletions

View File

@ -8,19 +8,22 @@ type NewReviewDataProps = {
className: string; className: string;
contentRef: MutableRefObject<HTMLDivElement | null>; contentRef: MutableRefObject<HTMLDivElement | null>;
severity: ReviewSeverity; severity: ReviewSeverity;
hasUpdate: boolean;
setHasUpdate: (update: boolean) => void;
pullLatestData: () => void; pullLatestData: () => void;
}; };
export default function NewReviewData({ export default function NewReviewData({
className, className,
contentRef, contentRef,
severity, severity,
hasUpdate,
setHasUpdate,
pullLatestData, pullLatestData,
}: NewReviewDataProps) { }: NewReviewDataProps) {
const { payload: review } = useFrigateReviews(); const { payload: review } = useFrigateReviews();
const startCheckTs = useMemo(() => Date.now() / 1000, []); const startCheckTs = useMemo(() => Date.now() / 1000, []);
const [reviewTs, setReviewTs] = useState(startCheckTs); const [reviewTs, setReviewTs] = useState(startCheckTs);
const [hasUpdate, setHasUpdate] = useState(false);
useEffect(() => { useEffect(() => {
if (!review) { if (!review) {
@ -36,7 +39,7 @@ export default function NewReviewData({
if (reviewTs > startCheckTs) { if (reviewTs > startCheckTs) {
setHasUpdate(true); setHasUpdate(true);
} }
}, [startCheckTs, reviewTs]); }, [startCheckTs, reviewTs, setHasUpdate]);
return ( return (
<div className={className}> <div className={className}>

View File

@ -323,6 +323,8 @@ function DetectionReview({
// review interaction // review interaction
const [hasUpdate, setHasUpdate] = useState(false);
const markAllReviewed = useCallback(async () => { const markAllReviewed = useCallback(async () => {
if (!currentItems) { if (!currentItems) {
return; return;
@ -331,6 +333,7 @@ function DetectionReview({
await axios.post(`reviews/viewed`, { await axios.post(`reviews/viewed`, {
ids: currentItems?.map((seg) => seg.id), ids: currentItems?.map((seg) => seg.id),
}); });
setHasUpdate(false);
pullLatestData(); pullLatestData();
}, [currentItems, pullLatestData]); }, [currentItems, pullLatestData]);
@ -424,6 +427,8 @@ function DetectionReview({
className="absolute w-full z-30" className="absolute w-full z-30"
contentRef={contentRef} contentRef={contentRef}
severity={severity} severity={severity}
hasUpdate={hasUpdate}
setHasUpdate={setHasUpdate}
pullLatestData={pullLatestData} pullLatestData={pullLatestData}
/> />
)} )}