fix: hide top bar on home page, tabs back in page content

This commit is contained in:
2026-07-17 13:32:28 +08:00
parent d697ea1353
commit 0892dd5f8e
2 changed files with 18 additions and 16 deletions

View File

@@ -1,22 +1,20 @@
const HomePage = {
async render() {
return `<div id="home-content" style="max-width:800px;margin:0 auto;padding:20px 0"><div id="home-tab"></div></div>`;
async render(tab) {
const t = tab || 'report';
return `<div id="home-content" style="max-width:800px;margin:0 auto;padding:30px 0">
<div class="tab-nav">
<button class="${t==='report'?'active':''}" data-tab="report"><i class="fas fa-flag"></i> 举报</button>
<button class="${t==='suggestion'?'active':''}" data-tab="suggestion"><i class="fas fa-lightbulb"></i> 建议</button>
<button class="${t==='appeal'?'active':''}" data-tab="appeal"><i class="fas fa-gavel"></i> 申诉</button>
<button class="${t==='tracking'?'active':''}" data-tab="tracking"><i class="fas fa-search"></i> 追踪</button>
</div>
<div id="home-tab"></div>
</div>`;
},
mount(tab) {
const t = tab || 'report';
const topAuth = document.getElementById('top-auth');
topAuth.innerHTML = `<a href="#/login" class="btn btn-o btn-sm"><i class="fas fa-sign-in-alt"></i> 登录</a>
<a href="#/register" class="btn btn-p btn-sm"><i class="fas fa-user-plus"></i> 注册</a>
<span style="color:var(--g300)">|</span>
<button class="btn btn-sm ${t==='report'?'btn-p':'btn-o'}" data-tab="report">举报</button>
<button class="btn btn-sm ${t==='suggestion'?'btn-p':'btn-o'}" data-tab="suggestion">建议</button>
<button class="btn btn-sm ${t==='appeal'?'btn-p':'btn-o'}" data-tab="appeal">申诉</button>
<button class="btn btn-sm ${t==='tracking'?'btn-p':'btn-o'}" data-tab="tracking">追踪</button>`;
topAuth.style.display = 'flex';
topAuth.querySelectorAll('[data-tab]').forEach(b => { b.onclick = () => App.navigate('home', b.dataset.tab); });
document.querySelectorAll('#home-content .tab-nav button').forEach(b => { b.onclick = () => App.navigate('home', b.dataset.tab); });
const ct = document.getElementById('home-tab');
if (t === 'tracking') this.renderTracking(ct);
else TicketCreate.render(ct, { type: t, prefill: {}, backLink: null });