GD-ML/AndroidCode
13.4k
1<!DOCTYPE html>2<html lang="en">3<head>4<meta charset="UTF-8">5<title>PlantVision - Identify</title>6<meta name="viewport" content="width=1080, initial-scale=1">7<style>8 body { margin: 0; padding: 0; background: transparent; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }9 #render-target {10 width: 1080px;11 height: 2400px;12 position: relative;13 overflow: hidden;14 background: #ffffff;15 }16 17 /* Camera view placeholder */18 .camera-view {19 position: absolute;20 left: 0; top: 0;21 width: 1080px; height: 2400px;22 background: #E0E0E0;23 border: 1px solid #BDBDBD;24 display: flex; align-items: center; justify-content: center;25 color: #757575; font-size: 36px; letter-spacing: 0.2px;26 }27 28 /* Top system/status bar */29 .status-bar {30 position: absolute; left: 0; top: 0;31 width: 1080px; height: 140px;32 background: rgba(255,255,255,0.95);33 display: flex; align-items: center; justify-content: space-between;34 padding: 0 40px;35 box-sizing: border-box;36 }37 .status-left, .status-center, .status-right {38 display: flex; align-items: center; gap: 26px;39 color: #222;40 }41 .status-time { font-weight: 600; font-size: 34px; }42 .status-icon svg { width: 34px; height: 34px; }43 44 /* App header overlays */45 .app-header {46 position: absolute; top: 210px; left: 0; width: 100%;47 display: flex; align-items: center; justify-content: center;48 pointer-events: none;49 }50 .logo {51 display: inline-flex; align-items: center; gap: 14px;52 color: #ffffff; font-size: 48px; font-weight: 700;53 text-shadow: 0 1px 2px rgba(0,0,0,0.3);54 }55 .logo .mark {56 width: 42px; height: 42px; border-radius: 50%;57 background: #6EE087; display: flex; align-items: center; justify-content: center;58 }59 .logo .mark svg { width: 26px; height: 26px; }60 61 /* Left purple circular button */62 .left-pill {63 position: absolute; top: 210px; left: 40px;64 width: 96px; height: 96px; border-radius: 48px;65 background: #CFA9E9;66 display: flex; align-items: center; justify-content: center;67 box-shadow: 0 6px 16px rgba(0,0,0,0.2);68 }69 .left-pill svg { width: 48px; height: 48px; fill: #6a3c99; opacity: 0.9; }70 71 /* Right small controls */72 .right-controls {73 position: absolute; top: 210px; right: 40px;74 display: flex; gap: 18px;75 }76 .control-box {77 width: 70px; height: 70px; border-radius: 16px;78 background: rgba(255,255,255,0.95);79 display: flex; align-items: center; justify-content: center;80 box-shadow: 0 4px 12px rgba(0,0,0,0.18);81 }82 .control-box svg { width: 40px; height: 40px; }83 84 /* Scanning frame corners */85 .scan-corner {86 position: absolute;87 width: 180px; height: 180px;88 border-radius: 32px;89 }90 .corner-tl { top: 720px; left: 110px; border-top: 14px solid #BDECE2; border-left: 14px solid #BDECE2; }91 .corner-tr { top: 720px; right: 110px; border-top: 14px solid #BDECE2; border-right: 14px solid #BDECE2; }92 .corner-bl { top: 1320px; left: 110px; border-bottom: 14px solid #BDECE2; border-left: 14px solid #BDECE2; }93 .corner-br { top: 1320px; right: 110px; border-bottom: 14px solid #BDECE2; border-right: 14px solid #BDECE2; }94 95 /* Identify tip overlay */96 .tip {97 position: absolute; left: 200px; top: 1520px;98 width: 680px; height: 120px; border-radius: 26px;99 background: rgba(0,0,0,0.35);100 color: #fff; font-size: 38px; font-weight: 600;101 display: flex; align-items: center; justify-content: center;102 text-align: center;103 }104 105 /* Bottom action controls over camera */106 .gallery-btn {107 position: absolute; left: 80px; top: 1760px;108 width: 140px; height: 110px; border-radius: 16px;109 background: rgba(0,0,0,0.35);110 display: flex; align-items: center; justify-content: center;111 box-shadow: 0 4px 12px rgba(0,0,0,0.25);112 }113 .gallery-btn svg { width: 86px; height: 86px; stroke: #fff; }114 115 .shutter {116 position: absolute; left: 50%; top: 1750px; transform: translateX(-50%);117 width: 180px; height: 180px; border-radius: 90px;118 background: rgba(255,255,255,0.85);119 border: 6px solid #5a5a5a;120 display: flex; align-items: center; justify-content: center;121 box-shadow: 0 10px 24px rgba(0,0,0,0.32);122 }123 .shutter svg { width: 120px; height: 120px; }124 125 /* Bottom navigation */126 .bottom-nav {127 position: absolute; left: 0; bottom: 0;128 width: 1080px; height: 220px;129 background: #ffffff; border-top: 1px solid #E0E0E0;130 display: flex; align-items: center; justify-content: space-around;131 }132 .nav-item {133 display: flex; flex-direction: column; align-items: center; gap: 16px;134 color: #777; font-size: 34px;135 }136 .nav-item svg { width: 64px; height: 64px; }137 .nav-item.active { color: #0BA66A; font-weight: 700; }138 .home-indicator {139 position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%);140 width: 220px; height: 12px; border-radius: 6px; background: #D9D9D9;141 }142</style>143</head>144<body>145<div id="render-target">146 147 <!-- Camera feed placeholder -->148 <div class="camera-view">[IMG: Plant Camera View]</div>149 150 <!-- Top status bar -->151 <div class="status-bar">152 <div class="status-left">153 <div class="status-time">11:42</div>154 </div>155 <div class="status-center">156 <div class="status-icon">157 <svg viewBox="0 0 24 24"><path fill="#444" d="M12 2a5 5 0 0 0-5 5h2a3 3 0 0 1 3-3 3 3 0 0 1 3 3h2a5 5 0 0 0-5-5zm0 6a3 3 0 0 0-3 3h2a1 1 0 1 1 2 0h2a3 3 0 0 0-3-3z"/></svg>158 </div>159 <div style="font-size:32px;color:#444;">32°</div>160 <div class="status-icon">161 <svg viewBox="0 0 24 24"><path fill="#444" d="M12 2a10 10 0 1 0 0 20A10 10 0 0 0 12 2zm0 2c2.9 0 5.4 1.4 7 3.5H5C6.6 5.4 9.1 4 12 4zm0 16c-2.9 0-5.4-1.4-7-3.5h14c-1.6 2.1-4.1 3.5-7 3.5z"/></svg>162 </div>163 <div class="status-icon">164 <svg viewBox="0 0 24 24"><path fill="#444" d="M12 2a10 10 0 1 0 0 20c3.4 0 6.4-1.7 8.2-4.3L12 12V2z"/></svg>165 </div>166 </div>167 <div class="status-right">168 <div class="status-icon">169 <svg viewBox="0 0 24 24"><path fill="#444" d="M3 18h2a9 9 0 0 1 9-9V7A11 11 0 0 0 3 18zm4 0h2a5 5 0 0 1 5-5v-2a7 7 0 0 0-7 7zm5 0h2c0-1.1.9-2 2-2v-2a4 4 0 0 0-4 4zm5 3a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></svg>170 </div>171 <div class="status-icon">172 <svg viewBox="0 0 24 24"><path fill="#444" d="M17 6H7v11h10V6zm1-2a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h12z"/></svg>173 </div>174 </div>175 </div>176 177 <!-- App header logo -->178 <div class="app-header">179 <div class="logo">180 <span class="mark">181 <svg viewBox="0 0 24 24"><path fill="#ffffff" d="M13 2L6 14h5l-1 8 7-12h-5l1-8z"/></svg>182 </span>183 <span>PlantVision</span>184 </div>185 </div>186 187 <!-- Left purple circular icon -->188 <div class="left-pill">189 <svg viewBox="0 0 24 24"><path d="M12 3c-4 2-7 6-7 9a7 7 0 0 0 14 0c0-3-3-7-7-9zm0 5c1.8 1.3 3 3.2 3 4.7A3 3 0 0 1 9 12c0-1.5 1.2-3.4 3-4z"/></svg>190 </div>191 192 <!-- Right small controls -->193 <div class="right-controls">194 <div class="control-box">195 <svg viewBox="0 0 24 24"><path fill="#333" d="M5 4h2v16H5V4zm6 3h2v10h-2V7zm6-2h2v14h-2V5z"/></svg>196 </div>197 <div class="control-box">198 <svg viewBox="0 0 24 24"><path fill="#2c7d44" d="M12 2c-4 3-7 7-7 10a7 7 0 0 0 14 0c0-3-3-7-7-10z"/></svg>199 </div>200 </div>201 202 <!-- Scanning frame corners -->203 <div class="scan-corner corner-tl"></div>204 <div class="scan-corner corner-tr"></div>205 <div class="scan-corner corner-bl"></div>206 <div class="scan-corner corner-br"></div>207 208 <!-- Identify tip -->209 <div class="tip">Tap to identify the plant</div>210 211 <!-- Gallery icon button -->212 <div class="gallery-btn">213 <svg viewBox="0 0 64 64" fill="none" stroke-width="3">214 <rect x="10" y="14" width="44" height="32" rx="6" stroke="#fff"></rect>215 <circle cx="22" cy="26" r="4" stroke="#fff"></circle>216 <path d="M16 38l10-8 8 6 14-10" stroke="#fff"></path>217 </svg>218 </div>219 220 <!-- Shutter button -->221 <div class="shutter">222 <svg viewBox="0 0 100 100">223 <circle cx="50" cy="50" r="38" fill="none" stroke="#bbb" stroke-width="10"/>224 <path d="M50 12 A38 38 0 0 1 88 50" fill="none" stroke="#6F61F6" stroke-width="10" stroke-linecap="round"/>225 </svg>226 </div>227 228 <!-- Bottom navigation -->229 <div class="bottom-nav">230 <div class="nav-item">231 <svg viewBox="0 0 24 24"><path fill="#777" d="M19 3H5a2 2 0 0 0-2 2v16l5-3h11a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-2 10H7v-2h10v2z"/></svg>232 <div>Schedule</div>233 </div>234 <div class="nav-item active">235 <svg viewBox="0 0 24 24"><path fill="#0BA66A" d="M7 7h3V5H5v5h2V7zm7 10h3v2h-5v-5h2v3zm3-10h-3V5h5v5h-2V7zM10 17H7v-3H5v5h5v-2z"/></svg>236 <div>Identify/Add</div>237 </div>238 <div class="nav-item">239 <svg viewBox="0 0 24 24"><path fill="#777" d="M12 3C7 3 3 6.6 3 11c0 2.3 1.3 4.3 3.3 5.7L6 21l3.5-2c.8.2 1.6.3 2.5.3 5 0 9-3.6 9-8s-4-8-9-8zm-4 8h8v2H8v-2z"/></svg>240 <div>Community</div>241 </div>242 <div class="home-indicator"></div>243 </div>244 245</div>246</body>247</html>