mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	Fix reload (#10109)
* Fix reloading data * Don't show new review data when not looking at last 24 hours * Fix refresh button and no items text * Cleanup
This commit is contained in:
		
							parent
							
								
									8072ce25c6
								
							
						
					
					
						commit
						a978adc5a9
					
				| @ -28,9 +28,10 @@ export default function Events() { | |||||||
| 
 | 
 | ||||||
|   // review paging
 |   // review paging
 | ||||||
| 
 | 
 | ||||||
|  |   const [beforeTs, setBeforeTs] = useState(Date.now() / 1000); | ||||||
|   const last24Hours = useMemo(() => { |   const last24Hours = useMemo(() => { | ||||||
|     return { before: Date.now() / 1000, after: getHoursAgo(24) }; |     return { before: beforeTs, after: getHoursAgo(24) }; | ||||||
|   }, []); |   }, [beforeTs]); | ||||||
|   const selectedTimeRange = useMemo(() => { |   const selectedTimeRange = useMemo(() => { | ||||||
|     if (reviewSearchParams["after"] == undefined) { |     if (reviewSearchParams["after"] == undefined) { | ||||||
|       return last24Hours; |       return last24Hours; | ||||||
| @ -73,7 +74,7 @@ export default function Events() { | |||||||
|       }; |       }; | ||||||
|       return ["review", params]; |       return ["review", params]; | ||||||
|     }, |     }, | ||||||
|     [reviewSearchParams] |     [reviewSearchParams, last24Hours] | ||||||
|   ); |   ); | ||||||
| 
 | 
 | ||||||
|   const { |   const { | ||||||
| @ -96,10 +97,7 @@ export default function Events() { | |||||||
|     setSize(size + 1); |     setSize(size + 1); | ||||||
|   }, [size]); |   }, [size]); | ||||||
| 
 | 
 | ||||||
|   const reloadData = useCallback(() => { |   const reloadData = useCallback(() => setBeforeTs(Date.now() / 1000), []); | ||||||
|     setSize(1); |  | ||||||
|     updateSegments(); |  | ||||||
|   }, []); |  | ||||||
| 
 | 
 | ||||||
|   // preview videos
 |   // preview videos
 | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -97,8 +97,9 @@ function Logs() { | |||||||
|       </div> |       </div> | ||||||
| 
 | 
 | ||||||
|       {!endVisible && ( |       {!endVisible && ( | ||||||
|         <div |         <Button | ||||||
|           className="absolute bottom-8 left-[50%] -translate-x-[50%] rounded-xl bg-accent-foreground text-white z-20 p-2" |           className="absolute bottom-8 left-[50%] -translate-x-[50%] rounded-xl bg-accent-foreground text-white bg-gray-400 z-20 p-2" | ||||||
|  |           variant="secondary" | ||||||
|           onClick={() => |           onClick={() => | ||||||
|             contentRef.current?.scrollTo({ |             contentRef.current?.scrollTo({ | ||||||
|               top: contentRef.current?.scrollHeight, |               top: contentRef.current?.scrollHeight, | ||||||
| @ -107,7 +108,7 @@ function Logs() { | |||||||
|           } |           } | ||||||
|         > |         > | ||||||
|           Jump to Bottom |           Jump to Bottom | ||||||
|         </div> |         </Button> | ||||||
|       )} |       )} | ||||||
| 
 | 
 | ||||||
|       <div |       <div | ||||||
|  | |||||||
| @ -9,7 +9,7 @@ import { useEventUtils } from "@/hooks/use-event-utils"; | |||||||
| import { FrigateConfig } from "@/types/frigateConfig"; | import { FrigateConfig } from "@/types/frigateConfig"; | ||||||
| import { ReviewFilter, ReviewSegment, ReviewSeverity } from "@/types/review"; | import { ReviewFilter, ReviewSegment, ReviewSeverity } from "@/types/review"; | ||||||
| import { useCallback, useEffect, useMemo, useRef, useState } from "react"; | import { useCallback, useEffect, useMemo, useRef, useState } from "react"; | ||||||
| import { isDesktop } from "react-device-detect"; | import { isDesktop, isMobile } from "react-device-detect"; | ||||||
| import { LuFolderCheck } from "react-icons/lu"; | import { LuFolderCheck } from "react-icons/lu"; | ||||||
| import { MdCircle } from "react-icons/md"; | import { MdCircle } from "react-icons/md"; | ||||||
| import useSWR from "swr"; | import useSWR from "swr"; | ||||||
| @ -191,7 +191,9 @@ export default function EventView({ | |||||||
|   return ( |   return ( | ||||||
|     <div className="flex flex-col size-full"> |     <div className="flex flex-col size-full"> | ||||||
|       <div className="relative flex justify-between mb-2"> |       <div className="relative flex justify-between mb-2"> | ||||||
|  |         {isMobile && ( | ||||||
|           <Logo className="absolute inset-y-0 inset-x-1/2 -translate-x-1/2 h-8" /> |           <Logo className="absolute inset-y-0 inset-x-1/2 -translate-x-1/2 h-8" /> | ||||||
|  |         )} | ||||||
|         <ToggleGroup |         <ToggleGroup | ||||||
|           className="*:px-3 *:py4 *:rounded-2xl" |           className="*:px-3 *:py4 *:rounded-2xl" | ||||||
|           type="single" |           type="single" | ||||||
| @ -234,14 +236,16 @@ export default function EventView({ | |||||||
|           ref={contentRef} |           ref={contentRef} | ||||||
|           className="flex flex-1 flex-wrap content-start gap-2 overflow-y-auto no-scrollbar" |           className="flex flex-1 flex-wrap content-start gap-2 overflow-y-auto no-scrollbar" | ||||||
|         > |         > | ||||||
|  |           {filter?.before == undefined && ( | ||||||
|             <NewReviewData |             <NewReviewData | ||||||
|               className="absolute w-full z-30" |               className="absolute w-full z-30" | ||||||
|               contentRef={contentRef} |               contentRef={contentRef} | ||||||
|               severity={severity} |               severity={severity} | ||||||
|               pullLatestData={pullLatestData} |               pullLatestData={pullLatestData} | ||||||
|             /> |             /> | ||||||
|  |           )} | ||||||
| 
 | 
 | ||||||
|           {reachedEnd && currentItems == null && ( |           {!isValidating && currentItems == null && ( | ||||||
|             <div className="size-full flex flex-col justify-center items-center"> |             <div className="size-full flex flex-col justify-center items-center"> | ||||||
|               <LuFolderCheck className="size-16" /> |               <LuFolderCheck className="size-16" /> | ||||||
|               There are no {severity} items to review |               There are no {severity} items to review | ||||||
| @ -287,9 +291,9 @@ export default function EventView({ | |||||||
|                   </div> |                   </div> | ||||||
|                 ); |                 ); | ||||||
|               }) |               }) | ||||||
|             ) : ( |             ) : severity != "alert" ? ( | ||||||
|               <div ref={lastReviewRef} /> |               <div ref={lastReviewRef} /> | ||||||
|             )} |             ) : null} | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|         <div className="w-[55px] md:w-[100px] mt-2 overflow-y-auto no-scrollbar"> |         <div className="w-[55px] md:w-[100px] mt-2 overflow-y-auto no-scrollbar"> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user