@@ -2,6 +2,7 @@ import React, { FC, useContext, useEffect, useState } from 'react'
22import { useParams } from 'react-router-dom'
33import { Head } from '../Context'
44import Barchart from './Barchart'
5+ import Cusinechar from './Cusinechar'
56import Filter from './Filter'
67import Filterbox from './Filterbox'
78import Footer from './Footer'
@@ -21,7 +22,8 @@ interface chartData {
2122
2223interface filterobjtype {
2324 filterobj : filterobjtype2
24- setfilterobj : ( x : any ) => any
25+ setfilterobj : ( x : any ) => any ,
26+ cuisines : [ string ]
2527}
2628
2729interface filterobjtype2 {
@@ -35,7 +37,7 @@ interface filterobjtype2 {
3537
3638const Dashboard : FC = ( ) => {
3739
38- const { filterobj } = useContext ( Head ) as filterobjtype ;
40+ const { filterobj, cuisines } = useContext ( Head ) as filterobjtype ;
3941
4042 const [ mydata , setmydata ] = useState < any > ( [ ] ) ;
4143 const [ analytics , setanalytics ] = useState < any > ( {
@@ -64,7 +66,22 @@ const Dashboard: FC = () => {
6466 } )
6567
6668
67- // console.log(param);
69+ const [ catData , setcatData ] = useState < chartData > ( {
70+ labels : [ 'Chinese' , 'Pizza' , 'Burger' ] ,
71+ datasets : [
72+ {
73+ label : "Cuisine provided by no. of Food sellers" ,
74+ data : [ 1 , 2 , 3 ] ,
75+ backgroundColor : [
76+ 'rgb(255, 99, 132)' ,
77+ 'rgb(54, 162, 235)' ,
78+ 'rgb(255, 205, 86)'
79+ ] ,
80+ hoverOffset : 4
81+ }
82+ ]
83+ } )
84+
6885
6986 useEffect ( ( ) => {
7087
@@ -204,8 +221,43 @@ const Dashboard: FC = () => {
204221
205222 setmydata ( reso ) ;
206223
207- console . log ( reso ) ;
208- } ) ;
224+ // console.log(reso);
225+ return reso ;
226+ } )
227+ . then ( ( reso : any ) => {
228+
229+ let mapp = new Map ( ) ;
230+
231+ let temp = reso . map ( ( el : any ) => el . categories . map ( ( la : any ) => la . trim ( ) ) ) ;
232+ // console.log(temp);
233+
234+ for ( var n of cuisines ) {
235+ let value = 0 ;
236+ for ( let i = 0 ; i < reso . length ; i ++ ) {
237+ if ( temp [ i ] . includes ( n ) ) {
238+ mapp . set ( n , ++ value ) ;
239+ }
240+ }
241+ }
242+
243+ mapp = new Map ( [ ...mapp . entries ( ) ] . sort ( ( a , b ) => b [ 1 ] - a [ 1 ] ) ) ;
244+ console . log ( mapp ) ;
245+ console . log ( reso )
246+ setcatData ( {
247+ labels : [ ...mapp . keys ( ) ] ,
248+ datasets : [
249+ {
250+ label : "Cuisine sellers" ,
251+ data : [ ...mapp . values ( ) ] ,
252+ backgroundColor : [
253+ '#0d47a1'
254+ ] ,
255+ hoverOffset : 4
256+ }
257+ ]
258+ } )
259+
260+ } )
209261 return alldone ;
210262 }
211263
@@ -230,6 +282,9 @@ const Dashboard: FC = () => {
230282 < section className = ' my-40 md:px-20 px-6' >
231283 < Barchart chartData = { userData } />
232284 </ section >
285+ < section className = ' my-40 md:px-20 px-6' >
286+ < Cusinechar catData = { catData } />
287+ </ section >
233288 < section className = ' my-40' >
234289 < Showtable mydata = { mydata } />
235290 </ section >
0 commit comments