86 lines
3.1 KiB
PHP
86 lines
3.1 KiB
PHP
{{-- Footer Sidebar Fisso - Evita spostamenti --}}
|
|
<div class="p-2 border-top border-primary text-center position-relative" style="min-height: 60px;">
|
|
{{-- Indicatore di Status Fisso --}}
|
|
<div class="d-flex align-items-center justify-content-center mb-1">
|
|
<div class="status-indicator me-2" id="server-status">
|
|
<span class="badge bg-success" style="font-size: 0.6rem;">
|
|
<i class="fas fa-check-circle me-1"></i>Server Online
|
|
</span>
|
|
</div>
|
|
</div>
|
|
{{-- Info App --}}
|
|
<small class="text-muted" style="font-size: 0.65rem;">
|
|
© 2025 NetGesCon v2.1.0<br>
|
|
<a href="#" class="text-decoration-none small" onclick="openSupport()">Supporto</a> •
|
|
<a href="#" class="text-decoration-none small" onclick="openContacts()">Contatti</a>
|
|
</small>
|
|
|
|
{{-- Progress Bar per operazioni in background (nascosta di default) --}}
|
|
<div id="background-progress" class="progress mt-1" style="height: 3px; display: none;">
|
|
<div class="progress-bar progress-bar-striped progress-bar-animated bg-primary"
|
|
role="progressbar" style="width: 0%"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
.status-indicator .badge {
|
|
animation: none !important;
|
|
padding: 0.2rem 0.4rem;
|
|
}
|
|
.status-indicator.updating .badge {
|
|
background-color: #ffc107 !important;
|
|
animation: pulse 1s infinite;
|
|
}
|
|
@keyframes pulse {
|
|
0% { opacity: 1; }
|
|
50% { opacity: 0.7; }
|
|
100% { opacity: 1; }
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
function openSupport() {
|
|
alert('Centro Assistenza NetGesCon\n\nEmail: supporto@netgescon.it\nTel: 06.123456789\nOrari: Lun-Ven 9:00-18:00');
|
|
}
|
|
function openContacts() {
|
|
alert('Contatti NetGesCon\n\nNetGesCon S.r.l.\nVia Roma 123, 00100 Roma\nP.IVA: 12345678901\ninfo@netgescon.it');
|
|
}
|
|
|
|
// Funzione per mostrare progress senza spostare la pagina
|
|
function showProgress(message = 'Elaborazione in corso...') {
|
|
const status = document.getElementById('server-status');
|
|
const progress = document.getElementById('background-progress');
|
|
|
|
status.classList.add('updating');
|
|
status.innerHTML = `<span class="badge bg-warning"><i class="fas fa-sync-alt fa-spin me-1"></i>${message}</span>`;
|
|
progress.style.display = 'block';
|
|
|
|
let width = 0;
|
|
const interval = setInterval(() => {
|
|
width += Math.random() * 10;
|
|
if (width >= 100) {
|
|
width = 100;
|
|
clearInterval(interval);
|
|
setTimeout(() => {
|
|
hideProgress();
|
|
}, 500);
|
|
}
|
|
progress.querySelector('.progress-bar').style.width = width + '%';
|
|
}, 100);
|
|
}
|
|
|
|
function hideProgress() {
|
|
const status = document.getElementById('server-status');
|
|
const progress = document.getElementById('background-progress');
|
|
|
|
status.classList.remove('updating');
|
|
status.innerHTML = '<span class="badge bg-success"><i class="fas fa-check-circle me-1"></i>Server Online</span>';
|
|
progress.style.display = 'none';
|
|
progress.querySelector('.progress-bar').style.width = '0%';
|
|
}
|
|
|
|
// Export funzioni per uso globale
|
|
window.showProgress = showProgress;
|
|
window.hideProgress = hideProgress;
|
|
</script>
|