Files
musicCalendar/script.js

110 lines
3.7 KiB
JavaScript

// --- 2. ZJIŠTĚNÍ DNEŠNÍHO DATA ---
// objekt s aktuálním časem
const datum = new Date();
// rok, měsíc a den podle LOKÁLNÍHO času počítače
const rok = datum.getFullYear();
// Leden je v JS 0, proto přičíst 1.
// .padStart(2, '0') zajistí, že před jednociferné číslo se dá nula (např. "05")
const mesic = String(datum.getMonth() + 1).padStart(2, '0');
const den = String(datum.getDate()).padStart(2, '0');
// formát "RRRR-MM-DD"
const dnes = `${rok}-${mesic}-${den}`;
// výpis do konzole
// console.log("Opravené datum (lokální):", dnes);
// Pro testování:
// const dnes = "2025-12-24";
console.log("Dnes je:", dnes);
// --- 3. HLEDÁNÍ V SEZNAMU ---
// Funkce .find() projde pole 'kalendarAlb' a hledá shodu data
const dnesniAlbum = kalendarAlb.find(album => album.datum === dnes);
// --- 4. ZOBRAZENÍ NA STRÁNCE ---
const vystup = document.getElementById('zobrazeni-alba');
if (dnesniAlbum) {
// Dnešní album
vystup.innerHTML = `
<div class="album-card">
<div class="datum">🗓️ ${dnesniAlbum.datum}</div>
<img src="${dnesniAlbum.img}" alt="Obal alba">
<h2>${dnesniAlbum.umelec} - ${dnesniAlbum.nazev}</h2>
<p><strong>Vyšlo</strong> ${dnesniAlbum.vydano}</p>
<p>${dnesniAlbum.recenze}</p>
<a href="${dnesniAlbum.tidal}" target="_blank" class="btn tidal">Tidal</a> - <a href="${dnesniAlbum.spotify}" target="_blank" class="btn spotify">Spotify</a>
</div>
`;
} else {
// Alert bez alba
vystup.innerHTML = `
<div class="album-card">
<h3>Dnes není v plánu žádné album 🎵</h3>
<p>Zkus se podívat zítra!</p>
</div>
`;
}
// --- 5. Photo Gallery -> section (zoom)
const img = document.querySelector(".zoom");
img.addEventListener("mouseenter", () => {
img.style.transform = "scale(4.2)";
});
img.addEventListener("mouseleave", () => {
img.style.transform = "scale(1)";
});
// --- 6. LOGIKA PRO ARCHIV (Předchozí alba) ---
const btnArchiv = document.getElementById('btn-archiv');
const divArchiv = document.getElementById('archiv-container');
btnArchiv.addEventListener('click', () => {
// A. Zkontrolujeme, jestli je archiv už otevřený
if (divArchiv.innerHTML !== "") {
divArchiv.innerHTML = ""; // Pokud ano, vymažeme ho (zavřeme)
btnArchiv.textContent = "📂 Zobrazit předchozí alba";
return; // Ukončíme funkci
}
// B. Vyfiltrujeme alba, která jsou starší než dnešek
// (Předpokládá, že proměnná 'dnes' a 'kalendarAlb' existují z předchozího kódu)
const minulaAlba = kalendarAlb.filter(album => album.datum < dnes);
// C. Seřadíme je, aby nahoře bylo to nejnovější z minulosti
minulaAlba.sort((a, b) => b.datum.localeCompare(a.datum));
// D. Pokud žádná minulá alba nejsou
if (minulaAlba.length === 0) {
divArchiv.innerHTML = "<p>Zatím tu žádná historie není. Přijď zítra! ⏳</p>";
return;
}
// E. Vykreslíme kartičky
let htmlObsah = "";
minulaAlba.forEach(album => {
htmlObsah += `
<div class="archiv-item">
<div class="datum">${album.datum}</div>
<img src="${album.img}" alt="${album.nazev}">
</a>
<h3>${album.umelec}</h3>
<div>${album.nazev}</div>
</div>
`;
});
divArchiv.innerHTML = htmlObsah;
btnArchiv.textContent = "❌ Zavřít archiv";
});