refactor: Suppression de la toolbar des webviews et ajout du bouton Rafraîchir dans le header (v1.2.2)

- Suppression complète de la barre d'outils des webviews
- Plus de boutons Précédent/Suivant et d'affichage d'URL
- Bouton Rafraîchir déplacé dans le header principal
- Animation de rotation lors du rafraîchissement
- Gain d'espace vertical supplémentaire (~40px)
- Code nettoyé avec suppression des fonctions inutilisées
This commit is contained in:
Pierre Marx
2025-09-04 15:22:34 -04:00
parent bcd56d5e1e
commit fb9430936c
4 changed files with 65 additions and 63 deletions

View File

@@ -67,6 +67,12 @@ document.addEventListener('DOMContentLoaded', async () => {
closeNotesBtn.addEventListener('click', hideNotes);
}
// Bouton rafraîchir
const refreshBtn = document.getElementById('refreshBtn');
if (refreshBtn) {
refreshBtn.addEventListener('click', refreshCurrentWebview);
}
// Charger les préférences utilisateur
loadUserPreferences();
@@ -234,17 +240,6 @@ function initializeCenters() {
webview.setAttribute('partition', `persist:${centre.id}`);
webview.setAttribute('useragent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36');
// Barre d'outils pour la webview
const toolbar = document.createElement('div');
toolbar.className = 'webview-toolbar';
toolbar.innerHTML = `
<button onclick="navigateWebview('${centre.id}', 'back')">◀</button>
<button onclick="navigateWebview('${centre.id}', 'forward')">▶</button>
<button onclick="navigateWebview('${centre.id}', 'reload')">🔄</button>
<span class="webview-url" id="url-${centre.id}">${centre.url}</span>
`;
webviewWrapper.appendChild(toolbar);
webviewWrapper.appendChild(webview);
webviewContainer.appendChild(webviewWrapper);
@@ -266,10 +261,6 @@ function initializeCenters() {
}
});
webview.addEventListener('did-navigate', (e) => {
document.getElementById(`url-${centre.id}`).textContent = e.url;
});
webview.addEventListener('did-fail-load', (e) => {
console.error(`Erreur chargement ${centre.nom}:`, e);
});
@@ -291,23 +282,6 @@ function selectCenter(centerId) {
});
}
// Navigation dans les webviews
window.navigateWebview = function(centerId, action) {
const webview = webviews[centerId];
if (webview) {
switch(action) {
case 'back':
webview.goBack();
break;
case 'forward':
webview.goForward();
break;
case 'reload':
webview.reload();
break;
}
}
};
// === GESTION DES APPELS ===
function handleIncomingCall(callData) {
@@ -699,6 +673,25 @@ function saveUserPreferences() {
});
}
// === FONCTION DE RAFRAÎCHISSEMENT ===
function refreshCurrentWebview() {
if (activeCenter && webviews[activeCenter]) {
webviews[activeCenter].reload();
console.log(`Rafraîchissement de la webview ${activeCenter}`);
// Animation visuelle du bouton
const refreshBtn = document.getElementById('refreshBtn');
if (refreshBtn) {
refreshBtn.classList.add('rotating');
setTimeout(() => {
refreshBtn.classList.remove('rotating');
}, 1000);
}
} else {
console.log('Aucune webview active à rafraîchir');
}
}
// === GESTION INDICATEUR SIGNALR ===
function updateSignalRIndicator(status) {
const indicator = document.getElementById('signalrIndicator');