Databaze alb, změna stylu do tmavého, historie alb

This commit is contained in:
2025-12-22 22:10:16 +01:00
parent 770a361676
commit 1e6a38f6b0
5 changed files with 185 additions and 31 deletions

View File

@@ -1,31 +1,8 @@
// --- 1. MOJE "DATABÁZE" (Seznam alb) ---
// Tady si ručně dopíšeš alba a dny.
// Formát data musí být: "RRRR-MM-DD" (Rok-Měsíc-Den)
const kalendarAlb = [
{
datum: "2025-12-22", // Dnešní datum (příklad)
umelec: "🎤 Alice in Chains ",
nazev: "💿 Live ",
img: "https://resources.tidal.com/images/1cabaac7/b976/48ba/8fb3/0ce6808d48eb/1280x1280.jpg",
vydano: "5. 12. 2000",
recenze: "Proč dnes: Syrový živák, poslední oficiální nahrávka s Layne Staleym před jeho smrtí. Vydáno v prosinci, nese v sobě tu správnou grunge melancholii.",
tidal: "https://tidal.com/album/77610756",
spotify: "https://open.spotify.com/album/6okv1avxEgYSdc2JYy6ZEi"
},
{
datum: "2016-12-23", // Štědrý den
umelec: "Nine Inch Nails",
nazev: "💿 Not the Actual Events (EP)",
img: "https://resources.tidal.com/images/ee154499/d2ad/4d30/91a3/c87e83e71b12/1280x1280.jpg",
vydano: "",
recenze: "Trefa: Jedna z mála nahrávek, která vyšla přesně v tento den. Trent Reznor (který inspiroval celý nu-metal) vydal toto EP den před Štědrým dnem. Těžké, industriální, nekompromisní.",
tidal: "https://tidal.com/album/68529661",
spotify: "https://open.spotify.com/album/2fThnKRzs6iudIAzHP9VOa",
}
];
// --- 2. ZJIŠTĚNÍ DNEŠNÍHO DATA ---
// Získáme dnešní datum ve formátu RRRR-MM-DD
// Proměnná 'kalendarAlb' se načte z předchozího souboru.
const dnes = new Date().toISOString().split('T')[0];
// Pro testování si můžeš odkomentovat řádek níže a změnit datum ručně:
@@ -44,7 +21,7 @@
// Pokud jsme našli album pro dnešek:
vystup.innerHTML = `
<div class="album-card">
<div class="datum">${dnesniAlbum.datum}</div>
<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>
@@ -61,4 +38,62 @@
<p>Zkus se podívat zítra!</p>
</div>
`;
}
}
// 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)";
});
// --- 5. 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>
<a href="${album.tidal}" target="_blank">
<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";
});