Off-Market Property Investment Finder

Off-Market Property Investment Finder

Identify potential investment opportunities that aren't on the market.

Potential Opportunities

Off-Market Property Leads

Search Criteria

Location:

Property Type:

Generated Leads

Est. Value: ${formatCurrency(estValue)}

Est. Equity: ${formatCurrency(estEquity)}

`; elements.pdf.resultsContainer.insertAdjacentHTML('beforeend', pdfCard); } }; // --- PDF Generation Function --- const generatePdf = () => { const { jsPDF } = window.jspdf; const pdfContent = document.getElementById('pdfResult'); elements.downloadPdfBtn.disabled = true; elements.downloadPdfBtn.innerHTML = 'Generating...'; // Update PDF info elements.pdf.date.textContent = `Generated on: ${new Date().toLocaleDateString('en-US')}`; elements.pdf.location.textContent = `${elements.city.value}, ${elements.state.value}`; elements.pdf.propertyType.textContent = elements.propertyType.value; html2canvas(pdfContent, { scale: 2, backgroundColor: '#ffffff' }).then(canvas => { const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' }); const pageWidth = pdf.internal.pageSize.getWidth(); const margin = 40; const contentWidth = pageWidth - margin * 2; const contentHeight = (contentWidth / canvas.width) * canvas.height; pdf.addImage(imgData, 'PNG', margin, margin, contentWidth, contentHeight); pdf.save('Off-Market_Leads.pdf'); }).catch(err => { console.error("Error generating PDF:", err); }).finally(() => { elements.downloadPdfBtn.disabled = false; elements.downloadPdfBtn.innerHTML = 'Download List'; }); }; // --- Event Listeners --- elements.findDealsBtn.addEventListener('click', findDeals); elements.downloadPdfBtn.addEventListener('click', generatePdf); // --- Initial Load --- findDeals(); });
Scroll to Top