document.addEventListener('DOMContentLoaded', function() { const jsonUrl = 'https://datorhjalp.se/openstatus/json'; // Ange rätt URL till ditt skript const color = "yellow"; // Standardfärgen är gul fetchAndDisplayOpenTimes(jsonUrl, color); }); function fetchAndDisplayOpenTimes(jsonUrl, highlightColor) { fetch(jsonUrl) .then(response => response.json()) .then(data => createTable(data, highlightColor)) .catch(error => { console.error('Det gick inte att hämta öppettider:', error); const container = document.getElementById('openTimesTableContainer'); container.innerHTML = '
Fel vid laddning av öppettider.
'; container.style.textAlign = 'center'; }); } function createTable(data, highlightColor) { const container = document.getElementById('openTimesTableContainer'); const table = document.createElement('table'); table.style.borderCollapse = 'collapse'; table.style.border = '1px solid black'; table.style.marginTop = '20px'; const thead = document.createElement('thead'); const tbody = document.createElement('tbody'); container.innerHTML = ''; // Rensa tidigare tabell om någon finns // Skapa tabellhuvud const headRow = document.createElement('tr'); ['Veckodag', 'Öppnar', 'Stänger'].forEach(text => { const th = document.createElement('th'); th.textContent = text; th.style.border = '1px solid black'; th.style.padding = '8px'; th.style.textAlign = 'left'; headRow.appendChild(th); }); thead.appendChild(headRow); table.appendChild(thead); // Skapa tabellkropp const veckodagar = ["Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"]; const dagensIndex = (new Date().getDay() + 6) % 7; // Justerar så att Söndag blir 6, Måndag blir 0, osv. data.forEach((item, index) => { const row = document.createElement('tr'); if (index === dagensIndex) { // Markera aktuell veckodag row.style.backgroundColor = highlightColor; if (highlightColor === 'black') { // Ändra textfärgen till vit om bakgrundsfärgen är svart row.style.color = 'white'; } } const dayCell = document.createElement('td'); const openCell = document.createElement('td'); const closeCell = document.createElement('td'); dayCell.textContent = veckodagar[item.DayNo]; dayCell.style.border = '0px solid black'; dayCell.style.padding = '8px'; if (item.OpenTime == 0 && item.CloseTime == 0) { openCell.textContent = 'Stängt'; closeCell.textContent = ''; // Inget behov att visa stängningstiden om det är stängt } else { openCell.textContent = item.OpenTime + ":00"; closeCell.textContent = item.CloseTime + ":00"; } openCell.style.border = '1px solid black'; openCell.style.padding = '8px'; closeCell.style.border = '1px solid black'; closeCell.style.padding = '8px'; row.appendChild(dayCell); row.appendChild(openCell); row.appendChild(closeCell); tbody.appendChild(row); }); table.appendChild(tbody); // Lägg till tabellen i container container.appendChild(table); }