feat(phase4): permanent cache-control & asset versioning, canonical nabil stored_session_id & resume, dsh session persistence fix, dsh dialogue/files toggle, and collapsible conv sidebar
This commit is contained in:
+36
-13
@@ -6,11 +6,14 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
// Elements
|
||||
const sidebar = document.getElementById('hub-sidebar');
|
||||
const btnToggleSidebar = document.getElementById('btn-toggle-sidebar');
|
||||
const convSidebar = document.getElementById('hub-conv-sidebar');
|
||||
const btnToggleConvSidebar = document.getElementById('btn-toggle-conv-sidebar');
|
||||
const btnExpandConvSidebar = document.getElementById('btn-expand-conv-sidebar');
|
||||
const universeBtns = document.querySelectorAll('.hub-universe-btn');
|
||||
const activeTitle = document.getElementById('active-universe-name');
|
||||
const activeScope = document.getElementById('active-universe-scope');
|
||||
const activeTagline = document.getElementById('active-universe-tagline');
|
||||
const nabilModeToggle = document.getElementById('nabil-mode-toggle');
|
||||
const dshModeToggle = document.getElementById('dsh-mode-toggle');
|
||||
const tabSession = document.getElementById('tab-session');
|
||||
const tabFiles = document.getElementById('tab-files');
|
||||
|
||||
@@ -67,6 +70,31 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
});
|
||||
}
|
||||
|
||||
// Conversation Sub-Sidebar Collapse Persistence
|
||||
const isConvCollapsed = localStorage.getItem('hermes_hub_conv_collapsed') === 'true';
|
||||
if (isConvCollapsed && convSidebar) {
|
||||
convSidebar.classList.add('collapsed');
|
||||
if (btnExpandConvSidebar) btnExpandConvSidebar.style.display = 'inline-flex';
|
||||
}
|
||||
|
||||
if (btnToggleConvSidebar && convSidebar) {
|
||||
btnToggleConvSidebar.addEventListener('click', (e) => {
|
||||
e.stopPropagation();
|
||||
convSidebar.classList.add('collapsed');
|
||||
if (btnExpandConvSidebar) btnExpandConvSidebar.style.display = 'inline-flex';
|
||||
localStorage.setItem('hermes_hub_conv_collapsed', 'true');
|
||||
});
|
||||
}
|
||||
|
||||
if (btnExpandConvSidebar && convSidebar) {
|
||||
btnExpandConvSidebar.addEventListener('click', (e) => {
|
||||
e.stopPropagation();
|
||||
convSidebar.classList.remove('collapsed');
|
||||
btnExpandConvSidebar.style.display = 'none';
|
||||
localStorage.setItem('hermes_hub_conv_collapsed', 'false');
|
||||
});
|
||||
}
|
||||
|
||||
// Accent Mapping
|
||||
const ACCENT_MAP = {
|
||||
'tt': { accent: 'var(--accent-tt)', glow: 'var(--accent-tt-glow)' },
|
||||
@@ -134,19 +162,14 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
updateThemeAccent(universeId);
|
||||
|
||||
// Show/hide Nabil Files Toggle
|
||||
if (universeId === 'nabil') {
|
||||
nabilModeToggle.style.display = 'inline-flex';
|
||||
tabSession.classList.add('active');
|
||||
tabFiles.classList.remove('active');
|
||||
} else {
|
||||
nabilModeToggle.style.display = 'none';
|
||||
}
|
||||
|
||||
// Determine layout: DSH uses embedded client, others use Native Chat
|
||||
// Show/hide DSH Mode Toggle (Exclusif à l'univers DSH)
|
||||
if (universeId === 'dsh') {
|
||||
if (dshModeToggle) dshModeToggle.style.display = 'inline-flex';
|
||||
if (tabSession) tabSession.classList.add('active');
|
||||
if (tabFiles) tabFiles.classList.remove('active');
|
||||
showIframeView(`https://dsh-hub.yesminedor.tn/`);
|
||||
} else {
|
||||
if (dshModeToggle) dshModeToggle.style.display = 'none';
|
||||
showNativeChatView();
|
||||
loadConversations();
|
||||
}
|
||||
@@ -617,12 +640,12 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
});
|
||||
}
|
||||
|
||||
// Nabil Mode Switcher (Chat Natif vs Fichiers DSH)
|
||||
// DSH Mode Switcher (Dialogue DSH vs Explorateur de Fichiers)
|
||||
if (tabSession) {
|
||||
tabSession.addEventListener('click', () => {
|
||||
tabSession.classList.add('active');
|
||||
tabFiles.classList.remove('active');
|
||||
showNativeChatView();
|
||||
showIframeView(`https://dsh-hub.yesminedor.tn/`);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user