@@ -30,13 +30,40 @@ const TWITCH_PARENT = 'alplox.github.io'
3030const ARRAY_CANALES_PREDETERMINADOS = [ '24-horas' , 'meganoticias' , 't13' ] ;
3131const ARRAY_CANALES_PREDETERMINADOS_EXTRAS = [ 'chv-noticias' , 'galeria-cima' , 'lofi-girl' ] ;
3232const ICONOS_PARA_CATEGORIAS = {
33- 'news' : '<i class="bi bi-newspaper" title="Icono noticias"></i>' ,
33+ // Formato de https://github.com/iptv-org/iptv?tab=readme-ov-file#grouped-by-category
34+ 'animation' : '<i class="bi bi-emoji-laughing-fill" title="Icono dibujos animados"></i>' ,
35+ 'auto' : '<i class="bi bi-car-front" title="Icono auto"></i>' ,
36+ 'business' : '<i class="bi bi-kanban" title="Icono negocios"></i>' ,
37+ 'classic' : '<i class="bi bi-cassette" title="Icono clásico"></i>' ,
38+ 'comedy' : '<i class="bi bi-emoji-grin-fill" title="Icono comedia"></i>' ,
39+ 'cooking' : '<i class="bi bi-egg-fill" title="Icono huevo"></i>' ,
40+ 'culture' : '<i class="bi bi-globe" title="Icono cultura"></i>' ,
41+ 'documentary' : '<i class="bi bi-camera-reels" title="Icono documental"></i>' ,
42+ 'education' : '<i class="bi bi-book" title="Icono educación"></i>' ,
43+ 'entertainment' : '<i class="bi bi-hand-thumbs-up-fill" title="Icono entretenimiento"></i>' ,
44+ 'family' : '<i class="bi bi-people-fill" title="Icono familia"></i>' ,
3445 'general' : '<i class="bi bi-tv" title="Icono general"></i>' ,
35- 'radio' : '<i class="bi bi-boombox" title="Icono radio"></i>' ,
46+ 'kids' : '<i class="bi bi-emoji-smile-fill" title="Icono niños"></i>' ,
47+ 'legislative' : '<i class="bi bi-vector-pen" title="Icono legislativo"></i>' ,
48+ 'lifestyle' : '<i class="bi bi-house" title="Icono estilo de vida"></i>' ,
49+ 'movies' : '<i class="bi bi-camera-reels" title="Icono películas"></i>' ,
3650 'music' : '<i class="bi bi-music-note-beamed" title="Icono música"></i>' ,
37- 'camera' : '<i class="bi bi-camera" title="Icono cámara"></i>' ,
38- 'space' : '<i class="bi bi-rocket-takeoff" title="Icono espacio"></i>' ,
39- 'animation' : '<i class="bi bi-emoji-laughing-fill" title="Icono dibujos animados"></i>'
51+ 'news' : '<i class="bi bi-newspaper" title="Icono noticias"></i>' ,
52+ 'outdoor' : '<i class="bi bi-bicycle" title="Icono al aire libre"></i>' ,
53+ 'relax' : '<i class="bi bi-cup-hot" title="Icono relajado"></i>' ,
54+ 'religious' : '<i class="bi bi-tree" title="Icono religion"></i>' ,
55+ 'science' : '<i class="bi bi-rocket-takeoff" title="Icono ciencia"></i>' ,
56+ 'series' : '<i class="bi bi-badge-hd" title="Icono series"></i>' ,
57+ 'shop' : '<i class="bi bi-bag" title="Icono tienda"></i>' ,
58+ 'sports' : '<i class="bi bi-trophy" title="Icono deportes"></i>' ,
59+ 'travel' : '<i class="bi bi-airplane" title="Icono viaje"></i>' ,
60+ 'weather' : '<i class="bi bi-cloud-sun" title="Icono clima"></i>' ,
61+ 'xxx' : '<i class="bi bi-tv" title="Icono adultos"></i>' ,
62+ 'undefined' : '<i class="bi bi-tv" title="Icono indefinido"></i>' ,
63+
64+ // Extras
65+ 'radio' : '<i class="bi bi-boombox" title="Icono radio"></i>' ,
66+ 'camera' : '<i class="bi bi-camera" title="Icono cámara"></i>'
4067} ;
4168const VALOR_COL_FIJO_ESCRITORIO = 4 ;
4269const VALOR_COL_FIJO_TELEFONO = 12 ;
@@ -366,8 +393,8 @@ async function M3U_A_JSON(m3u) {
366393 // const NOMBRE_CANAL = lines[i].match(/,([^,]+)$/)[1] ?? 'Nombre canal no encontrado'; //añade lo de (1080p) [24//7]
367394 const NOMBRE_CANAL = lines [ i ] . match ( / , ( [ ^ , ( ] + ) / ) [ 1 ] ?. trim ( ) ?? 'Nombre canal no encontrado' ; // no añade lo que este luego del primer "("
368395
369- const LOGO_IMG = attributes [ 'tvg-logo' ] ?? '' ;
370- const GROUP_TITLE_ID = attributes [ 'group-title' ] ?. toLowerCase ( ) ?? '' ;
396+ const LOGO_IMG = attributes [ 'tvg-logo' ] ?? "" ;
397+ const GROUP_TITLE_ID = attributes [ 'group-title' ] ?. toLowerCase ( ) ?? "" ;
371398
372399 const TVG_ID = attributes [ 'tvg-id' ] ?? `canal-m3u8-${ i } .` ;
373400 const [ NOMBRE_CANAL_PARA_ID , COUNTRY_ID = "" ] = TVG_ID . toLowerCase ( ) . split ( '.' ) ;
@@ -646,6 +673,7 @@ function crearOverlay(canalId, tipoSeñalCargada, valorIndex = 0) {
646673 let { nombre = 'Nombre Canal' , señales, sitio_oficial, país, categoría } = listaCanales [ canalId ] ;
647674
648675 valorIndex = Number ( valorIndex ) ;
676+ categoría = categoría . toLowerCase ( ) ;
649677 let iconoCategoria = categoría in ICONOS_PARA_CATEGORIAS ? ICONOS_PARA_CATEGORIAS [ categoría ] : '<i class="bi bi-tv"></i>' ;
650678
651679 const FRAGMENT_OVERLAY = document . createDocumentFragment ( ) ;
@@ -1086,6 +1114,7 @@ function crearBotonesParaCanales() {
10861114 const FRAGMENT_BOTONES_CANALES = document . createDocumentFragment ( ) ;
10871115 for ( const canal in listaCanales ) {
10881116 let { nombre, /* logo, */ país, categoría } = listaCanales [ canal ] ;
1117+ categoría = categoría . toLowerCase ( ) ;
10891118 let iconoCategoria = categoría && categoría in ICONOS_PARA_CATEGORIAS ? ICONOS_PARA_CATEGORIAS [ categoría ] : '<i class="bi bi-tv"></i>' ;
10901119 let nombrePais = país && CODIGOS_PAISES [ país . toLowerCase ( ) ] ? CODIGOS_PAISES [ país . toLowerCase ( ) ] : 'Desconocido' ;
10911120
0 commit comments