Skip to content

Commit bc50d70

Browse files
committed
fix(webapp): use native time filter mode controls
1 parent 448ee41 commit bc50d70

1 file changed

Lines changed: 31 additions & 24 deletions

File tree

apps/webapp/app/components/runs/v3/SharedFilters.tsx

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -668,16 +668,18 @@ function TimeDropdown({
668668
>
669669
<div className="flex flex-col gap-4 p-3">
670670
{/* Duration section */}
671-
<div
672-
onClick={() => {
673-
setActiveSection("duration");
674-
setValidationError(null);
675-
setSelectedQuickDate(null);
676-
}}
677-
className="flex cursor-pointer gap-3 rounded-md pb-3"
678-
>
679-
<RadioButtonCircle checked={activeSection === "duration"} />
680-
<div className="flex flex-1 flex-col gap-1">
671+
<div className="flex flex-col rounded-md pb-3">
672+
<button
673+
type="button"
674+
aria-pressed={activeSection === "duration"}
675+
onClick={() => {
676+
setActiveSection("duration");
677+
setValidationError(null);
678+
setSelectedQuickDate(null);
679+
}}
680+
className="flex w-full cursor-pointer gap-3 text-left focus-custom"
681+
>
682+
<RadioButtonCircle checked={activeSection === "duration"} />
681683
<Label
682684
className={cn(
683685
"mb-2 transition-colors",
@@ -686,6 +688,8 @@ function TimeDropdown({
686688
>
687689
{labelName} in the last
688690
</Label>
691+
</button>
692+
<div className="ml-8 flex flex-1 flex-col gap-1">
689693
<div className="grid grid-cols-4 gap-2">
690694
{/* Custom duration row */}
691695
<div
@@ -699,7 +703,6 @@ function TimeDropdown({
699703
selectedPeriod === "custom" &&
700704
"border-error"
701705
)}
702-
onClick={(e) => e.stopPropagation()}
703706
>
704707
<input
705708
type="number"
@@ -782,15 +785,17 @@ function TimeDropdown({
782785
</div>
783786

784787
{/* Date range section */}
785-
<div
786-
onClick={() => {
787-
setActiveSection("dateRange");
788-
setValidationError(null);
789-
}}
790-
className="flex cursor-pointer gap-3"
791-
>
792-
<RadioButtonCircle checked={activeSection === "dateRange"} />
793-
<div className="flex flex-1 flex-col">
788+
<div className="flex flex-col">
789+
<button
790+
type="button"
791+
aria-pressed={activeSection === "dateRange"}
792+
onClick={() => {
793+
setActiveSection("dateRange");
794+
setValidationError(null);
795+
}}
796+
className="flex w-full cursor-pointer gap-3 text-left focus-custom"
797+
>
798+
<RadioButtonCircle checked={activeSection === "dateRange"} />
794799
<Label
795800
className={cn(
796801
"mb-3 transition-colors",
@@ -807,7 +812,9 @@ function TimeDropdown({
807812
(in local time)
808813
</span>
809814
</Label>
810-
<div className="-ml-8 mb-2" onClick={(e) => e.stopPropagation()}>
815+
</button>
816+
<div className="ml-8 flex flex-1 flex-col">
817+
<div className="mb-2">
811818
<DateTimePicker
812819
label="From"
813820
value={fromValue}
@@ -823,7 +830,7 @@ function TimeDropdown({
823830
showInlineLabel
824831
/>
825832
</div>
826-
<div onClick={(e) => e.stopPropagation()} className="-ml-8">
833+
<div>
827834
<DateTimePicker
828835
label="To"
829836
value={toValue}
@@ -840,7 +847,7 @@ function TimeDropdown({
840847
/>
841848
</div>
842849
{/* Quick select date ranges */}
843-
<div className="mt-2 grid grid-cols-2 gap-2" onClick={(e) => e.stopPropagation()}>
850+
<div className="mt-2 grid grid-cols-2 gap-2">
844851
<QuickDateButton
845852
label="Yesterday"
846853
isActive={selectedQuickDate === "yesterday"}
@@ -866,7 +873,7 @@ function TimeDropdown({
866873
}}
867874
/>
868875
</div>
869-
<div className="mt-2 grid grid-cols-3 gap-2" onClick={(e) => e.stopPropagation()}>
876+
<div className="mt-2 grid grid-cols-3 gap-2">
870877
<QuickDateButton
871878
label="This week"
872879
isActive={selectedQuickDate === "thisWeek"}

0 commit comments

Comments
 (0)