<?php
// addons/last_seen/main.php

// 1. ACTUALIZAR ACTIVIDAD (Si el usuario está logueado)
if (isset($_SESSION['user_id'])) {
    // Usamos el ID numérico que ya sabemos que es el que funciona (como tu ID 2)
    // Pero aquí lo hacemos dinámico para todos.
    $stmt_upd = $pdo->prepare("UPDATE users SET last_activity = NOW() WHERE username = ?");
    $stmt_upd->execute([$_SESSION['user_id']]);
}

// 2. FUNCIÓN PARA MOSTRAR EL ESTADO
if (!function_exists('get_user_status')) {
    function get_user_status($user_id, $pdo) {
        $stmt = $pdo->prepare("SELECT last_activity FROM users WHERE id = ?");
        $stmt->execute([$user_id]);
        $user = $stmt->fetch();

        if (!$user) return '';

        $last_act = strtotime($user['last_activity']);
        $current_time = time();
        $diff = $current_time - $last_act;

        // Si se movió en los últimos 5 minutos, está ONLINE
        if ($diff <= 300) {
            return '<span style="color: #00ff88; font-size: 12px; display: flex; align-items: center; gap: 5px; justify-content: center;">
                        <i class="fa-solid fa-circle" style="font-size: 8px;"></i> Online
                    </span>';
        } 
        
        // Si no, calculamos cuánto hace que se fue
        if ($diff < 3600) {
            $mins = round($diff / 60);
            $text = "Last seen $mins mins ago";
        } elseif ($diff < 86400) {
            $hours = round($diff / 3600);
            $text = "Last seen $hours hours ago";
        } else {
            $text = "Offline";
        }

        return '<span style="color: var(--text-gray); font-size: 11px;">' . $text . '</span>';
    }
}