new
parent
a6987e5e40
commit
f8a91b5970
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,50 @@
|
||||
// WebSocket connection for new statuses
|
||||
const ws_protocol = window.location.protocol === "https:" ? "wss" : "ws";
|
||||
const newStatusesTimeSocketUrl = `${ws_protocol}://${window.location.host}/ws/update-statuses-time/`;
|
||||
const newStatusesTimeSocket = new WebSocket(newStatusesTimeSocketUrl);
|
||||
|
||||
newStatusesTimeSocket.onopen = () => {
|
||||
console.log('WebSocket connection to new statuses time established');
|
||||
|
||||
function sendUpdate() {
|
||||
newStatusesTimeSocket.send(JSON.stringify({ 'event_type': 'update_statuses_time' }));
|
||||
}
|
||||
|
||||
// Call sendUpdate every 1 minute (60000 milliseconds)
|
||||
setInterval(sendUpdate, 60000);
|
||||
// Call it immediately on load
|
||||
sendUpdate();
|
||||
};
|
||||
|
||||
newStatusesTimeSocket.onmessage = function(e) {
|
||||
const data = JSON.parse(e.data);
|
||||
|
||||
if (data.event_type === 'update_statuses_time') {
|
||||
const activityDiv = document.getElementById('activitiesContainer');
|
||||
activityDiv.innerHTML = data.html;
|
||||
|
||||
// Update user activity containers based on online status
|
||||
const onlineUsersIds = data.online_users_ids || [];
|
||||
const userActivityContainers = document.querySelectorAll(".users-activities");
|
||||
|
||||
userActivityContainers.forEach(container => {
|
||||
const userId = container.getAttribute("data-userId");
|
||||
|
||||
if (onlineUsersIds.map(id => id.toString()).includes(userId)) {
|
||||
container.querySelector("#connected").classList.remove("hidden");
|
||||
container.querySelector("#not-connected").classList.add("hidden");
|
||||
} else {
|
||||
container.querySelector("#connected").classList.add("hidden");
|
||||
container.querySelector("#not-connected").classList.remove("hidden");
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
newStatusesTimeSocket.onclose = () => {
|
||||
console.log('WebSocket connection to new statuses time closed');
|
||||
};
|
||||
|
||||
newStatusesTimeSocket.onerror = (error) => {
|
||||
console.log('WebSocket error:', error);
|
||||
};
|
Binary file not shown.
Loading…
Reference in New Issue