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 = `
😕

İlan bulunamadı

← Anasayfaya dön

`; + return; + } + + document.title = `${ilan.baslik} — Numex İlan`; + const favori = favoriDurum(); + + // Özellik tablosu satırları + const ozellikSatirlari = Object.entries(ilan.ozellikler || {}) + .map(([k, v]) => `${degisken(k)}${degisken(v)}`) + .join(''); + + const gorsel = ilan.gorsel + ? `${degisken(ilan.baslik)}` + : `
🖼️
`; + + con.innerHTML = ` + ← Kataloğa dön +
+
+ ${gorsel} +
+
${degisken(ilan.kategori)}
+

${degisken(ilan.baslik)}

+
${paraSayi(ilan.fiyat)}
+
📍 ${degisken(ilan.il)}${ilan.ilce ? ', ' + degisken(ilan.ilce) : ''} · İlan tarihi: ${degisken(ilan.tarih)}
+ ${ozellikSatirlari || ''}
Genel ilan
+

Açıklama

+

${degisken(ilan.aciklama)}

+
+
+ +
+ +
+
👤 ${degisken(ilan.sahip)}
+
+ 📞 Telefon + ${degisken(ilan.telefon)} +
+
+ + +
+
+
+
+
+ `; + + document.getElementById('favori-bt').addEventListener('click', favoriDegistir); + document.getElementById('mesaj-gonder').addEventListener('click', async () => { + const mesaj = document.getElementById('mesaj-metni').value.trim(); + const fb = document.getElementById('fb-kutu'); + if (!mesaj) { + fb.innerHTML = `
Lütfen mesajını yaz.
`; + return; + } + await API.mesajGonder({ ilanId, gonderen: 'Ziyaretçi', mesaj }); + fb.innerHTML = `
✅ Mesajın iletildi. ${degisken(ilan.sahip)} en kısa sürede sana ulaşacak.
`; + document.getElementById('mesaj-metni').value = ''; + }); +} + +yukle();