"use strict";
//---- dinh nghia
//-----
// du lieu danh sach san pham
const listproduct_mau = [
{
productId: 1,
product_name: "HHPC 3D i7 13700KF | 32G | RTX 2060 SUPER 8G | 256 bit | GDDR6",
image: "https://hoanghapccdn.com/media/product/250_3765_pc_anubius_pro_elite_360_v3_black_ha1.jpg",
price: 26390000,
starting_price: 2350000,
price_step: 300000,
from_time: 1703213170286,
to_time: 1703955600000,
status: 'started',
user_online: 200,
list_user: [
{
IdUser: 1,
userName: 'Mai phương',
price: 4500000,
time: 1703955600000
},
{
IdUser: 2,
userName: 'Quang đỗ',
price: 3600000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Thu Hương',
price: 3400000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Minh Ngọc',
price: 3400000,
time: 1703955600000
}
],
specifications: '
',
}, {
productId: 2,
product_name: "HHPC 3D LUMION i7 13700KF | 32G | NVIDIA RTX 3070 8G",
image: "https://hoanghapccdn.com/media/product/250_3762_pc_anubius_pro_elite_360_v3_black_ha3.jpg",
price: 29890000,
starting_price: 2250000,
price_step: 300000,
from_time: 1703213170286,
to_time: 1703869200000,
status: 'started',
user_online: 200,
list_user: [
{
IdUser: 1,
userName: 'Mai phương',
price: 4500000,
time: 1703955600000
},
{
IdUser: 2,
userName: 'Quang đỗ',
price: 3600000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Thu Hương',
price: 3400000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Minh Ngọc',
price: 3400000,
time: 1703955600000
}
],
specifications: '',
}, {
productId: 3,
product_name: "HHPC 3D i7 13700KF | 32G | NVIDIA RTX 3060 12G",
image: "https://hoanghapccdn.com/media/product/250_3761_pc_anubius_pro_elite_360_v3_black_ha3.jpg",
price: 27390000,
starting_price: 2550000,
price_step: 300000,
from_time: 1703523600000,
to_time: 1703955600000,
status: 'coming',
user_online: 0,
list_user: [],
specifications: '',
}, {
productId: 4,
product_name: "HHPC 3D LUMION i9 13900K | 64G DDR5 | NVIDIA RTX 4090 24GB",
image: "https://hoanghapccdn.com/media/product/250_3738_hhpc_case_gank_360_ha3.jpg",
price: 91390000,
starting_price: 81390000,
price_step: 300000,
from_time: 1703213170286,
to_time: 1703955600000,
status: 'started',
user_online: 200,
list_user: [
{
IdUser: 1,
userName: 'Mai phương',
price: 4500000,
time: 1703955600000
},
{
IdUser: 2,
userName: 'Quang đỗ',
price: 3600000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Thu Hương',
price: 3400000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Minh Ngọc',
price: 3400000,
time: 1703955600000
}
],
specifications: '',
}, {
productId: 5,
product_name: "HHPC BLACK RGB i9 12900K | 32G | NVIDIA RTX 3060 12G",
image: "https://hoanghapccdn.com/media/product/250_3668_pc_anubius_pro_elite_360_v3_rgb_ha3.jpg",
price: 27850000,
starting_price: 25850000,
price_step: 300000,
from_time: 1703213170286,
to_time: 1703955600000,
status: 'started',
user_online: 200,
list_user: [
{
IdUser: 1,
userName: 'Mai phương',
price: 4500000,
time: 1703955600000
},
{
IdUser: 2,
userName: 'Quang đỗ',
price: 3600000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Thu Hương',
price: 3400000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Minh Ngọc',
price: 3400000,
time: 1703955600000
}
],
specifications: '',
}, {
productId: 6,
product_name: "HHHPC 3D LUMION i9 13900K | 32G | NVIDIA RTX 3060 12GB",
image: "https://hoanghapccdn.com/media/product/250_3735_hhpc_anubis_pro_4fx_ram_black_ha3.jpg",
price: 32290000,
starting_price: 22290000,
price_step: 300000,
from_time: 1703213170286,
to_time: 1703955600000,
status: 'started',
user_online: 200,
list_user: [
{
IdUser: 1,
userName: 'Mai phương',
price: 4500000,
time: 1703955600000
},
{
IdUser: 2,
userName: 'Quang đỗ',
price: 3600000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Thu Hương',
price: 3400000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Minh Ngọc',
price: 3400000,
time: 1703955600000
}
],
specifications: '',
}, {
productId: 7,
product_name: "HHPC ADOBE i7 13700KF | 32G | RTX 2060 SUPER 8G | 256 bit | GDDR6",
image: "https://hoanghapccdn.com/media/product/250_3756_pc_anubius_pro_elite_360_v3_black_ha4.jpg",
price: 26390000,
starting_price: 16390000,
price_step: 300000,
from_time: 1703523600000,
to_time: 1703955600000,
status: 'coming',
user_online: 0,
list_user: [],
specifications: '',
}, {
productId: 8,
product_name: "Bàn phím cơ Gaming MSI Vigor GK50 Elite Black",
image: "https://hoanghapccdn.com/media/product/4807_msi_vigor_gk50_elite_black_ha1.jpg",
price: 1890000,
starting_price: 890000,
price_step: 300000,
from_time: 1703264400000,
to_time: 1703215914798,
status: 'ended',
user_online: 1000,
list_user: [
{
IdUser: 1,
userName: 'Mai phương',
price: 4500000,
time: 1703955600000
},
{
IdUser: 2,
userName: 'Quang đỗ',
price: 3600000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Thu Hương',
price: 3400000,
time: 1703955600000
},
{
IdUser: 3,
userName: 'Minh Ngọc',
price: 3400000,
time: 1703955600000
}
],
specifications: '',
},
];
function formatPrice(price) {
var b = price.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1.").toString();
var len = b.length;
b = b.substring(0, len - 3);
return b;
}
function countDown(iid, endTime) {
const updateCountdown = () => {
const now = Date.now();
const distance = endTime - now;
console.log(distance);
if (distance > 0) {
const [days, hours, minutes, seconds] = getTimeComponents(distance);
displayCountdown(iid, days, hours, minutes, seconds);
}
else {
clearInterval(timer);
}
};
// Initial update to avoid delay
updateCountdown();
const timer = setInterval(updateCountdown, 1000);
}
function getTimeComponents(distance) {
const days = Math.floor(distance / (1000 * 60 * 60 * 24));
const hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
const minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
const seconds = Math.floor((distance % (1000 * 60)) / 1000);
return [days, hours, minutes, seconds];
}
function displayCountdown(iid, days, hours, minutes, seconds) {
const element = document.querySelector(`.${iid}`);
if (element) {
if (days > 0) {
element.innerHTML = `
${formatTimeComponent(days)}
${formatTimeComponent(hours)}
${formatTimeComponent(minutes)}
${formatTimeComponent(seconds)}
`;
}
else {
console.log('aaaa');
element.innerHTML = `
${formatTimeComponent(hours)}
${formatTimeComponent(minutes)}
${formatTimeComponent(seconds)}
`;
}
}
}
function formatTimeComponent(component) {
return component <= 9 ? '0' + component : component.toString();
}
function formatTime(timestamp) {
const date = new Date(timestamp);
const formattedTime = date.toLocaleString('en-US', { day: 'numeric', month: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' });
return formattedTime;
}