<div class="container-fluid py-4">
  <app-header [account]="account" [isOwner]="isOwner"></app-header>
  
  <div class="container my-4">
    <div class="row justify-content-center">
      <div class="col-lg-10">
        <!-- Alerte d'erreur -->
        <div *ngIf="error" class="alert alert-danger alert-dismissible fade show" role="alert">
          {{ error }}
          <button type="button" class="btn-close" (click)="error = null"></button>
        </div>
        
        <!-- Chargement global -->
        <div *ngIf="loading" class="text-center my-4">
          <div class="spinner-border text-primary" role="status">
            <span class="visually-hidden">Chargement...</span>
          </div>
          <p class="mt-2">Traitement en cours...</p>
        </div>
        
        <!-- Connexion au portefeuille si déconnecté -->
        <div *ngIf="!isConnected" class="card">
          <div class="card-body text-center p-5">
            <app-connect-wallet></app-connect-wallet>
          </div>
        </div>
        
        <!-- Contenu principal si connecté -->
        <div *ngIf="isConnected" class="fade-in">
          <!-- Statut du workflow -->
          <app-workflow-status 
            [currentStatus]="currentStatus" 
            [isOwner]="isOwner">
          </app-workflow-status>
          
          <!-- Gestion des électeurs (admin uniquement, workflow 0) -->
          <app-voter-management 
            *ngIf="isOwner && currentStatus === '0'"
            [currentStatus]="currentStatus">
          </app-voter-management>
          
          <!-- Gestion des propositions (électeurs inscrits, workflow 1) -->
          <app-proposal-management 
            *ngIf="isVoter && currentStatus === '1'"
            [currentStatus]="currentStatus">
          </app-proposal-management>
          
          <!-- Session de vote (électeurs inscrits, workflow 3) -->
          <app-voting-session 
            *ngIf="isVoter && (currentStatus === '3' || currentStatus === '5')"
            [currentStatus]="currentStatus">
          </app-voting-session>
          
          <!-- Message si pas d'action disponible -->
          <div *ngIf="!isOwner && !isVoter" class="card">
            <div class="card-body text-center p-4">
              <h4>Accès limité</h4>
              <p>Votre adresse n'est pas enregistrée comme électeur pour cette session de vote.</p>
              <p>Veuillez contacter l'administrateur pour être ajouté à la liste des électeurs.</p>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>