<?php
use App\Core\Permission;
$h=static fn($value):string=>htmlspecialchars((string)$value,ENT_QUOTES,'UTF-8');
$data=$planning;
$hoursByDiscipline=[];
foreach($data['slots'] as $slot){
    $label=(string)$slot['discipline_libelle'];
    $hoursByDiscipline[$label]=($hoursByDiscipline[$label]??0)
        +(strtotime((string)$slot['heure_fin'])-strtotime((string)$slot['heure_debut']))/3600;
}
$direction=Permission::canViewFullProfessorRh();
$courseHours=(float)($data['course_hours']??$data['planned_hours']??0);
$remoteWorkHours=(float)($data['remote_work_hours']??0);
$totalPlanned=$courseHours+$remoteWorkHours;
?>
<link rel="stylesheet" href="/public/assets/css/cda-professor-circuit-962.css">
<main class="ped-profile">
  <nav style="margin:0 0 14px">
    <a class="ped-back" href="/public/professeurs" onclick="if(history.length>1){event.preventDefault();history.back()}">← Retour</a>
  </nav>
  <header class="ped-hero">
    <div class="ped-avatar"><?= $h(mb_strtoupper(mb_substr((string)$professor['prenom'],0,1).mb_substr((string)$professor['nom'],0,1))) ?></div>
    <div>
      <span>PROFIL PÉDAGOGIQUE</span>
      <h2><?= $h($professor['prenom'].' '.$professor['nom']) ?></h2>
      <p>Consultation du planning, de la charge et des élèves en attente.</p>
    </div>
    <?php if($direction): ?><a class="ped-back" href="/public/professeurs">← Retour à la gestion des professeurs</a><?php endif; ?>
  </header>

  <section class="ped-kpis">
    <article><span>Charge contractuelle</span><strong><?= $h(number_format((float)$data['contract_hours'],2,',',' ')) ?> h</strong></article>
    <article><span>Charge planifiée</span><strong><?= $h(number_format($totalPlanned,2,',',' ')) ?> h</strong><small><?= $h(number_format($courseHours,2,',',' ')) ?> h cours + <?= $h(number_format($remoteWorkHours,2,',',' ')) ?> h télétravail</small></article>
    <article><span>Élèves en attente</span><strong><?= count($data['waiting_students']) ?></strong></article>
  </section>

  <section class="ped-card">
    <header><div><span>DISCIPLINES AFFECTÉES</span><h3>Heures par discipline</h3></div></header>
    <div class="ped-disciplines">
      <?php foreach($disciplines as $discipline): ?>
      <article style="--accent:<?= $h($discipline['couleur']) ?>">
        <b><?= $h($discipline['icone']) ?> <?= $h($discipline['libelle']) ?></b>
        <span><?= $h(number_format((float)($hoursByDiscipline[$discipline['libelle']]??0),2,',',' ')) ?> h planifiée(s)</span>
      </article>
      <?php endforeach; ?>
      <?php if(!$disciplines): ?><p>Aucune discipline affectée.</p><?php endif; ?>
    </div>
    <p><small>Les disciplines sont affichées en consultation. Leur gestion est réservée à la Direction depuis le dossier RH du professeur.</small></p>
  </section>

  <section class="ped-card">
    <header><div><span>PLANNING ET CHARGE</span><h3>Mon organisation pédagogique</h3></div></header>
    <div class="ped-actions">
      <a href="/public/professeurs-pro/planning?professeur=<?=rawurlencode((string)$professor['public_token'])?><?= $direction?'&mode=direction':'' ?>">
        <b>Planning prévisionnel</b><span><?= $data['planning_validated']?'Validé · consulter les places':'À construire ou à valider' ?></span>
      </a>
      <a href="/public/professeurs/annee?professeur_id=<?=(int)$professor['id']?><?= $direction?'&mode=direction':'' ?>">
        <b>Planning annuel</b><span>Journées de cours hors vacances scolaires</span>
      </a>
      <a href="/public/professeurs-pro/attente?professeur=<?=rawurlencode((string)$professor['public_token'])?>">
        <b>Affecter un élève en file d’attente</b><span><?=count($data['waiting_students'])?> demande(s) compatible(s)</span>
      </a>
      <a href="/public/professeurs-pro/teletravail?professeur=<?=rawurlencode((string)$professor['public_token'])?><?= $direction?'&mode=direction':'' ?>">
        <b>Télétravail</b><span>Déclarer les tâches et suivre leur validation</span>
      </a>
    </div>
  </section>

  <section class="ped-card">
    <header><div><span>SUIVI</span><h3>Agenda et présences</h3></div></header>
    <div class="ped-actions two">
      <a href="/public/professeurs/agenda?professeur=<?=(int)$professor['id']?>"><b>Agenda</b><span>Voir les journées programmées</span></a>
      <a href="/public/presences?professeur=<?=rawurlencode((string)$professor['public_token'])?>"><b>Présences</b><span>Émargements et suivi pédagogique</span></a>
    </div>
  </section>
</main>
