_ogłoszenia 1






Darmowe Ogłoszenia Lokalne


Dodaj ogłoszenie

Aktualne ogłoszenia

document.getElementById('formData').value = `${dzien}.${miesiac}.${rok}, ${godzina}:${minuta}`; }

// Odświeżaj datę w formularzu co sekundę, żeby była zawsze aktualna przed wysłaniem UstawAktualnaDate(); setInterval(UstawAktualnaDate, 1000);

// Domyślny obrazek placeholder (szary kwadrat 50x50), jeśli użytkownik nie doda zdjęcia const defaultFoto = "data:image/svg+xml;utf8,BRAK";

// Obsługa bazy danych w localStorage let ogłoszenia = JSON.parse(localStorage.getItem('lokalneOgloszenia')) || [];

function WyswietlOgloszenia() { const kontener = document.getElementById('listaOgloszen'); kontener.innerHTML = '';

if (ogłoszenia.length === 0) { kontener.innerHTML = '

Brak ogłoszeń. Bądź pierwszy!

'; return; }

// Wyświetlanie od najnowszych do najstarszych [...ogłoszenia].reverse().forEach(ogl => { const item = document.createElement('div'); item.className = 'ogloszenie-item';

// Konstrukcja ostatecznego widoku (bez linków, czysty tekst i img) item.innerHTML = `

${ogl.data}
${ZabezpieczTekst(ogl.opis)}
Kontakt: ${ZabezpieczTekst(ogl.kontakt)}

`; kontener.appendChild(item); }); }

// Funkcja chroniąca przed wstrzykiwaniem złośliwego kodu (XSS) function ZabezpieczTekst(string) { const temp = document.createElement('div'); temp.textContent = string; return temp.innerHTML; }

// Obsługa wysyłania formularza document.getElementById('ogloszenieForm').addEventListener('submit', function(e) { e.preventDefault();

const kontakt = document.getElementById('formKontakt').value; const opis = document.getElementById('formOpis').value; const dataUrzedowa = document.getElementById('formData').value; const fotoInput = document.getElementById('formFoto'); const errorFoto = document.getElementById('errorFoto');

// Walidacja rozmiaru pliku (1 MB = 1048576 bajtów) if (fotoInput.files.length > 0 && fotoInput.files[0].size > 1048576) { errorFoto.style.display = 'block'; return; } else { errorFoto.style.display = 'none'; }

const noweOgloszenie = { data: dataUrzedowa, kontakt: kontakt, opis: opis, foto: defaultFoto };

// Jeśli dodano zdjęcie, konwertujemy je do Base64, żeby zapisać w localStorage if (fotoInput.files.length > 0) { const reader = new FileReader(); reader.onload = function(event) { noweOgloszenie.foto = event.target.result; ZapiszIDodaj(noweOgloszenie); }; reader.readAsDataURL(fotoInput.files[0]); } else { ZapiszIDodaj(noweOgloszenie); } });

function ZapiszIDodaj(ogloszenie) { ogłoszenia.push(ogloszenie); localStorage.setItem('lokalneOgloszenia', JSON.stringify(ogłoszenia));

// Reset formularza document.getElementById('ogloszenieForm').reset(); UstawAktualnaDate();

// Odświeżenie widoku WyswietlOgloszenia(); }

// Pierwsze uruchomienie strony - załaduj ogłoszenia WyswietlOgloszenia();