ilerleme çubukları düzeltildi.
This commit is contained in:
+35
-23
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user