@extends('layouts.app')
@section('contenido')
@php
$tablaOficial = $tablaOficial ?? [];
$mejoresTercerosOficiales = $mejoresTercerosOficiales ?? [];
$gruposCompletos = $gruposCompletos ?? false;
$dieciseisavosCompletos = $dieciseisavosCompletos ?? false;
$octavosCompletos = $octavosCompletos ?? false;
$cuartosCompletos = $cuartosCompletos ?? false;
$semifinalesCompletas = $semifinalesCompletas ?? false;
$codigoIsoBandera = [
'MEX' => 'mx', 'RSA' => 'za', 'KOR' => 'kr', 'CZE' => 'cz',
'USA' => 'us', 'PAR' => 'py', 'CAN' => 'ca', 'BIH' => 'ba',
'POR' => 'pt', 'SUI' => 'ch', 'ECU' => 'ec', 'GER' => 'de',
'CIV' => 'ci', 'NED' => 'nl', 'BRA' => 'br', 'MAR' => 'ma',
'FRA' => 'fr', 'ARG' => 'ar', 'CRO' => 'hr', 'ENG' => 'gb-eng',
'ESP' => 'es', 'ITA' => 'it', 'BEL' => 'be', 'URU' => 'uy',
'COL' => 'co', 'JPN' => 'jp', 'GHA' => 'gh', 'ALG' => 'dz',
'AUS' => 'au', 'AUT' => 'at', 'DEN' => 'dk', 'NOR' => 'no',
'SEN' => 'sn', 'EGY' => 'eg', 'JOR' => 'jo', 'UZB' => 'uz',
'NZL' => 'nz', 'CPV' => 'cv', 'COD' => 'cd', 'DRC' => 'cd',
'KSA' => 'sa', 'SAU' => 'sa', 'CUR' => 'cw', 'CUW' => 'cw',
'HAI' => 'ht', 'IRN' => 'ir', 'IRQ' => 'iq', 'SCO' => 'gb-sct',
'WAL' => 'gb-wls', 'QAT' => 'qa', 'CRC' => 'cr', 'PAN' => 'pa',
'TUN' => 'tn', 'POL' => 'pl', 'SWE' => 'se',
];
$isoPorNombre = [
'México' => 'mx',
'Sudáfrica' => 'za',
'Corea del Sur' => 'kr',
'República Checa' => 'cz',
'Estados Unidos' => 'us',
'Paraguay' => 'py',
'Canadá' => 'ca',
'Bosnia y Herzegovina' => 'ba',
'Portugal' => 'pt',
'Suiza' => 'ch',
'Ecuador' => 'ec',
'Alemania' => 'de',
'Costa de Marfil' => 'ci',
'Países Bajos' => 'nl',
'Brasil' => 'br',
'Marruecos' => 'ma',
'Francia' => 'fr',
'Argentina' => 'ar',
'Croacia' => 'hr',
'Inglaterra' => 'gb-eng',
'España' => 'es',
'Italia' => 'it',
'Bélgica' => 'be',
'Uruguay' => 'uy',
'Colombia' => 'co',
'Japón' => 'jp',
'Ghana' => 'gh',
'Argelia' => 'dz',
'Australia' => 'au',
'Austria' => 'at',
'Noruega' => 'no',
'Senegal' => 'sn',
'Egipto' => 'eg',
'Jordania' => 'jo',
'Uzbekistán' => 'uz',
'Nueva Zelanda' => 'nz',
'Cabo Verde' => 'cv',
'RD Congo' => 'cd',
'Arabia Saudita' => 'sa',
'Curazao' => 'cw',
'Haití' => 'ht',
'Irán' => 'ir',
'Irak' => 'iq',
'Escocia' => 'gb-sct',
'Gales' => 'gb-wls',
'Qatar' => 'qa',
'Costa Rica' => 'cr',
'Panamá' => 'pa',
'Túnez' => 'tn',
'Polonia' => 'pl',
'Suecia' => 'se',
'Dinamarca' => 'dk',
];
$banderaEquipo = function ($equipo) use ($codigoIsoBandera, $isoPorNombre) {
if (! $equipo) {
return null;
}
$bandera = $equipo->bandera_url ?? $equipo->bandera ?? null;
if ($bandera) {
if (str_starts_with($bandera, 'http')) {
return $bandera;
}
$rutas = [
$bandera,
'storage/' . $bandera,
'img/flags/' . $bandera,
'img/banderas/' . $bandera,
'flags/' . $bandera,
'banderas/' . $bandera,
];
foreach ($rutas as $ruta) {
if (file_exists(public_path($ruta))) {
return asset($ruta);
}
}
}
$codigo = strtoupper($equipo->codigo ?? '');
if ($codigo && isset($codigoIsoBandera[$codigo])) {
return 'https://flagcdn.com/w80/' . $codigoIsoBandera[$codigo] . '.png';
}
$nombre = $equipo->nombre ?? null;
if ($nombre && isset($isoPorNombre[$nombre])) {
return 'https://flagcdn.com/w80/' . $isoPorNombre[$nombre] . '.png';
}
return null;
};
$renderEquipo = function ($equipo, $origen = null) use ($banderaEquipo) {
$nombre = $equipo?->nombre ?? $origen ?? 'Por definir';
$codigo = strtoupper($equipo?->codigo ?? mb_substr($nombre, 0, 3));
$bandera = $banderaEquipo($equipo);
if ($bandera) {
return '
' . e($nombre) . '
';
}
return '
' . e($codigo) . '
' . e($nombre) . '
';
};
@endphp
El administrador registra solamente resultados oficiales. La fase de grupos ya viene designada por calendario. Cuando todos los partidos de una fase quedan confirmados, el sistema calcula automáticamente la siguiente fase oficial.
| Pos | Equipo | PJ | PTS | DG | GF | GC |
|---|---|---|---|---|---|---|
| {{ $f['posicion'] }} | {!! $renderEquipo($f['equipo']) !!} | {{ $f['pj'] }} | {{ $f['pts'] }} | {{ $f['dg'] }} | {{ $f['gf'] }} | {{ $f['gc'] }} |
| Orden | Grupo | Equipo | PTS | DG | GF | Estado |
|---|---|---|---|---|---|---|
| {{ $loop->iteration }} | {{ $fila['grupo'] }} | {!! $renderEquipo($fila['equipo']) !!} | {{ $fila['pts'] }} | {{ $fila['dg'] }} | {{ $fila['gf'] }} | @if($loop->iteration <= 8) Clasifica @else No clasifica @endif |