PocketBase veri kaydı ve adres düzeltmeleri tamamlandı
This commit is contained in:
27
admin.js
27
admin.js
@@ -1,7 +1,6 @@
|
|||||||
import PocketBase from 'https://cdnjs.cloudflare.com/ajax/libs/pocketbase/0.21.1/pocketbase.es.mjs';
|
import PocketBase from 'https://cdnjs.cloudflare.com/ajax/libs/pocketbase/0.21.1/pocketbase.es.mjs';
|
||||||
|
|
||||||
// 1. PocketBase Bağlantısı
|
// 1. PocketBase Bağlantısı - Güncellendi
|
||||||
// Tarayıcıdaki PocketBase panel adresinle (db. veya pocketbase.) birebir aynı olmalıdır.
|
|
||||||
const pb = new PocketBase('https://db.batuhanerkek.com');
|
const pb = new PocketBase('https://db.batuhanerkek.com');
|
||||||
|
|
||||||
const loginCard = document.getElementById("login-card");
|
const loginCard = document.getElementById("login-card");
|
||||||
@@ -15,7 +14,6 @@ const tagsList = document.getElementById("tags-list");
|
|||||||
|
|
||||||
let currentTags = [];
|
let currentTags = [];
|
||||||
|
|
||||||
// Panel Görünümünü Ayarla
|
|
||||||
function setAuthState(isLoggedIn) {
|
function setAuthState(isLoggedIn) {
|
||||||
if (isLoggedIn) {
|
if (isLoggedIn) {
|
||||||
loginCard.classList.add("hidden");
|
loginCard.classList.add("hidden");
|
||||||
@@ -27,12 +25,11 @@ function setAuthState(isLoggedIn) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. Giriş Yapma (PocketBase Auth)
|
// 2. Giriş Yapma
|
||||||
loginForm.addEventListener("submit", async (event) => {
|
loginForm.addEventListener("submit", async (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const formData = new FormData(loginForm);
|
const formData = new FormData(loginForm);
|
||||||
try {
|
try {
|
||||||
// PocketBase 'users' koleksiyonu üzerinden giriş yapar
|
|
||||||
await pb.collection('users').authWithPassword(
|
await pb.collection('users').authWithPassword(
|
||||||
formData.get("email"),
|
formData.get("email"),
|
||||||
formData.get("password")
|
formData.get("password")
|
||||||
@@ -50,15 +47,14 @@ logoutBtn.addEventListener("click", () => {
|
|||||||
setAuthState(false);
|
setAuthState(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 4. Yeni Yazı Kaydetme
|
// 4. Yeni Yazı Kaydetme - JSON.stringify kaldırıldı
|
||||||
blogForm.addEventListener("submit", async (event) => {
|
blogForm.addEventListener("submit", async (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
const formData = new FormData(blogForm);
|
const formData = new FormData(blogForm);
|
||||||
|
|
||||||
// PocketBase 'posts' koleksiyonundaki alan isimleriyle birebir aynı olmalıdır
|
|
||||||
const newPost = {
|
const newPost = {
|
||||||
title: formData.get("title").trim(),
|
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(),
|
summary: formData.get("summary").trim(),
|
||||||
content: formData.get("content").trim(),
|
content: formData.get("content").trim(),
|
||||||
date: formData.get("date"),
|
date: formData.get("date"),
|
||||||
@@ -81,7 +77,7 @@ blogForm.addEventListener("submit", async (event) => {
|
|||||||
async function loadPosts() {
|
async function loadPosts() {
|
||||||
try {
|
try {
|
||||||
const records = await pb.collection('posts').getFullList({
|
const records = await pb.collection('posts').getFullList({
|
||||||
sort: '-created', // En yeni yazıyı en üstte gösterir
|
sort: '-created',
|
||||||
});
|
});
|
||||||
|
|
||||||
postsList.innerHTML = records.map(post => `
|
postsList.innerHTML = records.map(post => `
|
||||||
@@ -95,7 +91,6 @@ async function loadPosts() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Yazı Silme Fonksiyonu
|
|
||||||
window.deletePost = async (id) => {
|
window.deletePost = async (id) => {
|
||||||
if (confirm("Bu yazıyı silmek istediğinize emin misiniz?")) {
|
if (confirm("Bu yazıyı silmek istediğinize emin misiniz?")) {
|
||||||
try {
|
try {
|
||||||
@@ -119,7 +114,6 @@ window.removeTag = (index) => {
|
|||||||
renderTags();
|
renderTags();
|
||||||
};
|
};
|
||||||
|
|
||||||
// Enter ile etiket ekleme
|
|
||||||
tagsInput.addEventListener("keydown", (event) => {
|
tagsInput.addEventListener("keydown", (event) => {
|
||||||
if (event.key === "Enter") {
|
if (event.key === "Enter") {
|
||||||
event.preventDefault();
|
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) {
|
if (pb.authStore.isValid) {
|
||||||
setAuthState(true);
|
setAuthState(true);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user