v1.8.21: fix library — remove orphaned initAuth body causing script crash, fix main tag
This commit is contained in:
+1
-40
@@ -340,7 +340,7 @@ main {
|
||||
<!-- Header -->
|
||||
<div id="universal-header"></div>
|
||||
|
||||
<main class="max-w-6xl" mx-auto px-4 lg:px-8 py-8">
|
||||
<main class="max-w-6xl mx-auto px-4 lg:px-8 py-8">
|
||||
|
||||
<!-- Search + Filters -->
|
||||
<div class="glass rounded-3xl p-6 mb-6">
|
||||
@@ -623,45 +623,6 @@ async function toggleFav(bookId, btn, e) {
|
||||
|
||||
|
||||
|
||||
// ── Auth Nav ───────────────────────────────────────────────────────────────
|
||||
return; }
|
||||
currentUser = await r.json();
|
||||
checkActiveImport();
|
||||
nav.innerHTML = `<div class="relative" id="user-menu-wrap">
|
||||
<button onclick="document.getElementById('udrop').classList.toggle('hidden')" class="glass flex items-center gap-2 px-3 py-2 rounded-xl text-xs hover:border-primary/40 transition-colors">
|
||||
<span class="msym text-base text-primary">person</span>
|
||||
<span class="hidden sm:inline max-w-[80px] truncate">${currentUser.name}</span>
|
||||
<span class="msym text-sm text-on-surface-variant">expand_more</span>
|
||||
</button>
|
||||
<div id="udrop" class="hidden absolute right-0 top-full mt-1 glass rounded-xl p-2 min-w-[160px] z-50 shadow-xl">
|
||||
<div class="px-3 py-2 border-b border-outline-variant/30 mb-1">
|
||||
<p class="text-xs font-bold">${currentUser.name}</p>
|
||||
<p class="text-[10px] text-primary">${currentUser.role_display||currentUser.role}</p>
|
||||
</div>
|
||||
${currentUser.role==='admin'?'<a href="/admin" class="flex items-center gap-2 px-3 py-2 rounded-lg text-xs text-on-surface-variant hover:text-primary hover:bg-primary/5"><span class="msym text-sm">admin_panel_settings</span>Admin</a>':''}
|
||||
<button onclick="doLogout()" class="w-full flex items-center gap-2 px-3 py-2 rounded-lg text-xs text-error hover:bg-red-900/10">
|
||||
<span class="msym text-sm">logout</span>خروج
|
||||
</button>
|
||||
</div>
|
||||
</div>`;
|
||||
document.addEventListener('click',e=>{const w=document.getElementById('user-menu-wrap');if(w&&!w.contains(e.target))document.getElementById('udrop')?.classList.add('hidden')});
|
||||
// Show upload if permitted
|
||||
const perms = currentUser.permissions || [];
|
||||
const canUpload = Array.isArray(perms)
|
||||
? perms.includes('upload')
|
||||
: (perms.upload === true);
|
||||
const isAdmin = currentUser.role === 'admin' || currentUser.role === 'librarian';
|
||||
if(canUpload || isAdmin) {
|
||||
document.getElementById('upload-btn-wrap').classList.remove('hidden');
|
||||
}
|
||||
} catch(e) {}
|
||||
}
|
||||
|
||||
function doLogout() {
|
||||
fetch('/auth/logout',{method:'POST',headers:{'Authorization':'Bearer '+userToken}});
|
||||
localStorage.removeItem('rag_token');
|
||||
window.location.reload();
|
||||
}
|
||||
|
||||
// ── Filters ────────────────────────────────────────────────────────────────
|
||||
function setFilter(type, value, btn) {
|
||||
|
||||
Reference in New Issue
Block a user