mirror of
https://codeberg.org/Kankys/musicCalendar.git
synced 2026-01-01 08:12:53 +00:00
Databaze alb, změna stylu do tmavého, historie alb
This commit is contained in:
89
script.js
89
script.js
@@ -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";
|
||||
});
|
||||
Reference in New Issue
Block a user