@@ -50,6 +50,7 @@ import {
5050import { toast } from "sonner" ;
5151import useSWR from "swr" ;
5252import { FrigateConfig } from "@/types/frigateConfig" ;
53+ import { use24HourTime } from "@/hooks/use-date-utils" ;
5354import { MdImageSearch } from "react-icons/md" ;
5455import { useTranslation } from "react-i18next" ;
5556import { getTranslatedLabel } from "@/utils/i18n" ;
@@ -80,6 +81,8 @@ export default function InputWithTags({
8081 const { data : config } = useSWR < FrigateConfig > ( "config" , {
8182 revalidateOnFocus : false ,
8283 } ) ;
84+ const is24Hour = use24HourTime ( config ) ;
85+ const resolvedTimeFormat = is24Hour ? "24hour" : ( "12hour" as const ) ;
8386
8487 const allAudioListenLabels = useMemo < Set < string > > ( ( ) => {
8588 if ( ! config ) {
@@ -431,12 +434,8 @@ export default function InputWithTags({
431434 const [ startTime , endTime ] = ( filterValues as string )
432435 . replace ( "-" , "," )
433436 . split ( "," ) ;
434- return `${
435- config ?. ui . time_format === "24hour"
436- ? startTime
437- : convertTo12Hour ( startTime )
438- } - ${
439- config ?. ui . time_format === "24hour" ? endTime : convertTo12Hour ( endTime )
437+ return `${ is24Hour ? startTime : convertTo12Hour ( startTime ) } - ${
438+ is24Hour ? endTime : convertTo12Hour ( endTime )
440439 } `;
441440 } else if ( filterType === "min_score" || filterType === "max_score" ) {
442441 return Math . round ( Number ( filterValues ) * 100 ) . toString ( ) + "%" ;
@@ -478,7 +477,7 @@ export default function InputWithTags({
478477 ( filterType === "time_range" &&
479478 isValidTimeRange (
480479 trimmedValue . replace ( "-" , "," ) ,
481- config ?. ui . time_format ,
480+ resolvedTimeFormat ,
482481 ) ) ||
483482 ( ( filterType === "min_score" || filterType === "max_score" ) &&
484483 ! isNaN ( Number ( trimmedValue ) ) &&
@@ -495,7 +494,7 @@ export default function InputWithTags({
495494 ? trimmedValue
496495 . replace ( "-" , "," )
497496 . split ( "," )
498- . map ( ( time ) => to24Hour ( time . trim ( ) , config ?. ui . time_format ) )
497+ . map ( ( time ) => to24Hour ( time . trim ( ) , resolvedTimeFormat ) )
499498 . join ( "," )
500499 : trimmedValue ,
501500 ) ;
@@ -511,7 +510,7 @@ export default function InputWithTags({
511510 setCurrentFilterType ( null ) ;
512511 }
513512 } ,
514- [ allSuggestions , createFilter , config ] ,
513+ [ allSuggestions , createFilter , resolvedTimeFormat ] ,
515514 ) ;
516515
517516 const handleInputChange = useCallback (
@@ -598,7 +597,7 @@ export default function InputWithTags({
598597 suggestion = suggestion
599598 . replace ( "-" , "," )
600599 . split ( "," )
601- . map ( ( time ) => to24Hour ( time . trim ( ) , config ?. ui . time_format ) )
600+ . map ( ( time ) => to24Hour ( time . trim ( ) , resolvedTimeFormat ) )
602601 . join ( "," ) ;
603602 }
604603 createFilter ( currentFilterType , suggestion ) ;
@@ -627,7 +626,7 @@ export default function InputWithTags({
627626
628627 inputRef . current ?. focus ( ) ;
629628 } ,
630- [ createFilter , currentFilterType , allSuggestions , config ] ,
629+ [ createFilter , currentFilterType , allSuggestions , resolvedTimeFormat ] ,
631630 ) ;
632631
633632 const handleSearch = useCallback (
@@ -779,10 +778,7 @@ export default function InputWithTags({
779778 </ li >
780779 < li >
781780 { t ( "filter.tips.desc.step5" , {
782- exampleTime :
783- config ?. ui . time_format == "24hour"
784- ? "15:00-16:00"
785- : "3:00PM-4:00PM" ,
781+ exampleTime : is24Hour ? "15:00-16:00" : "3:00PM-4:00PM" ,
786782 } ) }
787783 </ li >
788784 < li > { t ( "filter.tips.desc.step6" ) } </ li >
0 commit comments