layout.js: añade favicon dinámico (icono del logo en la pestaña)

This commit is contained in:
2026-09-13 13:07:08 +00:00
parent 07282ddc59
commit 00a0b09e20

View File

@@ -7,17 +7,23 @@
// 🎨 INYECTOR DE LOGO CORPORATIVO Y PWA (ICONOS APP) // 🎨 INYECTOR DE LOGO CORPORATIVO Y PWA (ICONOS APP)
// ========================================== // ==========================================
// 1. INYECCIÓN SÚPER RÁPIDA (Para engañar a los iPhone 🍏) // Crea (o reutiliza) un <link> de icono en el <head> y le pone la URL indicada
function setIconLink(rel, href) {
let link = document.querySelector(`link[rel='${rel}']`);
if (!link) {
link = document.createElement('link');
link.rel = rel;
document.head.appendChild(link);
}
link.href = href;
}
// 1. INYECCIÓN SÚPER RÁPIDA (Para engañar a los iPhone 🍏 y pintar ya la pestaña del navegador)
// Miramos si ya tenemos el logo guardado en la memoria del móvil // Miramos si ya tenemos el logo guardado en la memoria del móvil
const savedLogo = localStorage.getItem("company_logo"); const savedLogo = localStorage.getItem("company_logo");
if (savedLogo) { if (savedLogo) {
let appleIcon = document.querySelector("link[rel='apple-touch-icon']"); setIconLink('apple-touch-icon', savedLogo);
if (!appleIcon) { setIconLink('icon', savedLogo);
appleIcon = document.createElement('link');
appleIcon.rel = 'apple-touch-icon';
document.head.appendChild(appleIcon);
}
appleIcon.href = savedLogo;
} }
// 2. DESCARGA DESDE EL SERVIDOR Y CABECERA // 2. DESCARGA DESDE EL SERVIDOR Y CABECERA
@@ -54,14 +60,10 @@ setTimeout(async () => {
headerIcon.appendChild(img); headerIcon.appendChild(img);
} }
// Inyectamos el icono por si es la primera vez que entra // Icono de la pestaña del navegador / favicon
let appleIcon = document.querySelector("link[rel='apple-touch-icon']"); setIconLink('icon', logoUrl);
if (!appleIcon) { // Icono al añadir la app a la pantalla de inicio (iOS)
appleIcon = document.createElement('link'); setIconLink('apple-touch-icon', logoUrl);
appleIcon.rel = 'apple-touch-icon';
document.head.appendChild(appleIcon);
}
appleIcon.href = logoUrl;
} }
} catch (e) { } catch (e) {
console.error("No se pudo cargar la configuración visual de la empresa", e); console.error("No se pudo cargar la configuración visual de la empresa", e);