import { AnalyticsUnitReq } from '@gtpl/shared-models/analytics-data';
import { CardBodyDetails, CardDetail, CardHeader, CardHeaderBody } from '@gtpl/shared-models/common-models';
import { PlantIdRequest } from '@gtpl/shared-models/warehouse-management';
import { WarehouseDashboardService } from '@gtpl/shared-services/analytics';
import { AlertMessages } from '@gtpl/shared-utils/alert-messages';
import { Col } from 'antd';
import CardComponent from 'libs/pages/dashboard/dashboard-components/factory-head-dashboard-grid/src/lib/dashboard-components/card-component';
import React, { useEffect, useState } from 'react';
import './warehouse-dashboard.css';
import { WhCardComponent } from './wh-card-component';

export interface TopTenDummyProductsProps { }

export function TopTenDummyProducts() {
    const [topTendummyData, setTopTendummyData] = useState<any[]>([]);
    const service = new WarehouseDashboardService;

    useEffect(() => {
        getTop10DummyProducts();
    }, [])

    const getTop10DummyProducts = () => {
        
        service.getTop10DummyProducts({unitId:Number(localStorage.getItem('unit_id'))}).then((res) => {
            if (res.status) {
                setTopTendummyData(res.data)
                //AlertMessages.getSuccessMessage(res.internalMessage);
            } else {
                //AlertMessages.getErrorMessage(res.internalMessage);
            }
        })
    }

    const whAvalilityBodyCard: CardBodyDetails[] = [];

    let totalCount = 0;

    for (const dataInfo of topTendummyData) {
        console.log(dataInfo.total)
        whAvalilityBodyCard.push(new CardBodyDetails(dataInfo.product, Number(dataInfo.qty).toLocaleString("en-IN"), Number(dataInfo.cnt).toLocaleString("en-IN")));
        totalCount += Number(dataInfo.assignedCount)
        console.log(new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(dataInfo.cnt))
    }
    const totalCoundBody = new CardHeaderBody('Total Count', totalCount.toString());
    const totalCoundBodyTwo = new CardHeaderBody('', status);

    const whCardHeader = new CardHeader('Top 10 Dummy Products', [totalCoundBody, totalCoundBodyTwo]);
    

    const cardDetails = new CardDetail(whCardHeader, whAvalilityBodyCard, ['Product', 'Qty', 'Count']);

    return (
        <WhCardComponent cardData={cardDetails} />
    )
}

export default TopTenDummyProducts;