👀 Vista del componente #
Este componente muestra la imagen de portada del inmueble junto con diferentes etiquetas (badges) que indican el estado de la propiedad, su tipo de gestión (venta/arriendo), así como características especiales como destacado, de lujo o verificado.
📸 Ejemplo visual:

📝 Descripción #
El componente cover-image se encarga de renderizar la portada del inmueble con estilos personalizados, controlando su disponibilidad (vendido o arrendado) y mostrando información relevante mediante insignias (badges).
Además, puede funcionar con un enlace al detalle del inmueble o sin él, según la configuración recibida en los atributos.
⚙️ ¿Cómo funciona? #
<?php
$checkLink = !(isset($attrs) && isset($attrs['withLinktoDetail']) && $attrs['withLinktoDetail'] == false);
?>
<?php
if ($checkLink) :
?>
    <a href="<?php echo visualinmu_route_detalleInmueble($inmueble->slug()); ?>" class="inmueblelink" target="_blank">
    <?php
endif;
    ?>
    <style>
    .property-noavaliable::after {
        content: "<?php echo $inmueble->gestion()->esAriendo() ?  __('ARRENDADO','visualinmueble') : __('VENDIDO','visualinmueble') ?>"; 
    }
    </style>
    <div class="imagenportada portada<?php echo $cont; ?> <?php echo $inmueble->retirado() ? 'property-noavaliable' : ''?>" style=" background: url(<?php echo $inmueble->fotoPortada(); ?>);  background-size: cover; background-position: center; ">
        <?php if ($inmueble->gestion()->esArriendoVenta()) : ?>
            <span class="badge rounded-pill bg-primary">Venta</span>
            <span class="badge rounded-pill bg-primary">Arriendo</span>
        <?php elseif ($inmueble->gestion()->esAriendo()) : ?>
            <span class="badge rounded-pill bg-primary">Arriendo</span>
        <?php else : ?>
            <span class="badge rounded-pill bg-primary">Venta</span>
        <?php endif; ?>
        <?php foreach ($inmueble->tags() as $tag) { ?>
            <?php if ($tag->key() === "VISUALINMU_DESTACADO" || $tag->key() == "DESTACADO") { ?>
                <span class="badge rounded-pill bg-primary badgePropiedadDestacada">Propiedad destacada</span>
            <?php } ?>
            <?php if ($tag->key() === "VISUALINMU_DELUJO") { ?>
                <span class="badge rounded-pill bg-primary badgePropiedadDeLujo">Propiedad de lujo</span>
            <?php } ?>
            <?php if ($tag->key() === "VISUALINMU_VERIFICADO") { ?>
                <span class="badge rounded-pill bg-primary badgePropiedadverificada" data-bs-toggle="tooltip" data-bs-placement="top" title="Este inmueble y sus propietarios fueron previamente verificados a través de nuestro software de análisis jurídico y se encuentra CALIFICADA para ser comercializada; encuentra la información legal de esta propiedad descargando gratis la ficha técnica."><i class="icon-homlity icon-uniE9AF"></i> Propiedad verificada</span>
            <?php } ?>            
        <?php } ?>
    </div>
<?php if ($checkLink) : ?>
    </a>
<?php endif; ?>- Validación del enlace al detalle- El parámetro withLinktoDetaildefine si la imagen llevará un enlace al detalle del inmueble.
- Por defecto, sí lleva enlace, salvo que el atributo sea explícitamente false.
 $checkLink = !(isset($attrs) && isset($attrs['withLinktoDetail']) && $attrs['withLinktoDetail'] == false);
- El parámetro 
- Estado de disponibilidad- Si el inmueble está retirado, se agrega la clase property-noavaliable.
- Mediante pseudo-elemento ::after, se imprime el texto “ARRENDADO” o “VENDIDO” sobre la imagen, dependiendo de la gestión.
 .property-noavaliable::after { content: "ARRENDADO" o "VENDIDO"; }
- Si el inmueble está retirado, se agrega la clase 
- Imagen de portada- Se coloca como background CSS, con coverycenterpara ajustar la visualización.
- Se genera de la función fotoPortada().
 style="background: url(<?php echo $inmueble->fotoPortada(); ?>); background-size: cover; background-position: center;"
- Se coloca como background CSS, con 
- Insignias de gestión
- Si el inmueble está disponible tanto en venta como arriendo, se muestran ambos badges.
- Si es solo arriendo → Arriendo.
- Si es solo venta → Venta.
 
- Insignias de características
 Se recorren los tags del inmueble, y dependiendo del valor, se muestran badges especiales:- 🔹 Propiedad destacada (VISUALINMU_DESTACADOoDESTACADO).
- 💎 Propiedad de lujo (VISUALINMU_DELUJO).
- ✅ Propiedad verificada (VISUALINMU_VERIFICADO), con tooltip explicativo.
 
- 🔹 Propiedad destacada (
🎨 Personalización disponible #
El componente permite personalizar diferentes aspectos:
- Texto de disponibilidad- Cambiar lo que aparece cuando la propiedad está retirada (ej. “VENDIDO” → “NO DISPONIBLE”).
 content: "Texto personalizado";
- Enlace a detalle- Controlar si la imagen debe redirigir o no al detalle del inmueble con el atributo withLinktoDetail.
 $attrs['withLinktoDetail'] = false;
- Controlar si la imagen debe redirigir o no al detalle del inmueble con el atributo 
- Imagen de portada
- Cambiar el estilo de fondo (background-size,background-position).
- Reemplazar fotoPortada()por otra fuente de imagen.
 
- Cambiar el estilo de fondo (
- Insignias (badges)
- Editar el texto o los estilos de los badges (ej. colores, posición, íconos).
- Agregar nuevos badges según etiquetas adicionales en $inmueble->tags().
 
- Clases CSS adicionales
- imagenportada,- property-noavaliable,- badgePropiedadDestacada, etc.
- Permiten modificar la presentación visual desde CSS sin tocar la lógica PHP.
 
