import { useDataQuery } from '@/hooks/useQuery'
import { Column, Line, Pie, Radar, Scatter, WordCloud } from '@ant-design/plots'

export default function Chart({ type = '1', ...props }) {
  const { data } = useDataQuery()
  switch (type) {
    case '1':
      return <Column data={data.list} {...props} />
    case '2': {
      const defaultConfig = {
        data: data.list,
        point: { shapeField: 'point', sizeField: 4 },
        style: { lineWidth: 2 },
      }
      return <Line {...defaultConfig} {...props} />
    }
    case '3': {
      const defaultConfig = {
        data: data.list,
        angleField: props.yField,
        colorField: props.xField,
      }
      return <Pie {...defaultConfig} />
    }
    case '4':
      return <Radar data={data.list} {...props} />
    case '5':
      return <Scatter data={data.list} {...props} />
    case '7':
      return <WordCloud data={data.list} {...props} />
    default:
      return <Column data={data.list} {...props} />
  }
}
