@@ -38,9 +38,11 @@ export function AnalyticsMainLayout() {
3838 const searchParams = useSearchParams ( ) ;
3939 const indicator = searchParams . get ( 'indicator' ) || '' ;
4040
41- const timePeriod = getLatestDate (
42- searchParams . getAll ( 'time-period' ) || process . env . NEXT_PUBLIC_TIME_PERIOD
43- ) ?. split ( '-' ) ;
41+ const timePeriod = searchParams . get ( 'time-period' )
42+ ? getLatestDate ( searchParams . get ( 'time-period' ) ?. split ( ',' ) || [ ] ) ?. split (
43+ '-'
44+ ) || process . env . NEXT_PUBLIC_TIME_PERIOD
45+ : null ;
4446
4547 const timePeriodSelected = timePeriod
4648 ? `${ timePeriod [ 0 ] } _${ timePeriod [ 1 ] } `
@@ -342,52 +344,69 @@ export function AnalyticsMainLayout() {
342344 />
343345 </ div >
344346
345- { mapData ?. isFetching && revenueMapData ?. isFetching && (
346- < div className = "flex h-full flex-col place-content-center items-center" >
347- < Spinner color = "highlight" />
348- < Text > Loading...</ Text >
347+ { ! timePeriod ? (
348+ < div className = "flex h-[calc(100dvh_-_400px)] flex-col place-content-center items-center" >
349+ < Text > Please select a time period</ Text >
349350 </ div >
351+ ) : (
352+ < >
353+ { mapData ?. isFetching && revenueMapData ?. isFetching && (
354+ < div className = "flex h-full flex-col place-content-center items-center" >
355+ < Spinner color = "highlight" />
356+ < Text > Loading...</ Text >
357+ </ div >
358+ ) }
359+
360+ { revenueMapData ?. data && mapData ?. data && (
361+ < MapComponent
362+ indicator = { indicator }
363+ mapDataloading = { mapData ?. isFetching }
364+ revenueMapDataLoading = { revenueMapData ?. isFetching }
365+ indicatorsData = { indicatorsData ?. data ?. indicators }
366+ setRegion = { setDistrictCode }
367+ setRevenueRegion = { setRevenueCode }
368+ revenueMapData = { revenueMapData ?. data ?. revCircleMapData }
369+ mapData = { mapData ?. data ?. districtMapData }
370+ currentSelectedState = { currentSelectedState }
371+ />
372+ ) }
373+
374+ { region !== null && region . length > 0 && view === 'map' && (
375+ < OutputWindowComponent
376+ currentState = { currentSelectedState }
377+ time_period = { timePeriodSelected }
378+ />
379+ ) }
380+ </ >
350381 ) }
351-
352- { revenueMapData ?. data && mapData ?. data && (
353- < MapComponent
354- indicator = { indicator }
355- mapDataloading = { mapData ?. isFetching }
356- revenueMapDataLoading = { revenueMapData ?. isFetching }
357- indicatorsData = { indicatorsData ?. data ?. indicators }
358- setRegion = { setDistrictCode }
359- setRevenueRegion = { setRevenueCode }
360- revenueMapData = { revenueMapData ?. data ?. revCircleMapData }
361- mapData = { mapData ?. data ?. districtMapData }
382+ </ div >
383+ </ TabPanel >
384+ < TabPanel value = "table" >
385+ < div className = " mt-2 h-[calc(100dvh_-_140px)]" >
386+ < div >
387+ < FilterDropdownOptions
362388 currentSelectedState = { currentSelectedState }
389+ RevCircleDropdownOptions = { RevCircleDropdownOptions }
390+ DistrictDropDownOption = { DistrictDropDownOption }
391+ timeLimits = { timePeriods }
363392 />
364- ) }
365- { region !== null && region . length > 0 && view === 'map' && (
366- < OutputWindowComponent
367- currentState = { currentSelectedState }
368- time_period = { timePeriodSelected }
393+ </ div >
394+ { ! timePeriod ? (
395+ < div className = "flex h-[calc(100dvh_-_400px)] flex-col place-content-center items-center" >
396+ < Text > Please select a time period</ Text >
397+ </ div >
398+ ) : (
399+ < TableComponent
400+ data = {
401+ filteredTableData ?. length > 0
402+ ? filteredTableData
403+ : tableData . data ?. tableData
404+ }
405+ isLoading = { tableData . isLoading }
369406 />
370407 ) }
371408 </ div >
372409 </ TabPanel >
373- < TabPanel value = "table" >
374- < div >
375- < FilterDropdownOptions
376- currentSelectedState = { currentSelectedState }
377- RevCircleDropdownOptions = { RevCircleDropdownOptions }
378- DistrictDropDownOption = { DistrictDropDownOption }
379- timeLimits = { timePeriods }
380- />
381- </ div >
382- < TableComponent
383- data = {
384- filteredTableData ?. length > 0
385- ? filteredTableData
386- : tableData . data ?. tableData
387- }
388- isLoading = { tableData . isLoading }
389- />
390- </ TabPanel >
391410 < TabPanel value = "chart" >
392411 < div className = " mt-2 h-[calc(100dvh_-_140px)]" >
393412 < ChartView
0 commit comments