'use client'; import { Plus, X, Save, Battery } from 'lucide-react'; import type { CompanySettings } from '../page'; interface BatteryInvestmentSettingsProps { settings: CompanySettings; setSettings: React.Dispatch>; activeBatteryTab: number; setActiveBatteryTab: (n: number) => void; addBatteryPlan: boolean; setAddBatteryPlan: (v: boolean) => void; newBatteryName: string; setNewBatteryName: (v: string) => void; newBatteryStatus: string; setNewBatteryStatus: (v: string) => void; newBatteryTarget: number; setNewBatteryTarget: (n: number) => void; newBatteryStart: string; setNewBatteryStart: (v: string) => void; newBatteryEnd: string; setNewBatteryEnd: (v: string) => void; newBatteryMin: number; setNewBatteryMin: (n: number) => void; newBatteryMax: number; setNewBatteryMax: (n: number) => void; newBatteryDuration: number; setNewBatteryDuration: (n: number) => void; newBatteryLock: number; setNewBatteryLock: (n: number) => void; newBatteryPenalty: number; setNewBatteryPenalty: (n: number) => void; newBatteryProfitShare: number; setNewBatteryProfitShare: (n: number) => void; newBatteryDesc: string; setNewBatteryDesc: (v: string) => void; newBatteryBasePrice: number; setNewBatteryBasePrice: (n: number) => void; newBatteryMinQuantity: number; setNewBatteryMinQuantity: (n: number) => void; createBatteryPlan: () => void; handleSave: () => void; } export default function BatteryInvestmentSettings({ settings, setSettings, activeBatteryTab, setActiveBatteryTab, addBatteryPlan, setAddBatteryPlan, newBatteryName, setNewBatteryName, newBatteryStatus, setNewBatteryStatus, newBatteryTarget, setNewBatteryTarget, newBatteryStart, setNewBatteryStart, newBatteryEnd, setNewBatteryEnd, newBatteryMin, setNewBatteryMin, newBatteryMax, setNewBatteryMax, newBatteryDuration, setNewBatteryDuration, newBatteryLock, setNewBatteryLock, newBatteryPenalty, setNewBatteryPenalty, newBatteryProfitShare, setNewBatteryProfitShare, newBatteryDesc, setNewBatteryDesc, newBatteryBasePrice, setNewBatteryBasePrice, newBatteryMinQuantity, setNewBatteryMinQuantity, createBatteryPlan, handleSave, }: BatteryInvestmentSettingsProps) { const calculatedMinInvestment = newBatteryMinQuantity * newBatteryBasePrice; return (

Battery Investment Plans

Battery Investment Plans ({(settings.plans as any).batteryInvestment?.length || 0})

Manage high-yield battery pack investment plans for partners

{addBatteryPlan && (

New Battery Investment Plan

Configure high-yield battery fleet assets

setNewBatteryName(e.target.value)} placeholder="e.g., Standard Battery Plan" className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryTarget(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryStart(e.target.value)} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryEnd(e.target.value)} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryBasePrice(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" placeholder="Single battery unit cost" />
setNewBatteryMinQuantity(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" placeholder="Min battery packs to invest" />
= Qty × Base Price
setNewBatteryMax(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryDuration(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryLock(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryPenalty(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />
setNewBatteryProfitShare(parseInt(e.target.value))} className="w-full px-3 py-2 border border-slate-200 rounded-lg text-sm mt-1" />