From fa22f4d5fa4fe50deecd879d5230857f6f78dd4c Mon Sep 17 00:00:00 2001 From: numex-admin Date: Thu, 10 Sep 2026 09:22:43 +0000 Subject: [PATCH] =?UTF-8?q?Numex=20yay=C4=B1n:=20public/js/detay.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/js/detay.js | 104 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 public/js/detay.js 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();