import { useState } from "react"; import { jsPDF } from "jspdf"; export default function SecurityDepositCalculator() { const [securityDeposit, setSecurityDeposit] = useState(0); const [currentBalance, setCurrentBalance] = useState(0); const [damages, setDamages] = useState(0); const [otherCosts, setOtherCosts] = useState(0); const [result, setResult] = useState(null); const calculate = () => { const totalDeductions = parseFloat(damages || 0) + parseFloat(otherCosts || 0); const refundAmount = parseFloat(currentBalance || 0) - totalDeductions; setResult(refundAmount >= 0 ? { refund: refundAmount.toFixed(2) } : { owed: Math.abs(refundAmount).toFixed(2) }); }; const generatePDF = () => { const doc = new jsPDF(); doc.setFontSize(16); doc.text("Security Deposit Calculation", 20, 20); doc.setFontSize(12); doc.text(`Security Deposit Held: $${securityDeposit}`, 20, 40); doc.text(`Current Balance: $${currentBalance}`, 20, 50); doc.text(`Damages: $${damages}`, 20, 60); doc.text(`Other Costs: $${otherCosts}`, 20, 70); if (result?.refund !== undefined) { doc.text(`Refund Due: $${result.refund}`, 20, 90); } else { doc.text(`Amount Owed: $${result.owed}`, 20, 90); } doc.save("Security_Deposit_Summary.pdf"); }; return (

Security Deposit Calculator

setSecurityDeposit(e.target.value)} className="w-full p-2 border rounded" /> setCurrentBalance(e.target.value)} className="w-full p-2 border rounded" /> setDamages(e.target.value)} className="w-full p-2 border rounded" /> setOtherCosts(e.target.value)} className="w-full p-2 border rounded" /> {result && (

{result.refund !== undefined ? `Refund Due: $${result.refund}` : `Amount Owed: $${result.owed}`}

)}
); }