@@ -33,6 +33,12 @@ interface Responder {
3333 type : string ;
3434}
3535
36+ interface InterruptionData {
37+ day : string
38+ interruptions : number
39+ day_type : 'business' | 'off'
40+ }
41+
3642export default function PagerDutyDashboard ( ) {
3743 const [ token ] = useQueryState ( 'token' )
3844 const [ dateRange , setDateRange ] = useState < DateRange > ( {
@@ -77,11 +83,7 @@ export default function PagerDutyDashboard() {
7783 const pageSize = 10
7884 const [ incidentTypes , setIncidentTypes ] = useState < IncidentType [ ] > ( [ ] )
7985 const [ selectedService , setSelectedService ] = useState < string > ( )
80- const [ interruptions , setInterruptions ] = useState < Array < {
81- day : string
82- interruptions : number
83- day_type : 'business' | 'off'
84- } > > ( [ ] )
86+ const [ interruptions , setInterruptions ] = useState < InterruptionData [ ] > ( [ ] )
8587 const [ responseEffort , setResponseEffort ] = useState < Array < {
8688 responder : Array < {
8789 html_url : string
@@ -211,9 +213,28 @@ export default function PagerDutyDashboard() {
211213 high_urgency_rate : number
212214 } > )
213215 setIncidentTypes ( incidentTypesData . data as IncidentType [ ] )
214- setInterruptions ( interruptionsData . data )
215- setResponseEffort ( responseEffortData . data )
216- setSleepInterruptions ( sleepInterruptionsData . data )
216+ setInterruptions ( interruptionsData . data as InterruptionData [ ] )
217+ setResponseEffort ( responseEffortData . data as Array < {
218+ responder : Array < {
219+ html_url : string
220+ id : string
221+ self : string
222+ summary : string
223+ type : string
224+ } >
225+ hours : number
226+ } > )
227+ setSleepInterruptions ( sleepInterruptionsData . data as Array < {
228+ responder : Array < {
229+ html_url : string
230+ id : string
231+ self : string
232+ summary : string
233+ type : string
234+ } >
235+ interruptions : number
236+ avg_response_time : number
237+ } > )
217238
218239 } catch ( error ) {
219240 console . error ( 'Failed to fetch metrics:' , error )
0 commit comments