import React from "react"; import { formatNumber } from "~/lib/utils"; export type CompanyInfo = { id: string; imageUrl: string; name: string; costReduction: number; revenue?: number; capacity?: number; costI : number, capacityI : number, revenueI : number, cost : number | string, }; export type D3ImageInfoProps = { companies: CompanyInfo[]; width?: number; height?: number; }; const InfoBox = ({ company, style }: { company: CompanyInfo; style :any }) => { return (
درآمد:
{formatNumber(company?.revenue || 0)}
میلیون ریال
هزینه:
{formatNumber(company?.cost || 0)}
میلیون ریال
ظرفیت:
{formatNumber(company?.capacity || 0)}
تن در سال
); }; export function D3ImageInfo({ companies }: D3ImageInfoProps) { // Ensure we have exactly 6 companies const displayCompanies = companies; // Positions inside a 5x4 grid (col, row) // Layout keeps same visual logic: left/middle/right on two bands with spacing grid around const gridPositions = [ { col: 2, row: 2 , colI : 1 , rowI : 2 , name : "بسپاران"}, // left - top band { col: 3, row: 2 , colI : 3 , rowI : 1 , name : "خوارزمی"}, // middle top (image sits in row 2, info box goes to row 1) { col: 4, row: 2 ,colI : 5 , rowI : 2 , name : "فراورش 1"}, // right - top band { col: 2, row: 3 , colI : 1 , rowI : 3 , name : "کیمیا"}, // left - bottom band { col: 3, row: 3 , colI : 3, rowI : 4 , name : "آب نیرو"}, // middle bottom (image sits in row 3, info box goes to row 4) { col: 4, row: 3 , colI : 5 , rowI : 3 , name : "فراورش 2"}, // right - bottom band ]; return (
{displayCompanies.map((company, index) => { const gp = gridPositions.find(v => v.name === company.name) ; return ( <>
{company.name}
{company.name}
); })}
); }