From 6d463228872cdc3472cf8767d0d64de923ed9d86 Mon Sep 17 00:00:00 2001 From: "M. Batuhan Erkek" Date: Fri, 30 Jan 2026 02:51:30 +0300 Subject: [PATCH] =?UTF-8?q?PocketBase=20veri=20kayd=C4=B1=20ve=20adres=20d?= =?UTF-8?q?=C3=BCzeltmeleri=20tamamland=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin.js | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/admin.js b/admin.js index 17f1fa3..c0221f6 100644 --- a/admin.js +++ b/admin.js @@ -1,7 +1,6 @@ import PocketBase from 'https://cdnjs.cloudflare.com/ajax/libs/pocketbase/0.21.1/pocketbase.es.mjs'; -// 1. PocketBase Bağlantısı -// Tarayıcıdaki PocketBase panel adresinle (db. veya pocketbase.) birebir aynı olmalıdır. +// 1. PocketBase Bağlantısı - Güncellendi const pb = new PocketBase('https://db.batuhanerkek.com'); const loginCard = document.getElementById("login-card"); @@ -15,7 +14,6 @@ const tagsList = document.getElementById("tags-list"); let currentTags = []; -// Panel Görünümünü Ayarla function setAuthState(isLoggedIn) { if (isLoggedIn) { loginCard.classList.add("hidden"); @@ -27,12 +25,11 @@ function setAuthState(isLoggedIn) { } } -// 2. Giriş Yapma (PocketBase Auth) +// 2. Giriş Yapma loginForm.addEventListener("submit", async (event) => { event.preventDefault(); const formData = new FormData(loginForm); try { - // PocketBase 'users' koleksiyonu üzerinden giriş yapar await pb.collection('users').authWithPassword( formData.get("email"), formData.get("password") @@ -50,15 +47,14 @@ logoutBtn.addEventListener("click", () => { setAuthState(false); }); -// 4. Yeni Yazı Kaydetme +// 4. Yeni Yazı Kaydetme - JSON.stringify kaldırıldı blogForm.addEventListener("submit", async (event) => { event.preventDefault(); const formData = new FormData(blogForm); - // PocketBase 'posts' koleksiyonundaki alan isimleriyle birebir aynı olmalıdır const newPost = { title: formData.get("title").trim(), - tags: JSON.stringify(currentTags), // PocketBase'de tags alanı JSON ise bu format uygundur + tags: currentTags, // PocketBase JSON alanı için saf dizi gönderiyoruz summary: formData.get("summary").trim(), content: formData.get("content").trim(), date: formData.get("date"), @@ -81,7 +77,7 @@ blogForm.addEventListener("submit", async (event) => { async function loadPosts() { try { const records = await pb.collection('posts').getFullList({ - sort: '-created', // En yeni yazıyı en üstte gösterir + sort: '-created', }); postsList.innerHTML = records.map(post => ` @@ -95,7 +91,6 @@ async function loadPosts() { } } -// Yazı Silme Fonksiyonu window.deletePost = async (id) => { if (confirm("Bu yazıyı silmek istediğinize emin misiniz?")) { try { @@ -119,7 +114,6 @@ window.removeTag = (index) => { renderTags(); }; -// Enter ile etiket ekleme tagsInput.addEventListener("keydown", (event) => { if (event.key === "Enter") { event.preventDefault(); @@ -132,17 +126,6 @@ tagsInput.addEventListener("keydown", (event) => { } }); -// Inputtan odak çıkınca da etiket ekleme (Hızlı kullanım için eklendi) -tagsInput.addEventListener("blur", () => { - const tag = tagsInput.value.trim(); - if (tag && !currentTags.includes(tag)) { - currentTags.push(tag); - renderTags(); - } - tagsInput.value = ""; -}); - -// Sayfa yüklendiğinde mevcut oturumu kontrol et if (pb.authStore.isValid) { setAuthState(true); } \ No newline at end of file