@@ -2,15 +2,18 @@ import { useState } from 'react'
22
33import {
44 Card ,
5- TabList ,
5+ TabGroup ,
66 Tab ,
77 AreaChart ,
88 BarList ,
99 Title ,
1010 Metric ,
1111 Bold ,
12- SelectBox ,
13- SelectBoxItem ,
12+ Select ,
13+ SelectItem ,
14+ TabList ,
15+ TabPanel ,
16+ TabPanels ,
1417} from '@tremor/react'
1518import Loader from '../Loader'
1619
@@ -50,69 +53,82 @@ export default function ErrorStats() {
5053 < div className = "grid grid-cols-2 gap-10" >
5154 < div className = "col-span-2 lg:col-span-1 flex flex-col gap-9" >
5255 < div className = "hidden sm:block" >
53- < TabList
56+ { /* <TabList
5457 defaultValue="ErrorsFrequency"
5558 onValueChange={value =>
5659 setSelectedTab(value as typeof selectedTab)
5760 }
5861 >
5962 <Tab value="ErrorsFrequency" text="Error Frequency" />
6063 <Tab value="FunctionErrors" text="Function Errors" />
61- </ TabList >
64+ </TabList> */ }
6265 </ div >
6366
64- < div className = "flex flex-col gap-10" >
65- < div
66- className = { cx (
67- 'flex flex-col gap-3 sm:[&>:first-child]:hidden' ,
68- selectedTab !== 'ErrorsFrequency' && 'sm:hidden'
69- ) }
67+ < TabGroup defaultIndex = { 1 } >
68+ < TabList >
69+ < Tab > Errors Frequency</ Tab >
70+ < Tab > Function Errors</ Tab >
71+ </ TabList >
72+ < TabPanels
73+ // className="flex flex-col gap-10"
7074 >
71- < Bold > Error Frequency</ Bold >
75+ < TabPanel >
76+ < div
77+ className = { cx (
78+ 'flex flex-col gap-3 sm:[&>:first-child]:hidden' ,
79+ selectedTab !== 'ErrorsFrequency' && 'sm:hidden'
80+ ) }
81+ >
82+ < Bold > Error Frequency</ Bold >
7283
73- { errorFrequencyStatus === 'loading' ? (
74- < Loader />
75- ) : (
76- < AreaChart
77- data = { errorFrequencyData ?? [ ] }
78- categories = { [ 'total' ] }
79- index = "hour"
80- colors = { [ 'blue' ] }
81- />
82- ) }
83- </ div >
84+ { errorFrequencyStatus === 'loading' ? (
85+ < Loader />
86+ ) : (
87+ < AreaChart
88+ data = { errorFrequencyData ?? [ ] }
89+ categories = { [ 'total' ] }
90+ index = "hour"
91+ colors = { [ 'blue' ] }
92+ />
93+ ) }
94+ </ div >
95+ </ TabPanel >
96+ < TabPanel >
97+ < div
98+ className = { cx (
99+ 'flex flex-col gap-3 sm:[&>:first-child]:hidden' ,
100+ selectedTab !== 'FunctionErrors' && 'sm:hidden'
101+ ) }
102+ >
103+ < Bold > Function Errors</ Bold >
84104
85- < div
86- className = { cx (
87- 'flex flex-col gap-3 sm:[&>:first-child]:hidden' ,
88- selectedTab !== 'FunctionErrors' && 'sm:hidden'
89- ) }
90- >
91- < Bold > Function Errors</ Bold >
92-
93- < div className = "max-h-96 overflow-y-auto" >
94- { functionErrorsStatus === 'loading' ? (
95- < Loader />
96- ) : (
97- < BarList data = { functionErrorsData ?? [ ] } />
98- ) }
99- </ div >
100- </ div >
101- </ div >
105+ < div className = "max-h-96 overflow-y-auto" >
106+ { functionErrorsStatus === 'loading' ? (
107+ < Loader />
108+ ) : (
109+ < BarList data = { functionErrorsData ?? [ ] } />
110+ ) }
111+ </ div >
112+ </ div >
113+ </ TabPanel >
114+ </ TabPanels >
115+ </ TabGroup >
102116 </ div >
103117
104118 < div className = "col-span-2 lg:col-span-1 flex flex-col gap-9" >
105119 < div className = "grid grid-cols-2 items-center" >
106120 < Bold > Error Per</ Bold >
107121
108- < SelectBox defaultValue = { errorBy } onValueChange = { setErrorBy } >
122+ < Select defaultValue = { errorBy } onValueChange = { setErrorBy } >
109123 { ERROR_PARAM_OPTIONS . map ( ( { text, value } ) => (
110- < SelectBoxItem key = { value } { ...{ text, value } } />
124+ < SelectItem key = { value } value = { value } >
125+ { text }
126+ </ SelectItem >
111127 ) ) }
112- </ SelectBox >
128+ </ Select >
113129 </ div >
114130
115- < div className = "max-h-96 overflow-y-auto" >
131+ < div className = "max-h-96 overflow-y-auto pr-2 " >
116132 { errorsPerParamStatus === 'loading' ? (
117133 < Loader />
118134 ) : (
0 commit comments