newdesigngestionnaire/Vue/includes/barre-contexte.php
2026-02-23 11:50:09 +00:00

167 lines
6.4 KiB
PHP

<?php
/**
* BARRE DE CONTEXTE - INTER SANTÉ 2026
* Widgetisation des données de session (Garant, Prospect, Assuré, Police)
*/
?>
<input type="text" class="sr-only d-none" id="numeroClient_C" name="numeroClient_C" value="<?= $this->nettoyer($_SESSION['numeroClient_C']) ?>">
<input type="text" class="sr-only d-none" id="codeGcAssureur_C" NAME="codeGcAssureur_C" value="<?= $this->nettoyer($_SESSION['codeGcAssureur_C']) ?>">
<div id="barre_laterale_d" class="context-sidebar shadow-lg">
<div class="context-header d-flex align-items-center justify-content-between mb-4">
<h5 class="fw-800 text-primary mb-0"><i class="bi bi-info-circle-fill me-2"></i><?= _("Dossier") ?></h5>
<button class="btn btn-soft-danger rounded-circle p-2" id="hideSideNav" title="<?= _("Cacher contexte") ?>">
<i class="bi bi-x-lg"></i>
</button>
</div>
<div class="context-body">
<div class="context-widget mb-4 border-start border-4 border-primary">
<div class="d-flex align-items-center mb-2">
<div class="widget-icon bg-soft-primary text-primary me-2">
<i class="bi bi-bank"></i>
</div>
<label class="widget-label"><?= _("GARANT") ?></label>
</div>
<div class="widget-content">
<div class="fw-bold text-dark fs-6"><?= $this->nettoyer($_SESSION['nomGcAssureur_C']) ?></div>
<div class="text-muted small"><?= $this->nettoyer($_SESSION['codeGcAssureur_C']) ?></div>
</div>
</div>
<?php if(!empty($_SESSION['numeroClient_C'])): ?>
<div class="context-widget mb-4 hover-shadow" onclick="javascript:afficher_client_id();" style="cursor: pointer;">
<div class="d-flex align-items-center mb-3">
<div class="widget-icon bg-soft-info text-info me-2">
<i class="bi bi-person-badge"></i>
</div>
<label class="widget-label"><?= _("ASSURÉ PRINCIPAL") ?></label>
</div>
<div class="d-flex align-items-center">
<div class="position-relative me-3">
<img src="<?= $_SESSION['photoAssureCrypte'] ?>" class="rounded-circle border border-2 border-white shadow-sm" width="50" height="50">
<span class="status-indicator-online"></span>
</div>
<div>
<div class="fw-800 text-dark small text-uppercase"><?= substr($this->nettoyer($_SESSION['nomClient_C']), 0, 22) ?></div>
<span class="badge bg-soft-info text-info rounded-pill mt-1" style="font-size: 0.7rem;">
<i class="bi bi-hash"></i> <?= $_SESSION['numeroClient_C'] ?>
</span>
</div>
</div>
</div>
<?php endif; ?>
<?php if(!empty($_SESSION['numeroPolice_C'])): ?>
<div class="context-widget mb-4" onclick="javascript:afficher_police_id_init();" style="cursor: pointer;">
<div class="d-flex align-items-center mb-2">
<div class="widget-icon bg-soft-secondary text-secondary me-2">
<i class="bi bi-file-earmark-medical"></i>
</div>
<label class="widget-label"><?= _("POLICE / CONTRAT") ?></label>
</div>
<div class="ps-1">
<div class="fw-bold text-secondary"><?= $this->nettoyer($_SESSION['numeroPolice_C']) ?></div>
<div class="progress mt-2" style="height: 6px;">
<div class="progress-bar bg-info" role="progressbar" style="width: 70%" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<div class="text-muted small mt-1" style="font-size: 0.6rem;"><?= _("Consommation Plafond : 70%") ?></div>
</div>
</div>
<?php endif; ?>
<?php if(!empty($_SESSION['numeroClient_d_C'])): ?>
<div class="context-widget border-top-warning bg-soft-warning p-3">
<h6 class="text-warning fw-bold mb-3 small uppercase text-center"><?= _("GESTION DES COTATIONS") ?></h6>
<button class="btn btn-warning w-100 text-white rounded-4 mb-2 shadow-sm" onclick="javascript:afficher_client_d_id();">
<i class="bi bi-person-plus-fill me-2"></i>
<?= substr($this->nettoyer($_SESSION['nomClient_d_C']), 0, 20) ?>
</button>
<button class="btn btn-outline-warning w-100 rounded-4" onclick="javascript:afficher_police_d_id_init();">
<i class="bi bi-file-text me-2"></i>
<?= $this->nettoyer($_SESSION['numeroPolice_d_C']) ?>
</button>
</div>
<?php endif; ?>
</div>
<footer class="context-footer mt-auto pt-4 text-center">
<p class="text-muted" style="font-size: 0.65rem;">
&copy; <?= date('Y') ?> <strong>INTER SANTÉ</strong><br>
Version 2.0.4 - Premium Edition
</p>
</footer>
</div>
<style>
/* Styles spécifiques pour le Wahoo (à intégrer ou laisser ici) */
.context-sidebar {
position: fixed;
right: -320px;
top: 0;
width: 320px;
height: 100vh;
background: #fff;
z-index: 1050;
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
padding: 25px;
display: flex;
flex-direction: column;
}
.context-sidebar.active { right: 0; }
.context-widget {
background: #fdfdfe;
border: 1px solid #f1f4f9;
border-radius: 20px;
padding: 18px;
transition: 0.3s ease;
}
.context-widget.hover-shadow:hover {
transform: translateY(-4px);
box-shadow: 0 12px 25px rgba(0,0,0,0.06);
border-color: var(--accent);
}
.widget-icon {
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px;
font-size: 1rem;
}
.widget-label {
font-size: 0.65rem;
font-weight: 800;
color: #94a3b8;
letter-spacing: 0.8px;
text-transform: uppercase;
}
.status-indicator-online {
position: absolute;
bottom: 2px;
right: 2px;
width: 12px;
height: 12px;
background: #10b981;
border: 2px solid #fff;
border-radius: 50%;
}
.bg-soft-primary { background-color: rgba(44, 62, 80, 0.08); }
.bg-soft-info { background-color: rgba(8, 197, 209, 0.1); }
.bg-soft-warning { background-color: rgba(255, 152, 0, 0.1); }
.text-info { color: #08C5D1 !important; }
</style>