@extends('layouts.app') @section('title', 'Permissions') @section('header', 'Permissions des dossiers') @section('content') @php $statutLabels = ['pending' => ['En attente…', 'text-yellow-600'], 'running' => ['Scan en cours…', 'text-blue-600'], 'stopped' => ['Arrêté (partiel)', 'text-orange-600'], 'failed' => ['Échec', 'text-red-600'], 'completed' => ['Terminé', 'text-green-600'], 'remplace' => ['Remplacé', 'text-gray-400']]; $displayName = fn($s) => $s->site_name ?? ($s->serveur ?? '') . '\\' . ($s->chemin ?? ''); $estStuck = fn($s) => $s->statut === 'pending' && $s->updated_at->diffInSeconds(now()) > 30; $estFrozen = fn($s) => $s->statut === 'running' && $s->updated_at->diffInMinutes(now()) > 3; $fmtDuree = function($s) { $debut = $s->created_at; if ($s->statut === 'running' || $s->statut === 'pending') { $fin = now(); } elseif ($s->statut === 'completed') { $fin = $s->scanne_le ?? $s->updated_at; } elseif ($s->statut === 'stopped') { $fin = $s->stopped_le ?? $s->scanne_le ?? $s->updated_at; } else { return null; } $secs = $debut->diffInSeconds($fin); if ($secs < 0) $secs = 0; if ($secs === 0) return null; $h = intdiv($secs, 3600); $m = intdiv($secs % 3600, 60); $sec = $secs % 60; return ($h ? $h . 'h ' : '') . ($m ? $m . 'm ' : '') . $sec . 's'; }; @endphp
{{ $section['empty'] }}
@else