ilerleme çubukları düzeltildi.

This commit is contained in:
2026-07-31 05:15:58 +02:00
parent f5d3fa46db
commit 33b13f6afa
+35 -23
View File
@@ -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) {
<span id="desktopKazaPct" class="font-extrabold text-emerald-400">%0</span>
</div>
<div class="w-full h-3 bg-slate-900 rounded-full overflow-hidden border border-white/5 p-0.5">
<div id="desktopKazaBar" class="h-full bg-linear-to-r from-indigo-500 via-purple-500 to-emerald-400 rounded-full transition-all duration-700 ease-out w-[0%]"></div>
<div id="desktopKazaBar" class="h-full bg-linear-to-r from-indigo-500 via-purple-500 to-emerald-400 rounded-full transition-all duration-700 ease-out" style="width: 0%;"></div>
</div>
<p id="desktopKazaSub" class="text-[10px] text-slate-400 text-right">Yükleniyor...</p>
</div>
@@ -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) {