Team Ai
Datasetpublic

GD-ML/AndroidCode

sourceHugging Facemitupdated 6mo agoView on Hugging Face
1likes3.4kdownloads
11169_1.html192 linesDownload Raw Back to 11169
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>Reader UI Mock</title>7<style>8  body { margin: 0; padding: 0; background: transparent; font-family: "Georgia", serif; }9  #render-target {10    width: 1080px; height: 2400px;11    position: relative; overflow: hidden;12    background: #2f3136; /* dark app background */13    border-radius: 0;14  }15 16  /* Status bar */17  .status-bar {18    position: absolute; top: 0; left: 0; right: 0;19    height: 120px; background: #000;20    color: #fff; font-family: "Roboto", Arial, sans-serif;21    display: flex; align-items: center; justify-content: space-between;22    padding: 0 40px; box-sizing: border-box;23    letter-spacing: 0.5px;24  }25  .status-left { font-size: 40px; }26  .status-right { display: flex; gap: 28px; align-items: center; }27  .status-icon { width: 40px; height: 40px; opacity: 0.9; }28 29  /* App top toolbar */30  .toolbar {31    position: absolute; top: 120px; left: 0; right: 0;32    height: 160px; background: #3a3c41;33    display: flex; align-items: center; justify-content: space-between;34    padding: 0 48px; box-sizing: border-box;35    color: #d7d7d7; font-family: "Roboto", Arial, sans-serif;36  }37  .toolbar-left, .toolbar-right { display: flex; align-items: center; gap: 44px; }38  .icon-btn { width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; }39  .icon-btn svg { width: 56px; height: 56px; fill: none; stroke: #d7d7d7; stroke-width: 6; }40  .icon-dots { stroke: none; fill: #d7d7d7; }41  .label-aa { font-size: 52px; font-weight: 500; color: #d7d7d7; }42 43  /* Main reading area */44  .carousel {45    position: absolute; top: 280px; left: 0; right: 0;46    height: 1500px;47    display: flex; align-items: center; justify-content: center; gap: 40px;48    padding: 80px 40px; box-sizing: border-box;49  }50  .page {51    background: #1b1b1d; color: #fff; border-radius: 26px;52    box-shadow: 0 12px 24px rgba(0,0,0,0.35);53    overflow: hidden;54  }55  .page.side {56    width: 260px; height: 1200px;57    opacity: 0.7;58  }59  .page.main {60    width: 720px; height: 1200px; position: relative;61  }62  .page-content {63    padding: 70px 70px 90px 70px; font-size: 40px; line-height: 1.45;64    color: #eaeaea;65  }66  .bookmark-flag {67    position: absolute; top: 0; right: 140px;68    width: 0; height: 0;69    border-left: 38px solid transparent;70    border-right: 38px solid transparent;71    border-top: 70px solid #2da3ff; /* blue ribbon */72    transform: translateY(0);73  }74  .page-footer {75    position: absolute; bottom: 24px; left: 30px; right: 30px;76    display: flex; justify-content: space-between; align-items: center;77    color: #bdbdbd; font-family: "Roboto", Arial, sans-serif; font-size: 30px;78    opacity: 0.9;79  }80 81  /* Bottom controls */82  .controls {83    position: absolute; bottom: 180px; left: 0; right: 0;84    height: 280px; background: rgba(58,60,65,0.95);85    display: flex; flex-direction: column; justify-content: center;86    padding: 40px 60px; box-sizing: border-box; color: #cfcfcf;87  }88  .controls-top {89    display: flex; align-items: center; gap: 40px; margin-bottom: 24px;90  }91  .bookmark-dot {92    width: 44px; height: 44px; background: #2da3ff; border-radius: 6px;93    clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 55%, 0 70%);94  }95  .list-icon {96    width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center;97  }98  .list-icon svg { width: 52px; height: 52px; fill: none; stroke: #bdbdbd; stroke-width: 8; }99  .slider-row {100    display: flex; align-items: center; gap: 30px;101  }102  .slider {103    position: relative; width: 760px; height: 12px; background: #5c6b78; border-radius: 8px;104  }105  .slider .fill {106    position: absolute; left: 0; top: 0; height: 12px; width: 540px; background: #2da3ff; border-radius: 8px;107  }108  .slider .knob {109    position: absolute; left: 520px; top: -16px; width: 44px; height: 44px; background: #2da3ff; border-radius: 50%;110    box-shadow: 0 2px 6px rgba(0,0,0,0.4);111  }112  .progress-text { font-family: "Roboto", Arial, sans-serif; font-size: 34px; color: #cfcfcf; }113  /* System navigation pill */114  .nav-pill {115    position: absolute; bottom: 76px; left: 50%; transform: translateX(-50%);116    width: 300px; height: 16px; background: #e6e6e6; border-radius: 10px; opacity: 0.7;117  }118</style>119</head>120<body>121<div id="render-target">122  <!-- Status Bar -->123  <div class="status-bar">124    <div class="status-left">2:50</div>125    <div class="status-right">126      <svg class="status-icon" viewBox="0 0 24 24"><path fill="#fff" d="M7 4h10v2H7zM4 9h16v2H4zM2 14h20v2H2z"/></svg>127      <svg class="status-icon" viewBox="0 0 24 24"><path fill="#fff" d="M12 3a9 9 0 1 0 9 9h-2a7 7 0 1 1-7-7V3z"/></svg>128      <svg class="status-icon" viewBox="0 0 24 24"><rect x="2" y="7" width="18" height="10" rx="3" ry="3" fill="#fff"/><rect x="20" y="9" width="2" height="6" fill="#fff"/></svg>129    </div>130  </div>131 132  <!-- Toolbar -->133  <div class="toolbar">134    <div class="toolbar-left">135      <div class="icon-btn">136        <svg viewBox="0 0 24 24"><path d="M15 6l-6 6 6 6" stroke-linecap="round" stroke-linejoin="round"/></svg>137      </div>138    </div>139    <div class="toolbar-right">140      <div class="icon-btn">141        <svg viewBox="0 0 24 24"><circle cx="11" cy="11" r="7"/><line x1="16.5" y1="16.5" x2="22" y2="22"/></svg>142      </div>143      <div class="label-aa">Aa</div>144      <div class="icon-btn">145        <svg class="icon-dots" viewBox="0 0 24 24"><circle cx="5" cy="12" r="2"/><circle cx="12" cy="12" r="2"/><circle cx="19" cy="12" r="2"/></svg>146      </div>147    </div>148  </div>149 150  <!-- Main Reading Area -->151  <div class="carousel">152    <div class="page side"></div>153    <div class="page main">154      <div class="bookmark-flag"></div>155      <div class="page-content">156        <p>a little. I have zero interest in an actual prince, and being whisked sounds like it’s some kind of baking-gone-wrong incident, but I’d like to have a life partner. When done properly, it seems like having one is nice.</p>157        <p>I’d like someone to make me look forward to going home at the end of the day. Someone to make me laugh on long car rides. Someone to snuggle during the long mountain nights, preferably someone warmer than me.</p>158        <p>I just don’t want the <em>wrong</em> life partner.</p>159        <p>“You’ve never been here before, huh?” Todd asks, looking at his menu and not at me.</p>160        <p>“No, but I’ve heard good things,” I say, keeping it upbeat.</p>161        <p>“Yeah, I figured you hadn’t,”</p>162      </div>163      <div class="page-footer">164        <div>13 pages left in chapter</div>165        <div>1%</div>166      </div>167    </div>168    <div class="page side"></div>169  </div>170 171  <!-- Bottom Controls -->172  <div class="controls">173    <div class="controls-top">174      <div class="bookmark-dot"></div>175      <div class="list-icon">176        <svg viewBox="0 0 24 24"><path d="M4 6h16M4 12h16M4 18h16" stroke-linecap="round" stroke-linejoin="round"/></svg>177      </div>178    </div>179    <div class="slider-row">180      <div class="slider">181        <div class="fill"></div>182        <div class="knob"></div>183      </div>184      <div class="progress-text">6 / 439</div>185    </div>186  </div>187 188  <!-- System navigation pill -->189  <div class="nav-pill"></div>190</div>191</body>192</html>
GD-ML/AndroidCode · Team Ai