fix: hide top bar on home page, tabs back in page content
This commit is contained in:
@@ -103,11 +103,15 @@ const App = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
showPublic(page, param) {
|
showPublic(page, param) {
|
||||||
document.getElementById('top-bar').classList.remove('hidden');
|
|
||||||
document.getElementById('main-layout').classList.add('hidden');
|
document.getElementById('main-layout').classList.add('hidden');
|
||||||
const pub = document.getElementById('public-page');
|
const pub = document.getElementById('public-page');
|
||||||
pub.classList.remove('hidden');
|
pub.classList.remove('hidden');
|
||||||
if (page !== 'home') this.updateTopAuth();
|
if (page === 'home') {
|
||||||
|
document.getElementById('top-bar').classList.add('hidden');
|
||||||
|
} else {
|
||||||
|
document.getElementById('top-bar').classList.remove('hidden');
|
||||||
|
this.updateTopAuth();
|
||||||
|
}
|
||||||
const comp = page === 'login' ? LoginPage : page === 'register' ? RegisterPage : page === 'install' ? InstallPage : HomePage;
|
const comp = page === 'login' ? LoginPage : page === 'register' ? RegisterPage : page === 'install' ? InstallPage : HomePage;
|
||||||
comp.render(param).then(html => { pub.innerHTML = html; if (comp.mount) comp.mount(param); }).catch(() => {
|
comp.render(param).then(html => { pub.innerHTML = html; if (comp.mount) comp.mount(param); }).catch(() => {
|
||||||
pub.innerHTML = '<div class="pub-card"><div class="logo"><i class="fas fa-exclamation-triangle" style="color:var(--d)"></i><h2>加载失败</h2><p>请刷新页面重试</p></div></div>';
|
pub.innerHTML = '<div class="pub-card"><div class="logo"><i class="fas fa-exclamation-triangle" style="color:var(--d)"></i><h2>加载失败</h2><p>请刷新页面重试</p></div></div>';
|
||||||
|
|||||||
@@ -1,22 +1,20 @@
|
|||||||
const HomePage = {
|
const HomePage = {
|
||||||
async render() {
|
async render(tab) {
|
||||||
return `<div id="home-content" style="max-width:800px;margin:0 auto;padding:20px 0"><div id="home-tab"></div></div>`;
|
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) {
|
mount(tab) {
|
||||||
const t = tab || 'report';
|
const t = tab || 'report';
|
||||||
const topAuth = document.getElementById('top-auth');
|
document.querySelectorAll('#home-content .tab-nav button').forEach(b => { b.onclick = () => App.navigate('home', b.dataset.tab); });
|
||||||
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); });
|
|
||||||
|
|
||||||
const ct = document.getElementById('home-tab');
|
const ct = document.getElementById('home-tab');
|
||||||
if (t === 'tracking') this.renderTracking(ct);
|
if (t === 'tracking') this.renderTracking(ct);
|
||||||
else TicketCreate.render(ct, { type: t, prefill: {}, backLink: null });
|
else TicketCreate.render(ct, { type: t, prefill: {}, backLink: null });
|
||||||
|
|||||||
Reference in New Issue
Block a user