Esteams / activity.html
HenzHosting's picture
Upload 48 files
8aeb522 verified
<!DOCTYPE html>
<html lang="en">
<!-- Mirrored from es-teams-database2025.onrender.com/activity by HTTrack Website Copier/3.x [XR&CO'2017], Fri, 14 Feb 2025 22:34:57 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=UTF-8" /><!-- /Added by HTTrack -->
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ES TEAMS ACTIVITY LOGS</title>
<script src="../external.html?link=https://cdn.tailwindcss.com/"></script>
<style>
/* Animation for heading */
@keyframes marquee {
from { transform: translateX(100%); }
to { transform: translateX(-100%); }
}
.marquee {
white-space: nowrap;
overflow: hidden;
display: inline-block;
animation: marquee 8s linear infinite;
}
/* Profile image frame */
.profile-frame {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
border: 3px solid cyan;
}
/* Green blinking dot */
@keyframes blink {
50% { opacity: 0; }
}
.blinking-dot {
width: 10px;
height: 10px;
background-color: limegreen;
border-radius: 50%;
animation: blink 1s infinite;
}
/* Glowing log out button */
.logout-btn {
background-color: red;
color: white;
padding: 10px 20px;
border-radius: 10px;
box-shadow: 0 0 10px red;
transition: transform 0.2s;
}
.logout-btn:hover {
transform: scale(1.1);
}
/* Box for content */
.content-box {
background-color: rgba(255, 255, 255, 0.1);
padding: 20px;
border-radius: 15px;
border-left: 5px solid cyan;
box-shadow: 0 0 10px cyan;
width: 80%;
margin: 20px auto;
text-align: center;
}
/* Scrollable activity log */
.activity-log-box {
max-height: 300px;
overflow-y: auto;
padding: 10px;
background-color: rgba(255, 255, 255, 0.1);
border-radius: 10px;
box-shadow: 0 0 10px cyan;
}
.activity-log-item {
display: flex;
justify-content: space-between;
background-color: rgba(255, 255, 255, 0.2);
margin: 5px 0;
padding: 5px;
border-radius: 5px;
}
</style>
</head>
<body class="bg-gray-900 text-white flex flex-col items-center justify-center min-h-screen p-5">
<!-- Top Section -->
<div class="w-full flex justify-between items-center px-5">
<!-- Back Button -->
<button data-action="Navigated to Home" onclick="goToLogin()" class="text-3xl" id="logout-btn">&#8592;</button>
<!-- Profile Picture -->
<div class="profile-frame">
<img id="profile-img" src="#" alt="Profile" class="w-full h-full object-cover">
</div>
</div>
<!-- Heading -->
<h1 class="text-3xl font-bold text-cyan-400 mt-5 marquee">π—˜π—¦ π—§π—˜π—”π— π—¦ π—”π—–π—§π—œπ—©π—œπ—§π—¬ π—Ÿπ—’π—šπ—¦</h1>
<p class="text-lg text-gray-300 mt-2">Welcome to your activity log where you see all your current progress.</p>
<!-- Device Information Box -->
<div class="content-box">
<h3 class="text-xl font-semibold">π——π—˜π—©π—œπ—–π—˜ π—œπ—‘π—™π—’</h3>
<p>Date: <span id="device-date"></span></p>
<p>Time: <span id="device-time"></span></p>
<p>Uptime: <span id="device-uptime"></span></p>
</div>
<!-- Title Activity Logs Box -->
<div class="content-box">
<h3 class="text-xl font-semibold">π—Ÿπ—’π—šπ—¦</h3>
<div class="activity-log-box" id="activity-log">
<!-- Activity logs will be added here dynamically -->
</div>
</div>
<!-- Log Out Button -->
<button onclick="goToLogin()" class="logout-btn fixed bottom-5 right-5">π—Ÿπ—’π—š 𝗒𝗨𝗧</button>
<!-- JavaScript -->
<script>
// Global event listener for button clicks
function handleButtonClick(button) {
const action = button.getAttribute('data-action');
logActivity(action || 'Button clicked');
}
// Load profile image from local storage
function loadProfileImage() {
let userData = JSON.parse(localStorage.getItem("userData")) || {};
if (userData.profilePic) {
document.getElementById("profile-img").src = userData.profilePic;
} else {
document.getElementById("profile-img").src = "../files.catbox.moe/wyin55.jpg"; // Default placeholder
}
}
// Load activity log from local storage
function loadActivityLog() {
let activities = JSON.parse(localStorage.getItem("activityLog")) || [];
let logContainer = document.getElementById("activity-log");
logContainer.innerHTML = ""; // Clear previous logs
if (activities.length === 0) {
logContainer.innerHTML = "<p class='text-gray-400'>No activities yet.</p>";
return;
}
activities.forEach(activity => {
let activityItem = document.createElement("div");
activityItem.className = "activity-log-item";
activityItem.innerHTML = `
<span>${activity}</span>
<div class="blinking-dot"></div>
`;
logContainer.appendChild(activityItem);
});
}
// Log activity
function logActivity(action) {
let activities = JSON.parse(localStorage.getItem("activityLog")) || [];
let timestamp = new Date().toLocaleTimeString();
activities.unshift(`${action} at ${timestamp}`); // Add new activity at the top
if (activities.length > 10) {
activities.pop(); // Remove the oldest activity if there are more than 10
}
localStorage.setItem("activityLog", JSON.stringify(activities));
loadActivityLog(); // Refresh activity log
}
// Update device information
let startTime = new Date().getTime();
function updateDeviceInfo() {
const date = new Date();
document.getElementById("device-date").textContent = date.toLocaleDateString();
// Update time every second
setInterval(function() {
document.getElementById("device-time").textContent = new Date().toLocaleTimeString();
}, 1000);
// Calculate uptime in seconds
setInterval(function() {
let uptime = Math.floor((new Date().getTime() - startTime) / 1000);
document.getElementById("device-uptime").textContent = `${uptime} seconds`;
}, 1000); // Refresh every second
}
// Initialize page
window.onload = function() {
loadProfileImage();
loadActivityLog();
updateDeviceInfo();
};
// Redirect to the login page
function goToLogin() {
// Log activity on logout
logActivity('Logged out');
// Redirect to the login page (or index page if preferred)
window.location.href = "index-2.html"; // Redirect to index.html
}
// Add event listener to buttons dynamically on page load
document.querySelectorAll("button").forEach(button => {
button.addEventListener('click', function() {
logActivity(`Button clicked: ${button.innerText || 'Unnamed button'}`);
});
});
</script>
</body>
<!-- Mirrored from es-teams-database2025.onrender.com/activity by HTTrack Website Copier/3.x [XR&CO'2017], Fri, 14 Feb 2025 22:34:59 GMT -->
</html>