// Ana sayfa: kategoriler + öne çıkan ilanlar
ustbariCiz();
async function yukle() {
const [kategoriler, ilanlar] = await Promise.all([API.kategoriler(), API.ilanlar()]);
domBosalt('kategoriler');
domBosalt('ilanlar');
// Kategoriler
const kKat = document.getElementById('kategoriler');
kategoriler.forEach((k) => {
const kart = document.createElement('div');
kart.className = 'kategori-kart';
kart.innerHTML = `
${k.ikon}
${k.ad}
${(k.alt || []).join(' · ')}
`;
kart.addEventListener('click', () => (location.href = `katalog.html?kategori=${k.id}`));
kKat.appendChild(kart);
});
// İlanlar
const kIlan = document.getElementById('ilanlar');
const bosEl = document.getElementById('bos');
if (!ilanlar.length) {
bosEl.style.display = 'block';
return;
}
ilanlar.forEach((i) => kIlan.appendChild(ilanKarti(i)));
}
function ilanKarti(i) {
const kart = document.createElement('a');
kart.className = 'ilan-kart';
kart.href = `ilan-detay.html?id=${i.id}`;
const gorsel = i.gorsel
? `
`
: `🖼️
`;
kart.innerHTML = `
${gorsel}
${i.kategori || 'İlan'}
${degisken(i.baslik)}
${fiyatOzet(i.fiyat)}
📍 ${i.il}${i.ilce ? ', ' + i.ilce : ''} · ${i.tarih || ''}
`;
return kart;
}
// güvenli metin çıkışı
function degisken(m) {
const d = document.createElement('div');
d.textContent = m == null ? '' : String(m);
return d.innerHTML;
}
function domBosalt(id) {
const el = document.getElementById(id);
if (el) el.innerHTML = '';
}
// footer'daki "verileri sıfırla" — localStorage favorileri temizler
document.addEventListener('click', (e) => {
if (e.target.matches('[data-sifirla]')) {
localStorage.removeItem('numex_favori');
alert('Favorileriniz temizlendi.');
}
});
yukle();