<?php
/**
 * Template Nombre: 404 Errorr Página
 * Descripción: Página de erro 404 otimizada para SEO e retenção de usuários
 * 
 * @package HOT Telegram Theme
 */

if (!defined('ABSPATH')) {
    exit;
}

// Garante código HTTP 404
status_header(404);
nocache_headers();

// Adiciona meta tag noindex para evitar indexação da página 404
add_action('wp_head', function() {
    echo '<meta name="robots" content="noindex, follow">' . "\n";
}, 1);

get_header();
?>

<main class="site-main" id="main">
    <div class="error-404-container">
        
        <!-- Seção Principal do Error 404 -->
        <section class="error-404-content">
            <div class="error-404-header">
                <h1 class="error-404-title">¡Ups! No pudimos encontrar esta página.</h1>
                <p class="error-404-description">
                    La página que buscas no existe o ha sido movida. 
                    ¡Pero no te preocupes! Puedes encontrar lo que necesitas a continuación.
                </p>
            </div>
            
            <!-- Barra de Busca Prominente -->
            <div class="error-404-search">
                <h2 class="search-title">Buscar Grupos</h2>
                <p class="search-description">Usa la búsqueda para encontrar grupos de Telegram:</p>
                <?php 
                // Exibe formulário de busca customizado ou padrão
                $search_form = get_search_form(false);
                if (empty($search_form)) {
                    // Fallback: cria formulário de busca manualmente
                    echo '<form role="search" method="get" action="' . esc_url(home_url('/')) . '" class="search-form error-404-search-form">';
                    echo '<div class="search-form-wrapper">';
                    echo '<input type="search" name="s" placeholder="Ingresa el nombre del grupo..." value="' . esc_attr(get_search_query()) . '" class="search-input" required>';
                    echo '<button type="submit" class="search-submit">Buscar</button>';
                    echo '</div>';
                    echo '</form>';
                } else {
                    echo $search_form;
                }
                ?>
            </div>
            
            <!-- Enlaces de Navegação Rápida -->
            <div class="error-404-navigation">
                <h2 class="nav-title">Navegación Rápida</h2>
                <div class="nav-links">
                    <a href="<?php echo esc_url(home_url('/')); ?>" class="nav-link nav-home">
                        <span class="nav-icon">🏠</span>
                        <span class="nav-text">Inicio</span>
                    </a>
                    
                    <?php
                    // Enlace para página de categorias ou primeira categoria
                    $categories = get_categories(array(
                        'orderby' => 'count',
                        'order' => 'DESC',
                        'number' => 1,
                        'hide_empty' => false
                    ));
                    
                    if (!empty($categories)) {
                        $first_category = $categories[0];
                        echo '<a href="' . esc_url(get_category_link($first_category->term_id)) . '" class="nav-link nav-category">';
                        echo '<span class="nav-icon">📂</span>';
                        echo '<span class="nav-text">Categorías</span>';
                        echo '</a>';
                    }
                    ?>
                    
                    <?php
                    // Enlace para página de contato (se existir)
                    $contato_page = get_page_by_path('contacto');
                    if (!$contato_page) {
                        $contato_page = get_page_by_path('contact');
                    }
                    if (!$contato_page) {
                        $contato_page = get_page_by_path('contato');
                    }
                    if ($contato_page) {
                        echo '<a href="' . esc_url(get_permalink($contato_page->ID)) . '" class="nav-link nav-contact">';
                        echo '<span class="nav-icon">📧</span>';
                        echo '<span class="nav-text">Contactoo</span>';
                        echo '</a>';
                    }
                    ?>
                </div>
            </div>
        </section>
        
        <!-- Seção de Grupos Populares (SEO/Retenção) -->
        <section class="error-404-popular-groups">
            <h2 class="popular-groups-title">Grupos Populares que te Pueden Gustar:</h2>
            <div class="popular-groups-content">
                <?php
                // Usa o shortcode mostrar-grupos com cache para exibir grupos populares
                // campo="entry_views" ordena por votos (mais populares)
                if (shortcode_exists('mostrar-grupos')) {
                    echo do_shortcode('[mostrar-grupos posts="6" campo="entry_views"]');
                } else {
                    // Fallback: Query manual se shortcode não estiver disponível
                    $popular_posts = new WP_Query(array(
                        'post_type' => 'post',
                        'post_status' => 'publish',
                        'posts_per_page' => 6,
                        'orderby' => 'meta_value_num',
                        'meta_key' => 'hot_view_count',
                        'order' => 'DESC',
                        'no_found_rows' => true,
                        'update_post_meta_cache' => false,
                        'update_post_term_cache' => false,
                    ));
                    
                    if ($popular_posts->have_posts()) {
                        echo '<div class="hot-grid">';
                        while ($popular_posts->have_posts()) {
                            $popular_posts->the_post();
                            echo '<article class="hot-card">';
                            
                            // Thumbnail
                            if (has_post_thumbnail()) {
                                echo '<a href="' . esc_url(get_permalink()) . '" aria-label="' . esc_attr(get_the_title()) . '">';
                                echo wp_get_attachment_image(get_post_thumbnail_id(), 'hot_grid', false, array(
                                    'class' => 'wp-post-image',
                                    'alt' => get_the_title(),
                                    'loading' => 'lazy',
                                    'decoding' => 'async'
                                ));
                                echo '</a>';
                            }
                            
                            echo '<div class="hot-card-content">';
                            echo '<h2><a href="' . esc_url(get_permalink()) . '">' . esc_html(get_the_title()) . '</a></h2>';
                            
                            // Categoria
                            $cats = get_the_category();
                            $cat = !empty($cats) ? $cats[0] : false;
                            if ($cat) {
                                echo '<a href="' . esc_url(get_category_link($cat->term_id)) . '" class="categoria">' . esc_html($cat->name) . '</a>';
                            }
                            
                            // Excerpt
                            $excerpt = has_excerpt() ? get_the_excerpt() : wp_trim_words(get_the_content(), 28, '...');
                            echo '<p>' . esc_html($excerpt) . '</p>';
                            
                            // Botão
                            echo '<a href="' . esc_url(get_permalink()) . '" class="btn-entrar">UNIRSE AL GRUPO</a>';
                            echo '</div>';
                            echo '</article>';
                        }
                        echo '</div>';
                        wp_reset_postdata();
                    } else {
                        echo '<p class="no-groups-message">No se encontraron grupos en este momento</p>';
                    }
                }
                ?>
            </div>
        </section>
        
    </div>
</main>

<?php get_footer(); ?>

