From 33b13f6afaf8ff95f17fcb5d59bde64477b50b38 Mon Sep 17 00:00:00 2001 From: iontalp Date: Fri, 31 Jul 2026 05:15:58 +0200 Subject: [PATCH] =?UTF-8?q?ilerleme=20=C3=A7ubuklar=C4=B1=20d=C3=BCzeltild?= =?UTF-8?q?i.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/desktop.js | 60 ++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 24 deletions(-) diff --git a/src/pages/desktop.js b/src/pages/desktop.js index adf6020..9c90b9b 100755 --- a/src/pages/desktop.js +++ b/src/pages/desktop.js @@ -1,4 +1,4 @@ -import { gregorianToHijri } from "../utils/hijri.js"; +import { gregorianToHijri, calculateMissedPrayers } from "../utils/hijri.js"; import { fetchWeather, getWeatherIcon, @@ -39,7 +39,7 @@ export function renderDesktop(selectedCity = "Edremit", pb) { %0
-
+

Yükleniyor...

@@ -112,12 +112,31 @@ function startClock(container) { setInterval(update, 1000); } +// Ana sayfadaki kaza ilerleme çubuğu hesabı async function loadDesktopKazaProgress(container, pb) { const user = pb.authStore.model; if (!user) return; - let initialTotal = 0; - let remainingDebtTotal = 0; + const birthDate = user.birthDate || user.birthdate; + const gender = user.gender || "male"; + + if (!birthDate) { + const subText = container.querySelector("#desktopKazaSub"); + if (subText) subText.textContent = "Doğum tarihi girilmedi"; + return; + } + + // İlk borç miktarını doğum tarihinden alıyoruz + const initialCalc = calculateMissedPrayers(birthDate, gender, 12); + const grandInitialTotal = + (initialCalc.fajr || 0) + + (initialCalc.dhuhr || 0) + + (initialCalc.asr || 0) + + (initialCalc.maghrib || 0) + + (initialCalc.isha || 0) + + (initialCalc.vitr || 0); + + let grandCurrentDebtTotal = grandInitialTotal; try { const record = await pb @@ -125,28 +144,20 @@ async function loadDesktopKazaProgress(container, pb) { .getFirstListItem(`user = "${user.id}"`); if (record) { - initialTotal = - (record.target_fajr || record.fajr || 0) + - (record.target_dhuhr || record.dhuhr || 0) + - (record.target_asr || record.asr || 0) + - (record.target_maghrib || record.maghrib || 0) + - (record.target_isha || record.isha || 0) + - (record.target_vitr || record.vitr || 0); - - remainingDebtTotal = - (record.fajr || 0) + - (record.dhuhr || 0) + - (record.asr || 0) + - (record.maghrib || 0) + - (record.isha || 0) + - (record.vitr || 0); + grandCurrentDebtTotal = + (record.fajr ?? initialCalc.fajr) + + (record.dhuhr ?? initialCalc.dhuhr) + + (record.asr ?? initialCalc.asr) + + (record.maghrib ?? initialCalc.maghrib) + + (record.isha ?? initialCalc.isha) + + (record.vitr ?? initialCalc.vitr); } } catch {} - const completed = Math.max(0, initialTotal - remainingDebtTotal); + const totalCompleted = Math.max(0, grandInitialTotal - grandCurrentDebtTotal); const pct = - initialTotal > 0 - ? Math.min(100, Math.round((completed / initialTotal) * 100)) + grandInitialTotal > 0 + ? Math.min(100, Math.max(0, Math.round((totalCompleted / grandInitialTotal) * 100))) : 0; const bar = container.querySelector("#desktopKazaBar"); @@ -155,7 +166,8 @@ async function loadDesktopKazaProgress(container, pb) { if (bar) bar.style.width = `${pct}%`; if (pctText) pctText.textContent = `%${pct}`; - if (subText) subText.textContent = `${remainingDebtTotal} kalan borç vakti`; + if (subText) + subText.textContent = `${grandCurrentDebtTotal} vakit kalan borç`; } async function loadWeather(container, selectedCity) { @@ -214,4 +226,4 @@ async function loadImsakiye(container, selectedCity) {
Yatsı: ${times.isha}
`; -} +} \ No newline at end of file