106 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			106 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
"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"
 | 
						|
 | 
						|
type Props = {}
 | 
						|
 | 
						|
const SungrowPlant = (props: Props) => {
 | 
						|
    const [sites, setSites] = useState<any[]>([])
 | 
						|
    const [loading, setLoading] = useState(true)
 | 
						|
 | 
						|
 | 
						|
    useEffect(() => {
 | 
						|
        const fetchSites = async () => {
 | 
						|
            try {
 | 
						|
                const res = await fetch("/api/sungrow/site")
 | 
						|
                const data = await res.json()
 | 
						|
                console.log("data", data)
 | 
						|
                setSites(data)
 | 
						|
            } catch (error) {
 | 
						|
                console.error("Error fetching inverters:", error)
 | 
						|
            } finally {
 | 
						|
                setLoading(false)
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        fetchSites()
 | 
						|
    }, [])
 | 
						|
 | 
						|
    const statusLabels: Record<number, string> = {
 | 
						|
        0: "Offline",
 | 
						|
        1: "Normal",
 | 
						|
    }
 | 
						|
    const plantTypeLabel: Record<number, string> = {
 | 
						|
        3: "Commercial PV",
 | 
						|
        4: "Residential PV",
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
    return (
 | 
						|
        <div>
 | 
						|
            {loading ? <p>Loading...</p> : (
 | 
						|
                <PanelCodeHighlight title="Sungrow Sites">
 | 
						|
                    <div className="table-responsive mb-5">
 | 
						|
                        <table>
 | 
						|
                            <thead>
 | 
						|
                                <tr>
 | 
						|
                                    <th>Site Name</th>
 | 
						|
                                    <th>Status</th>
 | 
						|
                                    <th>Plant Type</th>
 | 
						|
                                    {/* <th>Installed Power</th>
 | 
						|
                                    <th>Real-time Power</th>
 | 
						|
                                    <th>Yield Today</th>
 | 
						|
                                    <th>Monthly Yield</th>
 | 
						|
                                    <th>Annual Yield</th>
 | 
						|
                                    <th>Total Yield</th>
 | 
						|
                                    <th>Equivalent Hours</th>
 | 
						|
                                    <th>Remarks</th> */}
 | 
						|
                                    <th className="text-center">Action</th>
 | 
						|
                                </tr>
 | 
						|
                            </thead>
 | 
						|
                            <tbody>
 | 
						|
                                {sites.map((data) => (
 | 
						|
                                    <tr key={data.id}>
 | 
						|
                                        <td>
 | 
						|
                                            <div className="whitespace-nowrap">{data.ps_name}</div>
 | 
						|
                                        </td>
 | 
						|
                                        <td>
 | 
						|
                                            <div className={`whitespace-nowrap ${ data.online_status !== 1 ? "text-danger" : "text-success" }`} >
 | 
						|
                                                {statusLabels[data.online_status] || "-"}
 | 
						|
                                            </div>
 | 
						|
                                        </td>
 | 
						|
                                        <td>{plantTypeLabel[data.ps_type] || "-"}</td>
 | 
						|
                                        {/* <td></td>
 | 
						|
                                        <td></td>
 | 
						|
                                        <td></td>
 | 
						|
                                        <td></td>
 | 
						|
                                        <td></td>
 | 
						|
                                        <td></td>
 | 
						|
                                        <td></td>
 | 
						|
                                        <td></td> */}
 | 
						|
                                        <td className="text-center">
 | 
						|
                                            <Tippy content="Delete">
 | 
						|
                                                <button type="button">
 | 
						|
                                                    <IconTrashLines className="m-auto" />
 | 
						|
                                                </button>
 | 
						|
                                            </Tippy>
 | 
						|
                                        </td>
 | 
						|
                                    </tr>
 | 
						|
                                ))}
 | 
						|
                            </tbody>
 | 
						|
                        </table>
 | 
						|
                    </div>
 | 
						|
                    </PanelCodeHighlight>
 | 
						|
            )}
 | 
						|
        </div>
 | 
						|
    )
 | 
						|
}
 | 
						|
 | 
						|
export default SungrowPlant
 |