<!doctype html>
<html lang=en>
<head>
<meta charset=UTF-8>
<meta name=viewport content="width=device-width,initial-scale=1">
<title>Data Life Eyes Pro - Advanced Image Analysis</title>
<link rel=stylesheet href=https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css>
<style>:root{--primary-color:#6b48ff;--secondary-color:#1e90ff;--accent-color:#ff6b6b;--bg-gradient:linear-gradient(135deg, #6b48ff 0%, #1e90ff 100%);--text-color:#333;--light-bg:#f8f9fa}*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif}body{background:var(--light-bg);color:var(--text-color);line-height:1.6}.container{max-width:1200px;margin:0 auto;padding:20px}header{background:var(--bg-gradient);padding:15px 0;color:#fff;box-shadow:0 2px 15px rgba(0,0,0,.1);position:fixed;width:100%;top:0;z-index:1000}nav{display:flex;justify-content:space-between;align-items:center;padding:0 20px}.logo{font-size:2em;font-weight:700;display:flex;align-items:center;gap:10px}.nav-menu{display:flex;gap:20px}.nav-menu a{color:#fff;text-decoration:none;padding:8px 15px;border-radius:5px;transition:all .3s ease}.nav-menu a:hover{background:rgba(255,255,255,.2)}.hamburger{display:none;cursor:pointer;font-size:1.5em}main{margin-top:100px}.drop-zone{border:3px dashed var(--primary-color);border-radius:15px;padding:40px;text-align:center;margin:20px 0;background:#fff;transition:all .3s ease;cursor:pointer}.drop-zone:hover{background:rgba(107,72,255,.05)}.drop-zone.dragover{background:rgba(107,72,255,.1);border-color:var(--secondary-color);transform:scale(1.02)}.preview-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin:30px 0}.preview-image-container{position:relative}.preview-image{width:100%;height:200px;object-fit:cover;border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,.1);transition:transform .3s ease}.preview-image:hover{transform:scale(1.05)}.remove-image{position:absolute;top:5px;right:5px;background:rgba(255,0,0,.8);color:#fff;border:none;border-radius:50%;width:25px;height:25px;cursor:pointer}.query-box{width:100%;min-height:120px;padding:15px;border:2px solid var(--primary-color);border-radius:8px;margin:20px 0;resize:vertical;font-size:1.1em;transition:border-color .3s ease}.query-box:focus{outline:0;border-color:var(--secondary-color);box-shadow:0 0 10px rgba(107,72,255,.2)}.analyze-btn{background:var(--bg-gradient);color:#fff;padding:15px 30px;border:none;border-radius:8px;cursor:pointer;font-size:1.2em;transition:all .3s ease;display:flex;align-items:center;gap:10px;margin:0 auto}.analyze-btn:hover{transform:translateY(-2px);box-shadow:0 5px 15px rgba(107,72,255,.3)}.report-container{background:#fff;padding:30px;border-radius:15px;margin:30px 0;box-shadow:0 5px 20px rgba(0,0,0,.1)}.report-actions{display:flex;gap:15px;margin-top:20px;flex-wrap:wrap}.action-btn{padding:10px 20px;border:none;border-radius:5px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;background:var(--light-bg)}.action-btn:hover{background:var(--primary-color);color:#fff}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:none;justify-content:center;align-items:center;z-index:1000}.loading-spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}footer{background:var(--bg-gradient);color:#fff;padding:30px 0;margin-top:50px;text-align:center}.toast{position:fixed;bottom:20px;right:20px;padding:15px 25px;background:var(--accent-color);color:#fff;border-radius:5px;display:none;animation:slideIn .5s ease}@keyframes slideIn{from{transform:translateX(100%)}to{transform:translateX(0)}}@media (max-width:768px){.hamburger{display:block}.nav-menu{display:none;position:absolute;top:100%;left:0;width:100%;background:var(--primary-color);padding:20px;flex-direction:column;align-items:center}.nav-menu.active{display:flex}.preview-container{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.report-actions{justify-content:center}}</style>
</head>
<body>
<div class=loading-overlay>
<div class=loading-spinner></div>
</div>
<div class=toast id=toast></div>
<header>
<nav>
<div class=logo>
<i class="fas fa-eye"></i>
Data Life Eyes Pro ♻️🇳🇱
</div>
<div class=hamburger>
<i class="fas fa-bars"></i>
</div>
<div class=nav-menu>
<a href=# class=new-analysis>
<i class="fas fa-plus"></i> New Analysis
</a>
<a href=mailto:queenaicpu@gmail.com>
<i class="fas fa-envelope"></i> Contact Albert
</a>
<a href=# class=about-link>
<i class="fas fa-info-circle"></i> About
</a>
</div>
</nav>
</header>
<main class=container>
<div class=drop-zone id=dropZone>
<i class="fas fa-cloud-upload-alt fa-3x"></i>
<p>Drag and drop images here or click to upload</p>
<p class=small>(Supports all image formats)</p>
<input type=file id=fileInput multiple accept=image/* style=display:none>
</div>
<div class=preview-container id=previewContainer></div>
<textarea class=query-box placeholder="Ask detailed questions about the inviroment impact🤔💡..."></textarea>
<button class=analyze-btn onclick=analyzeImages()>
<i class="fas fa-brain"></i>
Start Deep Analysis 🚮
</button>
<div class=report-container id=reportContainer></div>
</main>
<footer>
<div class=container>
<p>Data Life Eyes Pro. Advanced Image Analysis Platform.</p>
<p>developed by Albert🙂🌳</p>
</div>
</footer>
<script>const GEMINI_API_KEY="AIzaSyB4zYyXQGT4DHqAdJrjPZoIxys9nn-IGzg",GEMINI_ENDPOINT="https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash-latest:generateContent";let uploadedImages=[];function showLoading(){document.querySelector(".loading-overlay").style.display="flex"}function hideLoading(){document.querySelector(".loading-overlay").style.display="none"}function showToast(e){const t=document.getElementById("toast");t.textContent=e,t.style.display="block",setTimeout((()=>{t.style.display="none"}),3e3)}function handleDragOver(e){e.preventDefault(),e.stopPropagation(),document.getElementById("dropZone").classList.add("dragover")}function handleDragLeave(e){e.preventDefault(),e.stopPropagation(),document.getElementById("dropZone").classList.remove("dragover")}function handleDrop(e){e.preventDefault(),e.stopPropagation(),document.getElementById("dropZone").classList.remove("dragover"),handleFiles(e.dataTransfer.files)}function handleFiles(e){Array.from(e).forEach((e=>{if(e.type.startsWith("image/")){const t=new FileReader;t.onload=function(e){addImagePreview(e.target.result),uploadedImages.push(e.target.result)},t.readAsDataURL(e)}}))}function addImagePreview(e){const t=document.getElementById("previewContainer"),n=document.createElement("div");n.className="preview-image-container";const o=document.createElement("img");o.src=e,o.className="preview-image";const a=document.createElement("button");a.className="remove-image",a.innerHTML="×",a.onclick=()=>{n.remove(),uploadedImages=uploadedImages.filter((t=>t!==e))},n.appendChild(o),n.appendChild(a),t.appendChild(n)}async function analyzeImages(){if(0===uploadedImages.length)return void showToast("Please upload at least one image");const e=document.querySelector(".query-box").value.trim();if(e){showLoading();try{const t=uploadedImages.map((async e=>({inline_data:{mime_type:"image/jpeg",data:e.split(",")[1]}}))),n=await Promise.all(t),o=await fetch(`${GEMINI_ENDPOINT}?key=${GEMINI_API_KEY}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:`Provide a detailed, comprehensive analysis of the following images based on this question: ${e}. Include visual details, context, potential implications, and any relevant insights.`},...n]}]})});displayReport(await o.json())}catch(e){console.error("Analysis failed:",e),showToast("Analysis failed. Please try again.")}finally{hideLoading()}}else showToast("Please enter your question about the images")}function displayReport(e){const t=document.getElementById("reportContainer"),n=e.candidates[0].content.parts[0].text;t.innerHTML=`\n                <h2><i class="fas fa-file-alt"></i> Detailed Analysis Report</h2>\n                <div class="report-content">${formatReport(n)}</div>\n                <div class="report-actions">\n                    <button class="action-btn" onclick="copyReport()">\n                        <i class="fas fa-copy"></i> Copy to Clipboard\n                    </button>\n                    <button class="action-btn" onclick="printReport()">\n                        <i class="fas fa-print"></i> Print Report\n                    </button>\n                    <button class="action-btn" onclick="shareReport()">\n                        <i class="fas fa-share-alt"></i> Share Report\n                    </button>\n                    <button class="action-btn" onclick="readReport()">\n                        <i class="fas fa-volume-up"></i> Read Aloud\n                    </button>\n                </div>\n            `}function formatReport(e){return e.split("\n").map((e=>e?`<p>${e}</p>`:"")).join("")}function copyReport(){const e=document.querySelector(".report-content").innerText;navigator.clipboard.writeText(e).then((()=>showToast("Report copied to clipboard"))).catch((()=>showToast("Failed to copy report")))}function printReport(){const e=window.open("","","width=800,height=600");e.document.write(`\n                <html>\n                    <head>\n                        <title>AI Eyes Analysis Report</title>\n                        <style>\n                            body { font-family: Arial, sans-serif; padding: 20px; }\n                            .report-content { line-height: 1.6; }\n                        </style>\n                    </head>\n                    <body>\n                        <h1>AI Eyes Analysis Report</h1>\n                        ${document.querySelector(".report-content").innerHTML}\n                    </body>\n                </html>\n            `),e.document.close(),e.print()}function shareReport(){navigator.share?navigator.share({title:"AI Eyes Analysis Report",text:document.querySelector(".report-content").innerText}).catch((()=>showToast("Failed to share report"))):showToast("Sharing is not supported on this device")}function readReport(){const e=document.querySelector(".report-content").innerText,t=new SpeechSynthesisUtterance(e);window.speechSynthesis.speak(t)}document.querySelector(".hamburger").addEventListener("click",(()=>{document.querySelector(".nav-menu").classList.toggle("active")})),document.querySelector(".new-analysis").addEventListener("click",(e=>{e.preventDefault(),location.reload()})),document.getElementById("dropZone").addEventListener("dragover",handleDragOver),document.getElementById("dropZone").addEventListener("dragleave",handleDragLeave),document.getElementById("dropZone").addEventListener("drop",handleDrop),document.getElementById("dropZone").addEventListener("click",(()=>{document.getElementById("fileInput").click()})),document.getElementById("fileInput").addEventListener("change",(e=>{handleFiles(e.target.files)}))</script>
<style>:root{--primary-color:#4CAF50;--secondary-color:#8BC34A;--accent-color:#FF9800;--bg-gradient:linear-gradient(135deg, #A5D6A7, #81C784);--text-color:#2E7D32;--light-bg:#E8F5E9}</style>
</body>
</html>