leotsha / templates /stats.html
Sediba-AI
Initial Morutabana deployment: XLM-R + EduIntel + sentiment classifier
9d3f668
Raw
History Blame Contribute Delete
5.68 kB
<!DOCTYPE html><html lang="nso"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"><title>Leotลกa la Sepedi</title><style>
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f5f5f2;color:#1a1a1a;padding-bottom:72px}
.hdr{background:#fff;padding:14px 16px;border-bottom:1px solid #e5e5e0;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}
.title{font-size:15px;font-weight:600}.sub{font-size:11px;color:#999}
.xp{background:#EEEDFE;color:#3C3489;font-size:13px;padding:4px 12px;border-radius:99px;font-weight:600}
.card{background:#fff;margin:16px;border-radius:14px;border:1px solid #e5e5e0;padding:16px}
.lbl{font-size:13px;font-weight:600;margin-bottom:6px;color:#444}
textarea,input[type=text]{width:100%;border:1.5px solid #ddd;border-radius:10px;padding:12px;font-size:16px;font-family:inherit;margin-bottom:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{padding:6px 14px;border:1.5px solid #ddd;border-radius:99px;font-size:13px;cursor:pointer;background:#fff;color:#666}
.chip.on{border-color:#1D9E75;background:#E1F5EE;color:#0F6E56;font-weight:600}
.btn{width:100%;padding:14px;background:#1D9E75;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer}
.btn:active{opacity:.8}
.stext{font-size:19px;line-height:1.5;font-weight:500;padding:8px 0 16px}
.votes{display:flex;gap:10px}
.vb{flex:1;padding:14px 4px;border:1.5px solid #e5e5e0;border-radius:12px;background:#fff;font-size:13px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;color:#666}
.vb:active{transform:scale(.96)}
.vb .ic{font-size:24px}
.mission{background:#E1F5EE;padding:12px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #9FE1CB}
.mi{width:34px;height:34px;border-radius:8px;background:#1D9E75;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}
.mt{flex:1}.mt b{font-size:13px;color:#085041}.mt span{font-size:11px;color:#0F6E56;display:block}
.pbar{height:5px;background:#9FE1CB;border-radius:99px;margin-top:4px}.pf{height:100%;background:#1D9E75;border-radius:99px}
.msg{text-align:center;padding:10px;color:#1D9E75;font-weight:600}
.nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e5e0;display:flex;z-index:10}
.nav a{flex:1;padding:10px 4px;text-align:center;text-decoration:none;color:#999;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:2px}
.nav a.on{color:#1D9E75}.nav .ic{font-size:22px}
.modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px 16px}
.mode{background:#fff;border:1px solid #e5e5e0;border-radius:14px;padding:14px;text-decoration:none;color:inherit;position:relative}
.mode:active{transform:scale(.97)}
.mode .mic{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:8px}
.mode .mn{font-size:14px;font-weight:600}.mode .mnso{font-size:11px;color:#999;margin-bottom:4px}
.mode .mtask{font-size:11px;color:#666;line-height:1.4}
.mbadge{position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;background:#FAEEDA;color:#854F0B}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}
.stat{background:#fff;border-radius:12px;border:1px solid #e5e5e0;padding:14px}
.sv{font-size:26px;font-weight:700}.sl{font-size:12px;color:#999}
.f1c{background:#fff;margin:16px;border-radius:14px;border:1px solid #e5e5e0;padding:16px}
.f1w{position:relative;height:28px;background:#f0f0ec;border-radius:99px;overflow:hidden;margin:8px 0}
.f1b{height:100%;background:#1D9E75;border-radius:99px;display:flex;align-items:center;justify-content:flex-end;padding-right:10px;color:#fff;font-size:12px;font-weight:700}
.lb{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid #f0f0ec}
.lb.you{background:#E1F5EE}
.rk{width:22px;text-align:center;font-weight:600;color:#999}.rk.top{color:#BA7517}
.av{width:32px;height:32px;border-radius:50%;background:#EEEDFE;color:#3C3489;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px}
.nm{flex:1;font-size:14px}.pts{color:#1D9E75;font-weight:600;font-size:13px}
.wbtn{display:block;margin:16px;padding:14px;background:#25D366;color:#fff;border-radius:12px;font-size:15px;font-weight:600;text-align:center;text-decoration:none}
</style></head><body>
<div class="hdr"><div class="title">๐Ÿ“Š {{c.name}}</div><div class="xp">Lvl {{level}} ยท {{c.points}} XP</div></div>
<div class="grid">
<div class="stat"><div class="sv">{{votes}}</div><div class="sl">Votes</div></div>
<div class="stat"><div class="sv">{{words}}</div><div class="sl">Words added</div></div>
<div class="stat"><div class="sv">{{trans}}</div><div class="sl">Translations</div></div>
<div class="stat"><div class="sv">{{added}}</div><div class="sl">Sentences</div></div>
<div class="stat"><div class="sv">{{streak}}๐Ÿ”ฅ</div><div class="sl">Day streak</div></div>
<div class="stat"><div class="sv">{{c.points}}</div><div class="sl">Total XP</div></div>
</div><div class="nav">
<a href="/" class=""><span class="ic">๐ŸŽฎ</span>Hub</a>
<a href="/vote/" class=""><span class="ic">๐Ÿ™‚</span>Vote</a>
<a href="/vocab/" class=""><span class="ic">๐Ÿ“–</span>Words</a>
<a href="/stats/" class="on"><span class="ic">๐Ÿ“Š</span>Me</a>
<a href="/community/" class=""><span class="ic">๐Ÿ‘ฅ</span>Team</a>
</div></body></html>