add window guard

This commit is contained in:
2026-06-30 10:12:29 +07:00
parent e94a87cbd9
commit aaafa6ada9
13 changed files with 475 additions and 66 deletions

View File

@@ -1,5 +1,8 @@
import './style.css';
import './app.css';
import logoUrl from './assets/logo.jpeg';
const brandLogoHtml = `<img src="${logoUrl}" alt="Simple Care" class="brand-logo-img" />`;
// Trạng thái cục bộ
let loggedIn = false;
@@ -68,7 +71,7 @@ function renderLoginPrompt() {
<div class="login-prompt-container">
<div class="card">
<div class="login-brand-row">
<div class="login-logo">RE</div>
${brandLogoHtml}
<div class="login-brand-text">
<div class="login-brand-name">Simple Care</div>
<div class="login-brand-sub">Rikkei Education</div>
@@ -157,7 +160,7 @@ function renderDashboard() {
<div class="dashboard-wrapper">
<header class="header">
<div class="brand">
<div class="brand-logo">RE</div>
${brandLogoHtml}
<div class="brand-text">
<span class="brand-name">Simple Care</span>
<span class="brand-sub">Rikkei Education</span>
@@ -228,14 +231,14 @@ function renderDashboard() {
<div class="card-title-sub" id="session-date">${stats.sessionDate || ''}</div>
</div>
<div class="clock-display clock-display-summary">
<div class="clock-item">
<div class="clock-label">Tổng trực tuyến</div>
<div class="clock-value online" id="clock-online">00:00:00</div>
</div>
<div class="clock-item">
<div class="clock-label">Tổng ngoại tuyến</div>
<div class="clock-value offline" id="clock-offline">00:00:00</div>
</div>
<span class="clock-chip clock-chip--online">
<em>Trực tuyến</em>
<strong id="clock-online">00:00:00</strong>
</span>
<span class="clock-chip clock-chip--offline">
<em>Ngoại tuyến</em>
<strong id="clock-offline">00:00:00</strong>
</span>
</div>
<div class="shifts-wrap" id="shifts-wrap">
${renderShiftsTable(stats.shifts)}
@@ -265,7 +268,7 @@ function formatDuration(totalSeconds) {
}
function startStatsTicker() {
setInterval(async () => {
const pullStats = async () => {
if (!loggedIn) return;
try {
const freshStats = await window.go.main.App.GetStats();
@@ -330,7 +333,9 @@ function startStatsTicker() {
} catch (err) {
console.error('Error fetching stats:', err);
}
}, 1000);
};
pullStats();
setInterval(pullStats, 1000);
}
async function startWebcam() {