GD-ML/AndroidCode
13.4k
1<html>2<head>3<meta charset="UTF-8">4<title>Playlists UI Mock</title>5<style>6 body { margin: 0; padding: 0; background: transparent; font-family: Arial, Helvetica, sans-serif; }7 #render-target {8 width: 1080px;9 height: 2400px;10 position: relative;11 overflow: hidden;12 background: #000000;13 color: #FFFFFF;14 }15 /* Status bar */16 .status-bar {17 position: absolute;18 top: 0;19 left: 0;20 right: 0;21 height: 90px;22 padding: 0 24px;23 display: flex;24 align-items: center;25 justify-content: space-between;26 color: #fff;27 font-size: 34px;28 letter-spacing: 0.5px;29 }30 .status-right {31 display: flex;32 align-items: center;33 gap: 24px;34 }35 .header {36 position: absolute;37 top: 90px;38 left: 0;39 width: 100%;40 height: 160px;41 display: flex;42 align-items: center;43 justify-content: center;44 }45 .header-title {46 font-size: 64px;47 font-weight: 700;48 }49 .plus-btn {50 position: absolute;51 right: 36px;52 top: 120px;53 width: 72px;54 height: 72px;55 display: flex;56 align-items: center;57 justify-content: center;58 border-radius: 18px;59 background: #121212;60 border: 1px solid #2a2a2a;61 }62 /* Playlist skeleton blocks */63 .block {64 width: 1020px;65 height: 180px;66 margin: 24px auto;67 border-radius: 24px;68 background: #141414;69 border: 1px solid #242424;70 }71 .block.large { height: 220px; }72 .chip {73 width: 420px;74 height: 70px;75 margin: 14px 0 0 30px;76 border-radius: 16px;77 background: #1a1a1a;78 border: 1px solid #2a2a2a;79 }80 /* Grid of playlist cards */81 .grid {82 width: 1020px;83 margin: 16px auto 0;84 display: grid;85 grid-template-columns: repeat(3, 1fr);86 gap: 30px;87 }88 .card {89 background: #151515;90 border: 1px solid #262626;91 border-radius: 18px;92 height: 360px;93 }94 .label {95 height: 60px;96 margin-top: 18px;97 border-radius: 14px;98 background: #191919;99 border: 1px solid #2a2a2a;100 }101 /* Floating mini player */102 .mini-player {103 position: absolute;104 left: 50%;105 transform: translateX(-50%);106 bottom: 540px;107 width: 720px;108 height: 420px;109 border-radius: 24px;110 background: #101010;111 border: 1px solid #2a2a2a;112 box-shadow: 0 10px 30px rgba(0,0,0,0.6);113 overflow: hidden;114 }115 .mini-thumb {116 width: 100%;117 height: 300px;118 background: #E0E0E0;119 border-bottom: 1px solid #BDBDBD;120 display: flex;121 align-items: center;122 justify-content: center;123 color: #757575;124 font-size: 28px;125 }126 .mini-info {127 display: flex;128 align-items: center;129 gap: 20px;130 padding: 18px 22px;131 }132 .avatar {133 width: 90px;134 height: 90px;135 border-radius: 50%;136 background: #2e61ff;137 display: flex;138 align-items: center;139 justify-content: center;140 font-weight: bold;141 font-size: 42px;142 }143 .mini-title {144 font-size: 36px;145 white-space: nowrap;146 overflow: hidden;147 text-overflow: ellipsis;148 }149 .yt-chip {150 margin-left: auto;151 padding: 8px 14px;152 border-radius: 16px;153 background: #222;154 border: 1px solid #333;155 font-size: 28px;156 }157 /* Bottom navigation */158 .bottom-bar {159 position: absolute;160 left: 0;161 bottom: 0;162 width: 100%;163 height: 170px;164 background: #0A0A0A;165 border-top: 1px solid #1f1f1f;166 display: flex;167 align-items: center;168 justify-content: space-around;169 }170 .nav-item {171 display: flex;172 flex-direction: column;173 align-items: center;174 gap: 14px;175 color: #cfcfcf;176 font-size: 30px;177 }178 .nav-item.active { color: #ff9b31; }179 .icon { width: 60px; height: 60px; }180 /* Utility */181 .sr {182 position: absolute;183 left: -10000px;184 top: auto;185 width: 1px;186 height: 1px;187 overflow: hidden;188 }189</style>190</head>191<body>192<div id="render-target">193 194 <!-- Status bar -->195 <div class="status-bar">196 <div>11:50</div>197 <div class="status-right">198 <!-- simple check icon -->199 <svg class="icon" viewBox="0 0 24 24" fill="#fff"><path d="M9 16.2l-3.5-3.6L4 14.1l5 5 11-11-1.5-1.5z"/></svg>200 <!-- mail indicator -->201 <svg class="icon" viewBox="0 0 24 24" fill="#fff"><path d="M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>202 <!-- alert -->203 <svg class="icon" viewBox="0 0 24 24" fill="#fff"><path d="M1 21h22L12 2 1 21zm12-3h-2v2h2v-2zm0-8h-2v6h2V10z"/></svg>204 <!-- wifi -->205 <svg class="icon" viewBox="0 0 24 24" fill="#fff"><path d="M12 18c-1.1 0-2 .9-2 2h4c0-1.1-.9-2-2-2zm6.6-5.6L12 19 5.4 12.4C7.6 10.3 10.1 9 12 9s4.4 1.3 6.6 3.4zM21 7c-2.8-2.2-6-3-9-3S5.8 4.8 3 7l1.5 1.5C6.2 6.3 9 5.5 12 5.5s5.8.8 7.5 3L21 7z"/></svg>206 <!-- battery -->207 <svg class="icon" viewBox="0 0 24 24" fill="#fff"><path d="M17 6h3v2h1c.6 0 1 .4 1 1v6c0 .6-.4 1-1 1h-1v2h-3V6zM2 9c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v6c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V9z"/></svg>208 <div style="font-size:32px;">100%</div>209 </div>210 </div>211 212 <!-- Header -->213 <div class="header">214 <div class="header-title">Playlists</div>215 </div>216 <div class="plus-btn">217 <svg viewBox="0 0 24 24" width="44" height="44" fill="#fff"><path d="M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6z"/></svg>218 </div>219 220 <!-- Top skeleton playlist rows -->221 <div class="block large" style="margin-top: 16px;"></div>222 <div class="block large"></div>223 <div class="block large"></div>224 <div class="block large"></div>225 226 <div class="chip"></div>227 228 <!-- Grid of playlist cards and labels -->229 <div class="grid" style="margin-top: 20px;">230 <div>231 <div class="card"></div>232 <div class="label"></div>233 <div class="label" style="width: 180px;"></div>234 </div>235 <div>236 <div class="card"></div>237 <div class="label"></div>238 <div class="label" style="width: 180px;"></div>239 </div>240 <div>241 <div class="card"></div>242 <div class="label"></div>243 <div class="label" style="width: 180px;"></div>244 </div>245 </div>246 247 <div class="grid" style="margin-top: 40px;">248 <div>249 <div class="card"></div>250 <div class="label"></div>251 </div>252 <div>253 <div class="card"></div>254 <div class="label"></div>255 </div>256 <div>257 <div class="card"></div>258 <div class="label"></div>259 </div>260 </div>261 262 <!-- Floating mini player -->263 <div class="mini-player">264 <div class="mini-thumb">[IMG: YouTube video thumbnail]</div>265 <div class="mini-info">266 <div class="avatar">J</div>267 <div class="mini-title">Christian From...</div>268 <div class="yt-chip">YouTube</div>269 </div>270 </div>271 272 <!-- Bottom navigation bar -->273 <div class="bottom-bar">274 <div class="nav-item">275 <svg class="icon" viewBox="0 0 24 24" fill="currentColor"><path d="M12 8a4 4 0 1 1 0 8 4 4 0 0 1 0-8zm1-6h-2v4h2V2zM4.2 5.5L2.8 7l2.8 2.1 1.4-1.5L4.2 5.5zM19.8 5.5l-2.8 2.1 1.4 1.5L21.4 7l-1.6-1.5zM2 13H0v2h2v-2zm22 0h-2v2h2v-2z"/></svg>276 <div>History</div>277 </div>278 <div class="nav-item">279 <svg class="icon" viewBox="0 0 24 24" fill="currentColor"><path d="M15.5 14h-.8l-.3-.3A6.5 6.5 0 1 0 16 16.5l.3.3v.8l5 5 1.5-1.5-5-5zm-6 0A4.5 4.5 0 1 1 14 9.5 4.5 4.5 0 0 1 9.5 14z"/></svg>280 <div>Search</div>281 </div>282 <div class="nav-item active">283 <svg class="icon" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3c-1.1 0-2 .9-2 2v9.6c-.6-.4-1.3-.6-2-.6-2.2 0-4 1.8-4 4h2c0-1.1.9-2 2-2 .7 0 1.4.3 2 .8V21h2v-4.2c.6-.4 1.3-.8 2-.8 1.1 0 2 .9 2 2h2c0-2.2-1.8-4-4-4-.7 0-1.4.2-2 .6V5c0-.6.4-1 1-1s1 .4 1 1h2c0-1.7-1.3-3-3-3z"/></svg>284 <div>Playlists</div>285 </div>286 </div>287 288</div>289</body>290</html>