mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-09 04:35:25 +03:00
Fix new reviews not going away
This commit is contained in:
parent
7f940cf29b
commit
f8ee5cc953
@ -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}>
|
||||||
|
|||||||
@ -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}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user