<script>
document.addEventListener("DOMContentLoaded", function() {
(function () {
const schedule = {
"uc-time-block-1": ["07:00", "12:00"],
"uc-time-block-2": ["12:00", "19:00"],
"uc-time-block-3": ["19:00", "00:00"],
"uc-time-block-4": ["00:00", "07:00"]
};
const TIMEZONE_OFFSET = 3; // Москва (UTC+3)
function parseTime(timeStr) {
const [hours, minutes] = timeStr.split(":").map(Number);
return hours * 60 + minutes;
}
function getCurrentMinutes() {
const now = new Date();
const utc = now.getTime() + (now.getTimezoneOffset() * 60000);
const localTime = new Date(utc + (3600000 * TIMEZONE_OFFSET));
return localTime.getHours() * 60 + localTime.getMinutes();
}
function isTimeInRange(currentMinutes, startStr, endStr) {
let startMinutes = parseTime(startStr);
let endMinutes = parseTime(endStr);
if (endMinutes === 0) {
endMinutes = 24 * 60;
}
if (startMinutes <= endMinutes) {
return currentMinutes >= startMinutes && currentMinutes < endMinutes;
} else {
return currentMinutes >= startMinutes || currentMinutes < endMinutes;
}
}
function hideAllBlocks() {
document.querySelectorAll('div[class*="uc-time-block"]').forEach(block => {
block.classList.add('hide-time');
});
}
function showBlock(blockClass) {
const blocks = document.querySelectorAll(`div[class*="${blockClass}"]`);
blocks.forEach(block => {
block.classList.remove('hide-time');
});
}
function checkSchedule() {
const currentMinutes = getCurrentMinutes();
let activeBlock = null;
for (const [blockClass, [startTime, endTime]] of Object.entries(schedule)) {
if (isTimeInRange(currentMinutes, startTime, endTime)) {
activeBlock = blockClass;
break;
}
}
hideAllBlocks();
if (activeBlock) {
showBlock(activeBlock);
}
}
checkSchedule();
setInterval(checkSchedule, 10000);
})();
});
</script>
<style>
div[class*="uc-time-block"].hide-time {
opacity: 0;
pointer-events: none;
height: 0;
padding: 0 !important;
overflow: hidden;
}
</style>