import { GET_METRICS_BEGIN , GET_METRICS_ERROR , GET_METRICS_SUCCESS , MetricsActionTypes , } from "../actions/metricsActions" ; import { MetricsResponse } from "../api" ; interface MetricsState { loading : boolean ; error : string ; data : MetricsResponse | null ; } const initialState = { loading : false , error : "" , data : null , } ; export default function metricsReducer ( state = initialState , action ) { switch ( action . type ) { case GET_METRICS_BEGIN : return { ... state , loading : true , } ; case GET_METRICS_ERROR : return { ... state , loading : false , error : action . error , } ; case GET_METRICS_SUCCESS : return { loading : false , error : "" , data : action . payload , } ; default : return state ; } }