anasayfaya takvim ekleme deneme.

This commit is contained in:
2026-07-28 03:05:11 +02:00
parent 1561da3ad1
commit 465e39c4d3
4 changed files with 103 additions and 70 deletions
+49 -36
View File
@@ -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() {
<div>
<h1 class="font-bold text-white mb-6 text-xl">Dashboard OS</h1>
<nav class="space-y-2">
<button id="navDesktop" class="w-full flex items-center gap-3 px-4 py-3 rounded-xl font-medium ${activeTab === 'desktop' ? 'bg-white/10 text-white' : 'text-slate-400 hover:text-white'}">🏠 Masaüstü</button>
<button id="navSettings" class="w-full flex items-center gap-3 px-4 py-3 rounded-xl font-medium ${activeTab === 'settings' ? 'bg-white/10 text-white' : 'text-slate-400 hover:text-white'}">⚙️ Ayarlar</button>
<button id="navDesktop" class="w-full flex items-center gap-3 px-4 py-3 rounded-xl font-medium ${activeTab === "desktop" ? "bg-white/10 text-white" : "text-slate-400 hover:text-white"}">🏠 Masaüstü</button>
<button id="navSettings" class="w-full flex items-center gap-3 px-4 py-3 rounded-xl font-medium ${activeTab === "settings" ? "bg-white/10 text-white" : "text-slate-400 hover:text-white"}">⚙️ Ayarlar</button>
</nav>
</div>
<button id="logoutBtn" class="bg-rose-500/20 text-rose-300 py-2 rounded-xl border border-rose-500/30">🚪 Çıkış Yap</button>
@@ -51,15 +53,24 @@ async function render() {
${currentPage.html}
</main>
</div>
`
`;
// 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() {
</form>
</div>
</div>
`
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()
render();