Team Ai
Datasetpublic

GD-ML/AndroidCode

sourceHugging Facemitupdated 6mo agoView on Hugging Face
1likes3.4kdownloads
11179_2.html340 linesDownload Raw Back to 11179
1<!DOCTYPE html>2<html>3<head>4<meta charset="UTF-8">5<title>Fitbit UI Mock</title>6<style>7  body {8    margin: 0;9    padding: 0;10    background: transparent;11    font-family: Arial, Helvetica, sans-serif;12    color: #1f1f1f;13  }14  #render-target {15    width: 1080px;16    height: 2400px;17    position: relative;18    overflow: hidden;19    background: #A9ABAA;20  }21 22  /* Status bar */23  .status-bar {24    position: absolute;25    top: 0;26    left: 0;27    width: 1080px;28    height: 120px;29    background: #f2f4f3;30    display: flex;31    align-items: center;32    padding: 0 32px;33    box-sizing: border-box;34    font-size: 40px;35    color: #444;36  }37  .status-left, .status-right {38    display: flex;39    align-items: center;40  }41  .status-left { gap: 18px; }42  .status-right { margin-left: auto; gap: 22px; }43  .sb-dot {44    width: 16px; height: 16px; background:#777; border-radius:50%;45  }46  .sb-pill {47    padding: 6px 16px; background:#d9d9d9; border-radius:18px; font-size:34px;48  }49  .sb-icon {50    width: 40px; height: 40px; border: 2px solid #666; border-radius: 6px;51  }52 53  /* Header */54  .app-header {55    position: absolute;56    top: 140px;57    left: 0;58    width: 100%;59    padding: 0 48px;60    box-sizing: border-box;61    color: #1f1f1f;62  }63  .header-row {64    display: flex;65    align-items: center;66    justify-content: space-between;67    margin-bottom: 34px;68  }69  .brand {70    font-size: 76px;71    font-weight: 600;72    letter-spacing: 1px;73  }74  .header-icon {75    width: 72px; height: 72px;76  }77  .avatar {78    width: 86px; height: 86px;79    background: #E0E0E0;80    border: 1px solid #BDBDBD;81    border-radius: 50%;82    display: flex; align-items: center; justify-content: center;83    color: #757575; font-size: 22px;84  }85  .sub-row {86    display: flex; align-items: center; justify-content: space-between;87    padding: 0 8px;88  }89  .sub-title { font-size: 54px; font-weight: 600; }90  .chevron, .pencil {91    width: 64px; height: 64px;92  }93 94  /* Progress circle area */95  .progress-area {96    position: absolute;97    top: 480px;98    left: 0;99    width: 100%;100    height: 720px;101    display: flex;102    align-items: center;103    justify-content: center;104  }105  .ring-wrap {106    position: relative;107    width: 700px; height: 700px;108    border-radius: 50%;109    border: 28px solid rgba(70, 98, 96, 0.35);110    box-sizing: border-box;111  }112  /* emulate gap in ring */113  .ring-gap {114    position: absolute;115    width: 190px; height: 190px;116    background: #A9ABAA;117    border-radius: 100px;118    right: 38px; top: 160px;119    transform: rotate(-20deg);120  }121  .ring-dot {122    position: absolute;123    width: 28px; height: 28px; background: #0B6D60; border-radius: 50%;124    left: 126px; bottom: 140px;125  }126  .shoe-icon {127    position: absolute; left: 50%; top: 50%;128    transform: translate(-50%, -50%);129    width: 240px; height: 160px;130  }131  .progress-value {132    position: absolute;133    top: 1200px;134    width: 100%;135    text-align: center;136    font-size: 120px;137    color: #111;138    font-weight: 500;139  }140 141  /* Bottom sheet */142  .bottom-sheet {143    position: absolute;144    left: 0;145    top: 1260px;146    width: 1080px;147    height: 980px;148    background: #FAFBF9;149    border-top-left-radius: 80px;150    border-top-right-radius: 80px;151    box-shadow: 0 -8px 20px rgba(0,0,0,0.12);152    padding: 56px 48px 40px;153    box-sizing: border-box;154  }155  .handle {156    width: 140px; height: 16px; background:#cfd4d2; border-radius: 16px;157    margin: 0 auto 40px auto;158  }159  .section-title {160    font-size: 60px;161    font-weight: 600;162    margin: 24px 0 36px 0;163  }164  .tile-grid {165    display: grid;166    grid-template-columns: 1fr 1fr;167    gap: 40px 40px;168  }169  .tile {170    background: #E6F1ED;171    height: 180px;172    border-radius: 56px;173    display: flex;174    align-items: center;175    padding: 0 48px;176    box-sizing: border-box;177    color: #263331;178    font-size: 44px;179    font-weight: 600;180    gap: 28px;181  }182  .tile .ic {183    width: 72px; height: 72px;184  }185  .tile .stroke {186    stroke: #5D6E6A;187  }188 189  /* Gesture bar */190  .gesture-bar {191    position: absolute;192    bottom: 28px;193    left: 50%;194    transform: translateX(-50%);195    width: 560px;196    height: 18px;197    background: #707070;198    border-radius: 18px;199    opacity: 0.8;200  }201</style>202</head>203<body>204<div id="render-target">205 206  <!-- Status bar -->207  <div class="status-bar">208    <div class="status-left">209      <div>2:54</div>210      <div class="sb-pill">B</div>211      <div class="sb-icon"></div>212      <div class="sb-icon" style="border-radius:50%"></div>213      <div class="sb-dot"></div>214    </div>215    <div class="status-right">216      <svg width="46" height="46" viewBox="0 0 24 24">217        <path d="M12 3l9 7H3z" fill="#666"/>218      </svg>219      <svg width="46" height="46" viewBox="0 0 24 24">220        <rect x="3" y="6" width="18" height="12" rx="2" fill="#666"/>221      </svg>222    </div>223  </div>224 225  <!-- Header -->226  <div class="app-header">227    <div class="header-row">228      <!-- device icon -->229      <svg class="header-icon" viewBox="0 0 64 64">230        <rect x="18" y="10" width="28" height="44" rx="6" fill="none" stroke="#5D6E6A" stroke-width="4"/>231        <circle cx="32" cy="50" r="3" fill="#5D6E6A"/>232      </svg>233 234      <div class="brand">fitbit</div>235 236      <div style="display:flex; align-items:center; gap:28px;">237        <!-- chat icon -->238        <svg class="header-icon" viewBox="0 0 64 64">239          <path d="M12 14h40v28H26l-10 8v-8H12z" fill="none" stroke="#5D6E6A" stroke-width="4" stroke-linejoin="round"/>240        </svg>241        <!-- avatar placeholder -->242        <div class="avatar">[IMG: Avatar]</div>243      </div>244    </div>245 246    <div class="sub-row">247      <!-- back chevron -->248      <svg class="chevron" viewBox="0 0 64 64">249        <polyline points="40,14 24,32 40,50" fill="none" stroke="#5D6E6A" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>250      </svg>251      <div class="sub-title">Today</div>252      <!-- pencil -->253      <svg class="pencil" viewBox="0 0 64 64">254        <path d="M14 46l12-2 24-24-10-10-24 24z" fill="none" stroke="#5D6E6A" stroke-width="4"/>255        <path d="M40 10l10 10" fill="none" stroke="#5D6E6A" stroke-width="4"/>256      </svg>257    </div>258  </div>259 260  <!-- Progress area -->261  <div class="progress-area">262    <div class="ring-wrap">263      <div class="ring-gap"></div>264      <div class="ring-dot"></div>265      <!-- shoe icon -->266      <svg class="shoe-icon" viewBox="0 0 200 120">267        <path d="M30 66c12-16 20-24 28-26 10 12 12 24 22 32 18 12 28 20 28 32-4 6-12 8-22 6-14-4-28-18-50-34-8-6-14-8-6-10z" fill="none" stroke="#0B6D60" stroke-width="12" stroke-linejoin="round" stroke-linecap="round"/>268      </svg>269    </div>270  </div>271  <div class="progress-value">0</div>272 273  <!-- Bottom sheet -->274  <div class="bottom-sheet">275    <div class="handle"></div>276 277    <div class="section-title">Track live</div>278    <div class="tile-grid" style="margin-bottom: 32px;">279      <div class="tile">280        <svg class="ic" viewBox="0 0 64 64">281          <path class="stroke" d="M14 42l10-10 8 4 8-10" fill="none" stroke-width="4"/>282          <circle cx="42" cy="18" r="4" fill="#5D6E6A"/>283        </svg>284        <div>Start exercise</div>285      </div>286      <div class="tile">287        <svg class="ic" viewBox="0 0 64 64">288          <rect x="10" y="28" width="36" height="16" rx="2" fill="none" stroke="#5D6E6A" stroke-width="4"/>289          <rect x="46" y="28" width="8" height="10" fill="none" stroke="#5D6E6A" stroke-width="4"/>290        </svg>291        <div>Start sleep</div>292      </div>293    </div>294 295    <div class="section-title">Manually log</div>296    <div class="tile-grid">297      <div class="tile">298        <svg class="ic" viewBox="0 0 64 64">299          <circle cx="32" cy="16" r="6" fill="none" stroke="#5D6E6A" stroke-width="4"/>300          <path d="M32 22v14M20 38h24M18 54l14-12M46 54l-14-12" fill="none" stroke="#5D6E6A" stroke-width="4" stroke-linecap="round"/>301        </svg>302        <div>Activity</div>303      </div>304      <div class="tile">305        <svg class="ic" viewBox="0 0 64 64">306          <path d="M38 22c-8 12-18 12-26 0 8-12 18-12 26 0z" fill="none" stroke="#5D6E6A" stroke-width="4"/>307          <path d="M40 20c-2 8-8 14-16 18" fill="none" stroke="#5D6E6A" stroke-width="4"/>308        </svg>309        <div>Sleep</div>310      </div>311      <div class="tile">312        <svg class="ic" viewBox="0 0 64 64">313          <circle cx="22" cy="24" r="10" fill="none" stroke="#5D6E6A" stroke-width="4"/>314          <path d="M28 16l6-6M18 34c-2 8 2 14 10 14" fill="none" stroke="#5D6E6A" stroke-width="4"/>315        </svg>316        <div>Food</div>317      </div>318      <div class="tile">319        <svg class="ic" viewBox="0 0 64 64">320          <path d="M18 14h28l-4 36H22l-4-36z" fill="none" stroke="#5D6E6A" stroke-width="4"/>321          <path d="M22 26h20" fill="none" stroke="#5D6E6A" stroke-width="4"/>322        </svg>323        <div>Water</div>324      </div>325      <div class="tile">326        <svg class="ic" viewBox="0 0 64 64">327          <rect x="14" y="20" width="36" height="28" rx="6" fill="none" stroke="#5D6E6A" stroke-width="4"/>328          <circle cx="32" cy="34" r="6" fill="none" stroke="#5D6E6A" stroke-width="4"/>329        </svg>330        <div>Weight</div>331      </div>332    </div>333  </div>334 335  <!-- Gesture bar -->336  <div class="gesture-bar"></div>337 338</div>339</body>340</html>