You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

66 lines
1.9 KiB

// web socket for lot detail page
document.addEventListener('DOMContentLoaded', function (event) {
console.log('lot socket init');
let location = window.location;
let wsStart = 'ws://';
if (location.protocol === 'https:') {
wsStart = 'wss://';
}
var currentLotUrl = location.href;
var urlParts = currentLotUrl.split('/');
var lotSlug = urlParts[urlParts.length - 2];
console.log(lotSlug);
const urlLot = wsStart + location.host + `/ws/lots/` + lotSlug + '/';
const requestUser = JSON.parse(
document.getElementById('request-user').textContent
);
const lotSocket = new WebSocket(urlLot);
lotSocket.onopen = function (e) {
console.log('WebSocket connection established:', e);
};
lotSocket.onmessage = function (e) {
console.log('Message received from server:', e.data);
const bidData = JSON.parse(e.data);
console.log(bidData);
const latestBids = bidData.latest_bids;
updateBids(latestBids);
};
lotSocket.onerror = function (error) {
console.error('WebSocket error:', error);
};
lotSocket.onclose = function (event) {
console.error('WebSocket connection closed unexpectedly:', event);
};
});
// image thumnail for lot detail page
let thumbnails = document.getElementsByClassName('thumbnail');
let activeImages = document.getElementsByClassName('active');
for (var i = 0; i < thumbnails.length; i++) {
thumbnails[i].addEventListener('mouseover', function () {
if (activeImages.length > 0) {
activeImages[0].classList.remove('active');
}
this.classList.add('active');
document.getElementById('featured').src = this.src;
});
}
let buttonRight = document.getElementById('slideRight');
let buttonLeft = document.getElementById('slideLeft');
buttonLeft.addEventListener('click', function () {
document.getElementById('slider').scrollLeft -= 160;
});
buttonRight.addEventListener('click', function () {
document.getElementById('slider').scrollLeft += 160;
});