Low Glycemic Index (GI) Food Finder

Low Glycemic Index (GI) Food Finder

Discover healthy, low-GI foods for better blood sugar management.

GI values are approximate. Consult a healthcare professional for personalized dietary advice.

${food.name}

${food.category}

GI Score

${food.gi}

`).join(''); } function applyFilters() { const searchTerm = searchInput.value.toLowerCase(); const selectedCategory = categoryFilter.value; currentFilteredFoods = foodData.filter(food => { const matchesSearch = food.name.toLowerCase().includes(searchTerm); const matchesCategory = selectedCategory === 'all' || food.category === selectedCategory; return matchesSearch && matchesCategory; }); renderFoods(currentFilteredFoods); } async function generatePdf() { const { jsPDF } = window.jspdf; const doc = new jsPDF({ orientation: 'portrait', unit: 'mm', format: 'a4' }); // --- PDF Styling & Content --- const primaryColor = '#d97706'; // amber-600 const textColor = '#374151'; doc.setFont('Inter', 'bold'); doc.setFontSize(22); doc.setTextColor(primaryColor); doc.text('Low Glycemic Index Food List', 105, 25, { align: 'center' }); doc.setFont('Inter', 'normal'); doc.setFontSize(10); doc.setTextColor('#6b7280'); doc.text(`Generated on: ${new Date().toLocaleDateString('en-US')}`, 105, 33, { align: 'center' }); doc.setLineWidth(0.5); doc.setDrawColor(primaryColor); doc.line(20, 40, 190, 40); let startY = 55; doc.setFont('Inter', 'bold'); doc.setFontSize(12); doc.setTextColor(textColor); doc.text('Food Item', 22, startY); doc.text('Category', 110, startY); doc.text('GI Score', 160, startY); doc.setLineWidth(0.2); doc.line(20, startY + 3, 190, startY + 3); startY += 10; doc.setFont('Inter', 'normal'); doc.setFontSize(11); currentFilteredFoods.forEach(food => { if (startY > 280) return; // Prevent overflow doc.text(food.name, 22, startY); doc.text(food.category, 110, startY); doc.setFont('Inter', 'bold'); doc.text(String(food.gi), 162, startY); doc.setFont('Inter', 'normal'); startY += 8; }); startY = 275; doc.setLineWidth(0.2); doc.setDrawColor('#d1d5db'); doc.line(20, startY, 190, startY); startY += 8; doc.setFontSize(9); doc.setTextColor('#6b7280'); doc.text('A Low Glycemic Index (GI) is generally considered 55 or less. This list is for informational purposes only. Always consult with a healthcare provider for dietary guidance.', 105, startY, { align: 'center', maxWidth: 170 }); doc.save('Low_GI_Food_List.pdf'); } // --- Event Listeners --- if (searchInput) { searchInput.addEventListener('keyup', applyFilters); } if (categoryFilter) { categoryFilter.addEventListener('change', applyFilters); } if (downloadPdfBtn) { downloadPdfBtn.addEventListener('click', generatePdf); } // --- Initial Load --- foodData.sort((a,b) => a.gi - b.gi); // Sort by GI score initially renderFoods(foodData); });
Scroll to Top