"use client"; import IconTrashLines from '@/components/icon/icon-trash-lines'; import PanelCodeHighlight from '@/components/panel-code-highlight'; import ComponentsTablesSimple from '@/components/tables/components-tables-simple'; import { formatUnixTimestamp } from '@/utils/helpers'; import Tippy from '@tippyjs/react'; import axios from 'axios'; import React, { useEffect, useState } from 'react' // import ReactApexChart from 'react-apexcharts'; import dynamic from 'next/dynamic'; import Link from 'next/link'; const ReactApexChart = dynamic(() => import('react-apexcharts'), { ssr: false }); type Props = {} const SungrowInverters = (props: Props) => { const [inverters, setInverters] = useState([]); const [loading, setLoading] = useState(true); const [isMounted, setIsMounted] = useState(false); useEffect(() => { setIsMounted(true); const fetchData = async () => { try { const res = await axios.get("https://api-a.fomware.com.cn/asset/v1/list?type=2", { headers: { "Authorization": "Bearer " + process.env.NEXT_PUBLIC_CHINT_TOKEN } }) console.log("res", res.data.data.devices) setInverters(res.data.data.devices) } catch (error) { console.error("Error fetching data:", error); } finally { setLoading(false); } }; fetchData() }, []) const chartConfigs: any = { options: { chart: { height: 58, type: 'line', fontFamily: 'Nunito, sans-serif', sparkline: { enabled: true, }, dropShadow: { enabled: true, blur: 3, color: '#009688', opacity: 0.4, }, }, stroke: { curve: 'smooth', width: 2, }, colors: ['#009688'], grid: { padding: { top: 5, bottom: 5, left: 5, right: 5, }, }, tooltip: { x: { show: false, }, y: { title: { formatter: () => { return ''; }, }, }, }, }, }; // inverter status 0: initial, 1: standby, 2: fault, 3: running, 5: offline, 9: shutdown, 10: unknown return (
{loading ?

Loading...

: (
{inverters.map((data) => ( ))}
Inverter Name Site Name Gateway SN Inverter Status Model SN Real Time Power E-Today WeekData Created At Updated At
{data.name}
{data.siteName}
{data.gatewaySn}
{data.statusLabel}
{data.model}
{data.sn}
{data.activePowerWithUnit}
{data.eTodayWithUnit}
{isMounted && ( point.y) }]} options={{ ...chartConfigs.options, xaxis: { categories: data.weekTrend.map((point: any) => point.x) }, }} type="line" height={58} width={'100%'} /> )} {formatUnixTimestamp(data.createdAt)} {formatUnixTimestamp(data.updatedAt)}
)}
) } export default SungrowInverters