You have reflected here because the website you recently visited is developed by us.

Make Your Own Website

Create a custom website tailored to your needs.

← Back to Home
List.remove('show'); } }); , ')}. The client's budget is ${budget} PKR. Highlight the project's potential impact and a professional tone.`; try { let chatHistory = []; chatHistory.push({ role: "user", parts: [{ text: prompt }] }); const payload = { contents: chatHistory }; const apiKey = ""; const apiUrl = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-05-20:generateContent?key=${apiKey}`; const response = await fetch(apiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); if (!response.ok) { throw new Error(`API call failed with status: ${response.status}`); } const result = await response.json(); if (result.candidates && result.candidates.length > 0 && result.candidates[0].content && result.candidates[0].content.parts && result.candidates[0].content.parts.length > 0) { const text = result.candidates[0].content.parts[0].text; generatedSummaryText.textContent = text; generatedSummaryContainer.classList.remove('hidden'); } else { generatedSummaryText.textContent = 'Could not generate a summary. Please try again.'; generatedSummaryContainer.classList.remove('hidden'); } } catch (error) { console.error('Error calling Gemini API:', error); generatedSummaryText.textContent = 'An error occurred. Please try again later.'; generatedSummaryContainer.classList.remove('hidden'); } finally { loadingSpinner.classList.add('hidden'); geminiBtn.classList.remove('hidden'); submitBtn.classList.remove('hidden'); } }); window.addEventListener('click', (e) => { dropdowns.forEach(dd => { const toggle = document.querySelector(dd.toggle); const menu = document.querySelector(dd.menu); if (!toggle.contains(e.target) && !menu.contains(e.target)) { menu.classList.remove('show'); } }); const langToggle = document.querySelector(languages.toggle); const langMenu = document.querySelector(languages.menu); if (!langToggle.contains(e.target) && !langMenu.contains(e.target)) { langMenu.classList.remove('show'); } }); nst langMenu = document.querySelector(languages.menu); if (!langToggle.contains(e.target) && !langMenu.contains(e.target)) { langMenu.classList.remove('show'); } });