import { useEffect, useState } from 'react' import PageContainer from '@/components/yaui/Wrapper/PageWrapper' import ContentWrapper from '@/components/yaui/Wrapper/ContentWrapper' import YaPie, { genPieSeriesOps } from '@/components/echarts/Pie' import YaPolyline, { genPolylineSeriesOps } from '@/components/echarts/Polyline' import { getPieData, getPolylineData } from '@/services/showcase' import { useSelectedMode } from '@/components/context/YaThemeProdiver' import type { EChartsOption } from '@/components/echarts/types' export default (): JSX.Element => { const [pieLoading, setPieLoading] = useState(false) const [polylineLoading, setPolylineLoading] = useState(false) const [pieData, setPieData] = useState() const [polylineData, setPolylineData] = useState() const [polylineOpts, setPolylineOpts] = useState() const mode = useSelectedMode() const fetchPie = async () => { setPieLoading(true) const res = await getPieData() const pieSeriesOps = genPieSeriesOps() setPieData([ { ...pieSeriesOps, data: res, name: 'pie', }, ]) setPieLoading(false) } const fetchPolyline = async () => { setPolylineLoading(true) const { category, series } = await getPolylineData() const polylineSeriesOps = genPolylineSeriesOps() const polylineSeries = series.map((item: any) => { const { name, data } = item return { ...polylineSeriesOps, name, data, } }) setPolylineData(polylineSeries) setPolylineOpts({ xAxis: { data: category, }, }) setPolylineLoading(false) } const init = async () => { Promise.all([fetchPie(), fetchPolyline()]) } useEffect(() => { ;(async () => { await init() })() }, []) return ( ) }