Team Ai
Datasetpublic

GD-ML/AndroidCode

sourceHugging Facemitupdated 6mo agoView on Hugging Face
1likes3.4kdownloads
11449_1.html357 linesDownload Raw Back to 11449
1<!DOCTYPE html>2<html lang="en">3<head>4<meta charset="UTF-8">5<meta name="viewport" content="width=1080, initial-scale=1.0">6<title>Weather UI Mock</title>7<style>8  body { margin: 0; padding: 0; background: transparent; font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }9  #render-target {10    width: 1080px;11    height: 2400px;12    position: relative;13    overflow: hidden;14    background: linear-gradient(180deg, #59bbff 0%, #1f7bdd 38%, #0d66c9 100%);15    color: #fff;16  }17  /* Status bar */18  .status-bar {19    position: absolute;20    top: 0; left: 0; right: 0;21    height: 96px;22    padding: 0 32px;23    display: flex;24    align-items: center;25    justify-content: space-between;26    color: #eaf6ff;27    font-weight: 600;28    font-size: 40px;29    opacity: .95;30  }31  .status-icons {32    display: flex;33    align-items: center;34    gap: 22px;35  }36  .icon-wrap { width: 38px; height: 38px; opacity: .95; }37  /* App bar */38  .app-bar {39    position: absolute;40    top: 96px; left: 0; right: 0;41    height: 160px;42    padding: 0 36px;43    display: flex;44    align-items: center;45    justify-content: space-between;46  }47  .left-bar {48    display: flex; align-items: center; gap: 24px;49  }50  .hamburger {51    width: 64px; height: 64px; display: inline-flex; align-items: center; justify-content: center;52  }53  .hamburger span, .hamburger span::before, .hamburger span::after {54    display: block; width: 44px; height: 4px; background: #eaf6ff; border-radius: 3px; position: relative;55  }56  .hamburger span::before { content: ""; position: absolute; top: -12px; left: 0; width: 44px; height: 4px; background:#eaf6ff; border-radius:3px; }57  .hamburger span::after { content: ""; position: absolute; top: 12px; left: 0; width: 34px; height: 4px; background:#eaf6ff; border-radius:3px; }58  .title-block { line-height: 1.15; }59  .brand {60    font-size: 38px; font-weight: 700; letter-spacing: .2px; display: flex; align-items: center; gap: 12px; opacity: .95;61  }62  .location {63    font-size: 58px; font-weight: 800;64  }65  .premium-btn {66    background: #ff7a3e; color: #fff; font-weight: 800; font-size: 34px; padding: 18px 30px;67    border-radius: 100px; box-shadow: inset 0 -2px 0 rgba(0,0,0,.12);68  }69  .divider {70    position: absolute; top: 260px; left: 0; right: 0; height: 2px; background: rgba(255,255,255,.25);71  }72  /* Headline */73  .headline {74    position: absolute; top: 310px; left: 0; right: 0; text-align: center;75    font-size: 46px; font-weight: 500; opacity: .95;76  }77  .subtime {78    position: absolute; top: 382px; left: 0; right: 0; text-align: center; font-size: 34px; opacity: .85;79  }80  .subtime::after {81    content: ""; display: block; width: 2px; height: 24px; background: rgba(255,255,255,.7); margin: 10px auto 0;82  }83  /* Dial */84  .dial-wrap {85    position: absolute; top: 430px; left: 50%; transform: translateX(-50%);86    width: 940px; height: 940px;87  }88  .ticks {89    position: absolute; inset: -40px; border-radius: 50%;90    background:91      radial-gradient(closest-side, transparent 72%, rgba(255,255,255,.07) 72.4%, rgba(255,255,255,.07) 73%, transparent 73.4%),92      repeating-conic-gradient(from -10deg, rgba(255,255,255,.35) 0 4deg, transparent 4deg 12deg);93    filter: blur(.2px);94    opacity: .7;95  }96  .dial {97    position: absolute; inset: 0; border-radius: 50%;98    background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.45), rgba(255,255,255,.15) 55%, rgba(255,255,255,.05) 70%, rgba(0,0,0,.0) 100%),99                radial-gradient(circle at 55% 55%, #79d0ff 0%, #5aaef7 55%, #4a8fe4 100%);100    box-shadow: inset 0 0 70px rgba(255,255,255,.3);101  }102  .dial-label {103    position: absolute; left: 0; right: 0; top: 330px; text-align: center;104  }105  .temp-icon { margin: 0 auto 12px; width: 90px; height: 90px; opacity: .95; }106  .temp {107    font-size: 160px; font-weight: 800; line-height: 1; letter-spacing: -2px;108  }109  .deg { font-size: .45em; vertical-align: 28px; opacity: .95; }110  .unit { font-size: 40px; margin-left: 8px; opacity: .9; }111  .feels { margin-top: 10px; font-size: 46px; opacity: .95; }112  .next {113    margin-top: 34px; font-size: 46px; font-weight: 700; color: #d6ecff; display: inline-flex; align-items: center; gap: 12px;114  }115  .arrow {116    width: 26px; height: 26px;117  }118  .dial-num {119    position: absolute; color: rgba(255,255,255,.6); font-weight: 600; font-size: 40px;120  }121  .dial-num.left { left: -50px; top: 430px; }122  .dial-num.right { right: -50px; top: 450px; }123  .dial-num.bottom { left: 50%; transform: translateX(-50%); bottom: -40px; }124  /* Legend */125  .legend {126    position: absolute; top: 1430px; left: 0; right: 0;127    padding: 0 64px; font-size: 40px; display: flex; gap: 40px; align-items: center; justify-content: center; flex-wrap: wrap; color: #dff2ff;128  }129  .legend-group { display: flex; align-items: center; gap: 16px; }130  .dot { width: 20px; height: 20px; border-radius: 50%; display: inline-block; }131  /* Forecast card */132  .forecast-card {133    position: absolute; top: 1520px; left: 36px; right: 36px;134    background: rgba(255,255,255,.08);135    border-radius: 28px;136    padding: 28px 18px 14px;137    backdrop-filter: blur(2px);138  }139  .forecast-grid {140    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; text-align: center;141  }142  .forecast-item {143    padding: 36px 12px 28px; border-radius: 20px;144    border-right: 1px solid rgba(255,255,255,.12);145  }146  .forecast-item:last-child { border-right: 0; }147  .fi-title { color: #bfe3ff; font-weight: 800; font-size: 40px; letter-spacing: .3px; }148  .fi-icon { width: 80px; height: 80px; margin: 26px auto 10px; opacity: .95; }149  .fi-temp { font-size: 86px; font-weight: 800; }150  .fi-sub { color: #cfe9ff; font-size: 34px; margin-top: 6px; }151  /* Details section title */152  .details-title {153    position: absolute; top: 1810px; left: 48px;154  }155  .details-title .big { font-size: 64px; font-weight: 800; }156  .details-title .small { margin-top: 8px; font-size: 34px; color: #b9defa; letter-spacing: 1px; }157  /* Bottom nav */158  .bottom-nav {159    position: absolute; bottom: 70px; left: 0; right: 0;160    height: 170px; background: rgba(255,255,255,.08);161    border-top: 1px solid rgba(255,255,255,.15);162    display: grid; grid-template-columns: repeat(4, 1fr);163  }164  .tab {165    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: #d7edff; font-size: 34px; font-weight: 700;166  }167  .tab .ticon { width: 70px; height: 70px; opacity: .95; }168  .tab.active { color: #ffffff; }169  /* Gesture bar */170  .gesture {171    position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);172    width: 340px; height: 12px; background: #0a0a0a; border-radius: 10px; opacity: .8;173  }174</style>175</head>176<body>177<div id="render-target">178  <!-- Status bar -->179  <div class="status-bar">180    <div>8:16</div>181    <div class="status-icons">182      <svg class="icon-wrap" viewBox="0 0 24 24"><circle cx="12" cy="12" r="3" fill="#eaf6ff"/><g stroke="#eaf6ff" stroke-width="2" fill="none"><path d="M12 1v3M12 20v3M1 12h3M20 12h3M4.2 4.2l2.1 2.1M17.7 17.7l2.1 2.1M4.2 19.8l2.1-2.1M17.7 6.3l2.1-2.1"/></g></svg>183      <svg class="icon-wrap" viewBox="0 0 24 24"><path d="M12 2a10 10 0 100 20 10 10 0 000-20zm0 3a7 7 0 110 14 7 7 0 010-14z" fill="#eaf6ff"/></svg>184      <svg class="icon-wrap" viewBox="0 0 24 24"><path d="M3 12l8-8v6h10v4H11v6z" fill="#eaf6ff"/></svg>185      <svg class="icon-wrap" viewBox="0 0 24 24"><path d="M2 7h20M2 12h20M2 17h20" stroke="#eaf6ff" stroke-width="2"/></svg>186      <svg class="icon-wrap" viewBox="0 0 28 14">187        <rect x="1" y="2" width="22" height="10" rx="2" ry="2" stroke="#eaf6ff" fill="none" stroke-width="2"/>188        <rect x="3" y="4" width="18" height="6" fill="#eaf6ff"/>189        <rect x="24.3" y="5" width="3" height="4" rx="1" fill="#eaf6ff"/>190      </svg>191      <span style="font-size:38px;">90%</span>192    </div>193  </div>194 195  <!-- App bar -->196  <div class="app-bar">197    <div class="left-bar">198      <div class="hamburger"><span></span></div>199      <div class="title-block">200        <div class="brand">201          <svg width="32" height="32" viewBox="0 0 24 24">202            <circle cx="12" cy="12" r="3" fill="#eaf6ff"></circle>203            <g stroke="#eaf6ff" stroke-width="2" fill="none">204              <path d="M12 2v3M12 19v3M2 12h3M19 12h3M4 4l2 2M18 18l2 2M4 20l2-2M18 6l2-2"/>205            </g>206          </svg>207          AccuWeather208        </div>209        <div class="location">Gual Pahari, IN ▾</div>210      </div>211    </div>212    <div class="premium-btn">GET PREMIUM+</div>213  </div>214  <div class="divider"></div>215 216  <div class="headline">No precipitation for at least 60 min</div>217  <div class="subtime">8:16 AM</div>218 219  <!-- Dial -->220  <div class="dial-wrap">221    <div class="ticks"></div>222    <div class="dial"></div>223 224    <div class="dial-label">225      <svg class="temp-icon" viewBox="0 0 24 24">226        <g fill="none" stroke="#fff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">227          <circle cx="9" cy="9" r="3"></circle>228          <path d="M9 1v2M9 15v2M1 9h2M15 9h2M3.5 3.5l1.4 1.4M14.1 14.1l1.4 1.4M3.5 14.5l1.4-1.4M14.1 3.9l1.4-1.4"/>229          <path d="M16 17a4 4 0 10-1-7 5 5 0 10-3 7h4z"></path>230        </g>231      </svg>232      <div class="temp">29<span class="deg">°</span><span class="unit">C</span></div>233      <div class="feels">RealFeel 36<span class="deg">°</span></div>234      <div class="next">Next 4 Hours235        <svg class="arrow" viewBox="0 0 24 24"><path d="M8 4l8 8-8 8" fill="none" stroke="#d6ecff" stroke-width="2"/></svg>236      </div>237    </div>238 239    <div class="dial-num left">45</div>240    <div class="dial-num right">15</div>241    <div class="dial-num bottom">30</div>242  </div>243 244  <!-- Legend -->245  <div class="legend">246    <div class="legend-group">Rain247      <span class="dot" style="background:#62d34d"></span>248      <span class="dot" style="background:#9bd800"></span>249      <span class="dot" style="background:#f6c700"></span>250      <span class="dot" style="background:#ff7a00"></span>251      <span class="dot" style="background:#ff3d3d"></span>252    </div>253    <div class="legend-group">Snow254      <span class="dot" style="background:#d6e8ff"></span>255      <span class="dot" style="background:#b3d8ff"></span>256      <span class="dot" style="background:#87baff"></span>257      <span class="dot" style="background:#2a63d9"></span>258    </div>259    <div class="legend-group">Ice260      <span class="dot" style="background:#ffb2c5"></span>261      <span class="dot" style="background:#ff86a9"></span>262      <span class="dot" style="background:#ff5e92"></span>263      <span class="dot" style="background:#ff3f82"></span>264    </div>265    <div class="legend-group">Mix266      <span class="dot" style="background:#c56cff"></span>267      <span class="dot" style="background:#a65cff"></span>268      <span class="dot" style="background:#8b4cff"></span>269      <span class="dot" style="background:#6c3cff"></span>270    </div>271  </div>272 273  <!-- Forecast Card -->274  <div class="forecast-card">275    <div class="forecast-grid">276      <div class="forecast-item">277        <div class="fi-title">TODAY</div>278        <svg class="fi-icon" viewBox="0 0 24 24">279          <g fill="none" stroke="#fff" stroke-width="1.8" stroke-linecap="round">280            <path d="M7 17a4 4 0 110-8 5 5 0 119 3"></path>281            <path d="M10 20l2-3m-4 1.5l2-3" stroke="#bfe3ff"/>282          </g>283        </svg>284        <div class="fi-temp">35°</div>285        <div class="fi-sub">RealFeel 43°</div>286      </div>287      <div class="forecast-item">288        <div class="fi-title">TONIGHT</div>289        <svg class="fi-icon" viewBox="0 0 24 24">290          <g fill="none" stroke="#fff" stroke-width="1.8" stroke-linecap="round">291            <path d="M15.5 5.5A6 6 0 116 15a6 6 0 009.5-9.5z"></path>292            <path d="M7 17a4 4 0 110-8 5 5 0 119 3"></path>293          </g>294        </svg>295        <div class="fi-temp">27°</div>296        <div class="fi-sub">RealFeel 31°</div>297      </div>298      <div class="forecast-item">299        <div class="fi-title">TUE</div>300        <svg class="fi-icon" viewBox="0 0 24 24">301          <g fill="none" stroke="#fff" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">302            <circle cx="8" cy="8" r="3"></circle>303            <path d="M8 1v2M8 13v2M1 8h2M13 8h2M3.5 3.5l1.4 1.4M12.1 12.1l1.4 1.4M3.5 12.5l1.4-1.4M12.1 4.9l1.4-1.4"/>304            <path d="M16 17a4 4 0 10-1-7 5 5 0 10-3 7h4z"></path>305          </g>306        </svg>307        <div class="fi-temp">37°</div>308        <div class="fi-sub">RealFeel 45°</div>309      </div>310    </div>311  </div>312 313  <!-- Details title -->314  <div class="details-title">315    <div class="big">Today's Details</div>316    <div class="small">CURRENT CONDITIONS</div>317  </div>318 319  <!-- Bottom navigation -->320  <div class="bottom-nav">321    <div class="tab active">322      <svg class="ticon" viewBox="0 0 24 24">323        <rect x="3" y="5" width="18" height="16" rx="2" fill="none" stroke="#fff" stroke-width="2"/>324        <rect x="7" y="1.8" width="2" height="6" fill="#fff"/>325        <rect x="15" y="1.8" width="2" height="6" fill="#fff"/>326        <rect x="7" y="11" width="4" height="4" fill="#fff" opacity=".9"/>327      </svg>328      Today329    </div>330    <div class="tab">331      <svg class="ticon" viewBox="0 0 24 24">332        <circle cx="12" cy="12" r="9" stroke="#fff" stroke-width="2" fill="none"/>333        <path d="M12 7v6l4 2" stroke="#fff" stroke-width="2" fill="none" stroke-linecap="round"/>334      </svg>335      Hourly336    </div>337    <div class="tab">338      <svg class="ticon" viewBox="0 0 24 24">339        <rect x="3" y="4" width="18" height="17" rx="2" fill="none" stroke="#fff" stroke-width="2"/>340        <path d="M3 8h18" stroke="#fff" stroke-width="2"/>341        <rect x="6" y="11" width="5" height="5" fill="#fff" opacity=".9"/>342      </svg>343      Daily344    </div>345    <div class="tab">346      <svg class="ticon" viewBox="0 0 24 24">347        <path d="M12 3a9 9 0 100 18 9 9 0 000-18zm0 0a6 6 0 016 6" fill="none" stroke="#fff" stroke-width="2"/>348        <path d="M12 12l6 6" stroke="#fff" stroke-width="2" stroke-linecap="round"/>349      </svg>350      Radar & Maps351    </div>352  </div>353 354  <div class="gesture"></div>355</div>356</body>357</html>
GD-ML/AndroidCode · Team Ai