diff --git a/public/js/detay.js b/public/js/detay.js new file mode 100644 index 0000000..1078b13 --- /dev/null +++ b/public/js/detay.js @@ -0,0 +1,104 @@ +// İlan detay + satıcıya mesaj +ustbariCiz(); + +const params = new URLSearchParams(location.search); +const ilanId = params.get('id'); + +function degisken(m) { + const d = document.createElement('div'); + d.textContent = m == null ? '' : String(m); + return d.innerHTML; +} + +// Favori durumunu localStorage'dan oku +function favoriDurum() { + try { + const f = JSON.parse(localStorage.getItem('numex_favori') || '[]'); + return f.includes(Number(ilanId)); + } catch { + return false; + } +} + +function favoriDegistir() { + try { + let f = JSON.parse(localStorage.getItem('numex_favori') || '[]'); + const varMi = f.includes(Number(ilanId)); + f = varMi ? f.filter((x) => x !== Number(ilanId)) : [...f, Number(ilanId)]; + localStorage.setItem('numex_favori', JSON.stringify(f)); + document.getElementById('favori-bt').textContent = varMi ? '🤍 Favorilere Ekle' : '❤️ Favoriden Çıkar'; + document.getElementById('favori-bt').classList.toggle('btn-dolu', !varMi); + } catch {} +} + +async function yukle() { + const ilan = await API.ilan(ilanId); + const con = document.getElementById('icerek'); + if (!ilan) { + con.innerHTML = `
`; + return; + } + + document.title = `${ilan.baslik} — Numex İlan`; + const favori = favoriDurum(); + + // Özellik tablosu satırları + const ozellikSatirlari = Object.entries(ilan.ozellikler || {}) + .map(([k, v]) => `| Genel ilan | — |
${degisken(ilan.aciklama)}
+