diff --git a/src/counter.js b/src/counter.js index 12bf115..43dae7a 100755 --- a/src/counter.js +++ b/src/counter.js @@ -1,9 +1,9 @@ export function setupCounter(element) { - let counter = 0 + let counter = 0; const setCounter = (count) => { - counter = count - element.innerHTML = `Count is ${counter}` - } - element.addEventListener('click', () => setCounter(counter + 1)) - setCounter(0) + counter = count; + element.innerHTML = `Count is ${counter}`; + }; + element.addEventListener("click", () => setCounter(counter + 1)); + setCounter(0); } diff --git a/src/main.js b/src/main.js index 5882add..21f21c1 100755 --- a/src/main.js +++ b/src/main.js @@ -1,32 +1,34 @@ -import './style.css' -import PocketBase from 'pocketbase' -import { renderSettings } from './pages/settings.js' -import { renderDesktop } from './pages/desktop.js' +import "./style.css"; +import PocketBase from "pocketbase"; +import { renderSettings } from "./pages/settings.js"; +import { renderDesktop } from "./pages/desktop.js"; -const pb = new PocketBase('https://pocketbase.iontalp.com') -const app = document.getElementById('app') +const pb = new PocketBase("https://pocketbase.iontalp.com"); +const app = document.getElementById("app"); -let activeTab = 'desktop' +let activeTab = "desktop"; async function render() { - const user = pb.authStore.model + const user = pb.authStore.model; if (!user) { - renderLogin() - return + renderLogin(); + return; } - let currentBg = localStorage.getItem('selected_bg') || 'https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?q=80&w=1920' + let currentBg = + localStorage.getItem("selected_bg") || + "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?q=80&w=1920"; // Sayfayı Yükle - let currentPage - if (activeTab === 'settings') { + let currentPage; + if (activeTab === "settings") { currentPage = await renderSettings(pb, currentBg, (newBg) => { - localStorage.setItem('selected_bg', newBg) - render() - }) + localStorage.setItem("selected_bg", newBg); + render(); + }); } else { - currentPage = renderDesktop() + currentPage = renderDesktop(); } app.innerHTML = ` @@ -40,8 +42,8 @@ async function render() {

Dashboard OS

@@ -51,15 +53,24 @@ async function render() { ${currentPage.html} - ` + `; // Etkinlikleri bağla - const mainContent = document.getElementById('mainContent') - currentPage.initEvents(mainContent) + const mainContent = document.getElementById("mainContent"); + currentPage.initEvents(mainContent); - document.getElementById('navDesktop').addEventListener('click', () => { activeTab = 'desktop'; render() }) - document.getElementById('navSettings').addEventListener('click', () => { activeTab = 'settings'; render() }) - document.getElementById('logoutBtn').addEventListener('click', () => { pb.authStore.clear(); render() }) + document.getElementById("navDesktop").addEventListener("click", () => { + activeTab = "desktop"; + render(); + }); + document.getElementById("navSettings").addEventListener("click", () => { + activeTab = "settings"; + render(); + }); + document.getElementById("logoutBtn").addEventListener("click", () => { + pb.authStore.clear(); + render(); + }); } function renderLogin() { @@ -74,19 +85,21 @@ function renderLogin() { - ` - document.getElementById('loginForm').addEventListener('submit', async (e) => { - e.preventDefault() + `; + document.getElementById("loginForm").addEventListener("submit", async (e) => { + e.preventDefault(); try { - await pb.collection('users').authWithPassword( - document.getElementById('identity').value, - document.getElementById('password').value - ) - render() + await pb + .collection("users") + .authWithPassword( + document.getElementById("identity").value, + document.getElementById("password").value, + ); + render(); } catch { - alert('Giriş başarısız!') + alert("Giriş başarısız!"); } - }) + }); } -render() \ No newline at end of file +render(); diff --git a/src/pages/desktop.js b/src/pages/desktop.js index 2b03409..94ab855 100644 --- a/src/pages/desktop.js +++ b/src/pages/desktop.js @@ -12,7 +12,19 @@ export function renderDesktop() { Modüler mimariye geçtik! Arka planı değiştirmek için sol menüdeki Ayarlar sekmesine geçebilirsin.

- ` - return { html, initEvents: () => {} } -} \ No newline at end of file +
+
+
+ 🌙 +
+

Takvim

+
+

+ Modüler mimariye geçtik! Arka planı değiştirmek için sol menüdeki Ayarlar sekmesine geçebilirsin. +

+
+ `; + + return { html, initEvents: () => {} }; +} diff --git a/src/pages/settings.js b/src/pages/settings.js index 296c0aa..83f650f 100644 --- a/src/pages/settings.js +++ b/src/pages/settings.js @@ -1,15 +1,15 @@ export async function renderSettings(pb, currentBg, onBgSelect) { - let bgList = [] - + let bgList = []; + try { - const records = await pb.collection('backgrounds').getFullList() - bgList = records.map(item => ({ + const records = await pb.collection("backgrounds").getFullList(); + bgList = records.map((item) => ({ id: item.id, - title: item.title || 'Duvar Kağıdı', - url: `https://pocketbase.iontalp.com/api/files/${item.collectionId}/${item.id}/${item.image || item.file}` - })) + title: item.title || "Duvar Kağıdı", + url: `https://pocketbase.iontalp.com/api/files/${item.collectionId}/${item.id}/${item.image || item.file}`, + })); } catch (err) { - console.error('Görseller yüklenemedi:', err) + console.error("Görseller yüklenemedi:", err); } const html = ` @@ -20,35 +20,43 @@ export async function renderSettings(pb, currentBg, onBgSelect) {

Arka Plan Galerisi (${bgList.length})

- ${bgList.length === 0 ? ` + ${ + bgList.length === 0 + ? `
PocketBase 'backgrounds' koleksiyonunda henüz görsel bulunamadı.
- ` : ` + ` + : `
- ${bgList.map(bg => ` -
+ ${bgList + .map( + (bg) => ` +
${bg.title} -
+
${bg.title}
- `).join('')} + `, + ) + .join("")}
- `} + ` + }
- ` + `; return { html, initEvents: (container) => { - container.querySelectorAll('.bg-card').forEach(card => { - card.addEventListener('click', () => { - const selectedUrl = card.getAttribute('data-url') - onBgSelect(selectedUrl) - }) - }) - } - } -} \ No newline at end of file + container.querySelectorAll(".bg-card").forEach((card) => { + card.addEventListener("click", () => { + const selectedUrl = card.getAttribute("data-url"); + onBgSelect(selectedUrl); + }); + }); + }, + }; +}