change display visual size

This commit is contained in:
Flatlogic Bot 2026-04-05 17:03:16 +00:00
parent 96cb9fac92
commit 3f19ee09cb

View File

@ -57,7 +57,7 @@ qh_page_start(
<?php if ($logoUrl = qh_hospital_logo_url()): ?>
<img src="<?= qh_h($logoUrl) ?>" alt="<?= qh_h(qh_hospital_name()) ?>" style="height: 50px;">
<?php else: ?>
<div class="bg-primary text-white rounded d-flex align-items-center justify-content-center fs-4 fw-bold" style="width: 50px; height: 50px;">
<div class="bg-primary text-white rounded d-flex align-items-center justify-content-center fs-6 fw-bold" style="width: 50px; height: 50px;">
<?= qh_h(qh_hospital_brand_initials()) ?>
</div>
<?php endif; ?>
@ -69,7 +69,7 @@ qh_page_start(
</div>
</div>
<div class="d-flex align-items-center gap-3">
<div class="fs-5 fw-bold text-dark js-live-clock"><?= qh_h(date('H:i')) ?></div>
<div class="fs-6 fw-bold text-dark js-live-clock"><?= qh_h(date('H:i')) ?></div>
<button type="button" class="btn btn-outline-secondary btn-sm shadow-sm me-2 d-flex align-items-center gap-1 js-audio-toggle" id="globalAudioToggle" title="<?= qh_h(qh_t('Toggle Audio', 'تبديل الصوت')) ?>">
<i class="bi bi-megaphone"></i> <span class="d-none d-sm-inline"><?= qh_h(qh_t('Sound', 'الصوت')) ?></span>
</button>
@ -79,15 +79,15 @@ qh_page_start(
<?php $pb = !empty($activeNews) ? "padding-bottom: 4rem !important;" : "padding-bottom: 1.5rem !important;"; ?>
<div class="row g-4 m-0 mt-2 px-3 px-lg-4 pt-0 flex-grow-1" style="<?= $pb ?>">
<div class="col-xl-8 col-lg-7 d-flex flex-column gap-4" id="queueSections">
<div class="col-xl-8 col-lg-7 d-flex flex-column gap-1" id="queueSections">
<div class="card shadow-sm border-0 flex-grow-1">
<div class="card-header bg-white border-bottom py-2 d-flex justify-content-between align-items-center">
<div>
<h2 class="h4 mb-0 text-gray-800 fw-bold"><?= qh_h(qh_t('Now Serving', 'يتم الآن النداء')) ?></h2>
<h3 class="h5 mb-0 text-gray-800 fw-bold"><?= qh_h(qh_t('Now Serving', 'يتم الآن النداء')) ?></h3>
</div>
</div>
<div class="card-body p-4 bg-light">
<div class="card-body p-1 bg-light">
<?php if ($activeCalls): ?>
<div class="row g-3 row-cols-2 row-cols-lg-5">
<?php foreach ($activeCalls as $ticket): $speech = qh_call_message($ticket);
@ -96,8 +96,8 @@ qh_page_start(
?>
<div class="col">
<div class="card border-0 shadow-sm h-100 announcement-card <?= $blinkClass ?>" data-announcement-key="<?= qh_h((string) $ticket['id']) ?>-<?= qh_h((string) strtotime((string) $ticket['called_at'])) ?>" data-announcement-en="<?= qh_h($speech['speech_en'] ?? $speech['en']) ?>" data-announcement-ar="<?= qh_h($speech['speech_ar'] ?? $speech['ar']) ?>">
<div class="card-body w-100 text-center p-2 d-flex flex-column align-items-center justify-content-center">
<div class="fs-2 fw-bold text-primary mb-1"><?= qh_h($ticket['ticket_number']) ?></div>
<div class="card-body w-100 text-center p-1 d-flex flex-column align-items-center justify-content-center">
<div class="fs-3 fw-bold text-primary mb-1"><?= qh_h($ticket['ticket_number']) ?></div>
<div class="small text-muted mb-1 text-truncate w-100" title="<?= qh_h(qh_name($ticket, 'doctor_name', qh_t('Doctor', 'الطبيب'))) ?>"><?= qh_h(qh_name($ticket, 'doctor_name', qh_t('Doctor', 'الطبيب'))) ?></div>
<div class="bg-primary text-white rounded px-2 py-1 small fw-bold mt-1 mb-2">
<?= qh_h(qh_t('Room', 'غرفة')) ?> <?= qh_h($ticket['doctor_room'] ?? '--') ?>
@ -114,7 +114,7 @@ qh_page_start(
<div class="d-flex align-items-center justify-content-center h-100 min-vh-50 text-muted">
<div class="text-center">
<i class="bi bi-display display-1 mb-3 opacity-50"></i>
<h2><?= qh_h(qh_t('No active calls right now.', 'لا توجد نداءات نشطة حالياً.')) ?></h2>
<h3><?= qh_h(qh_t('No active calls right now.', 'لا توجد نداءات نشطة حالياً.')) ?></h3>
<p class="lead opacity-75"><?= qh_h(qh_t('Please wait for your ticket number.', 'يرجى الانتظار حتى يتم نداء رقم تذكرتك.')) ?></p>
</div>
</div>
@ -124,14 +124,14 @@ qh_page_start(
<div class="card shadow-sm border-0">
<div class="card-header bg-white border-bottom py-2">
<h5 class="mb-0 font-weight-bold text-dark"><?= qh_h(qh_t('Queue by Clinic', 'الإنتظار حسب العيادة')) ?></h5>
<h6 class="mb-0 font-weight-bold text-dark"><?= qh_h(qh_t('Queue by Clinic', 'الإنتظار حسب العيادة')) ?></h5>
</div>
<div class="card-body p-4 bg-light">
<div class="card-body p-1 bg-light">
<div class="row g-3 row-cols-2 row-cols-lg-5">
<?php foreach ($queueOverview as $row): ?>
<div class="col">
<div class="card border-0 shadow-sm h-100">
<div class="card-body p-2 d-flex flex-column justify-content-center">
<div class="card-body p-1 d-flex flex-column justify-content-center">
<h6 class="fw-bold text-primary text-center mb-2 text-truncate" title="<?= qh_h(qh_name($row)) ?>"><?= qh_h(qh_name($row)) ?></h6>
<?php if ((int) ($row['requires_vitals'] ?? 0) === 1): ?>
<div class="d-flex justify-content-between align-items-center mb-2">
@ -212,7 +212,7 @@ qh_page_start(
prompt.style.boxShadow = '0 10px 25px rgba(0,0,0,0.5)';
const msg = "<?= qh_h(qh_t('Sound blocked by TV/Browser. Click here or press OK on remote to enable.', 'تم حظر الصوت بواسطة المتصفح/التلفاز. انقر هنا أو اضغط OK في الريموت للتفعيل.')) ?>";
prompt.innerHTML = '<i class="bi bi-volume-mute-fill fs-3"></i> <span class="fs-5 fw-bold">' + msg + '</span>';
prompt.innerHTML = '<i class="bi bi-volume-mute-fill fs-3"></i> <span class="fs-6 fw-bold">' + msg + '</span>';
const enableSound = function(ev) {
if (ev && ev.type === 'keydown' && ev.key !== 'Enter' && ev.key !== ' ') return;
@ -265,22 +265,22 @@ qh_page_start(
<h5 class="mb-0 font-weight-bold text-white"><i class="bi bi-info-circle me-2"></i><?= qh_h(qh_t('Information', 'معلومات')) ?></h5>
<span class="badge bg-white text-primary rounded-pill small"><?= qh_h(qh_t('Notices', 'تنبيهات')) ?></span>
</div>
<div class="card-body p-4 d-flex flex-column gap-4">
<div class="border border-light border-opacity-25 rounded p-4 bg-white bg-opacity-10">
<div class="card-body p-1 d-flex flex-column gap-1">
<div class="border border-light border-opacity-25 rounded p-1 bg-white bg-opacity-10">
<div class="badge bg-light text-primary mb-2 px-2 py-1"><?= qh_h(qh_t('Service', 'خدمة')) ?></div>
<h4 class="text-white fw-bold"><?= qh_h(qh_t('Lab packages & checks', 'باقات المختبر والفحوصات')) ?></h4>
<h5 class="text-white fw-bold"><?= qh_h(qh_t('Lab packages & checks', 'باقات المختبر والفحوصات')) ?></h5>
<p class="mb-0 text-white text-opacity-75"><?= qh_h(qh_t('Ask reception about bundled blood tests, diabetes follow-up, and annual screenings.', 'اسأل الاستقبال عن باقات تحاليل الدم، ومتابعة السكري، والفحوصات السنوية.')) ?></p>
</div>
<div class="border border-light border-opacity-25 rounded p-4 bg-white bg-opacity-10">
<div class="border border-light border-opacity-25 rounded p-1 bg-white bg-opacity-10">
<div class="badge bg-light text-primary mb-2 px-2 py-1"><?= qh_h(qh_t('Reminder', 'تذكير')) ?></div>
<h4 class="text-white fw-bold"><?= qh_h(qh_t('Keep your ticket visible', 'احتفظ بتذكرتك ظاهرة')) ?></h4>
<h5 class="text-white fw-bold"><?= qh_h(qh_t('Keep your ticket visible', 'احتفظ بتذكرتك ظاهرة')) ?></h5>
<p class="mb-0 text-white text-opacity-75"><?= qh_h(qh_t('We announce ticket numbers on this screen and by voice. Stay near your department area.', 'نعلن أرقام التذاكر على هذه الشاشة وبالصوت. يرجى البقاء قرب منطقة القسم الخاص بك.')) ?></p>
</div>
<div class="border border-light border-opacity-25 rounded p-4 bg-white bg-opacity-10">
<div class="border border-light border-opacity-25 rounded p-1 bg-white bg-opacity-10">
<div class="badge bg-light text-primary mb-2 px-2 py-1"><?= qh_h(qh_t('Wayfinding', 'الإرشاد')) ?></div>
<h4 class="text-white fw-bold"><?= qh_h(qh_t('Pharmacy & billing', 'الصيدلية والمحاسبة')) ?></h4>
<h5 class="text-white fw-bold"><?= qh_h(qh_t('Pharmacy & billing', 'الصيدلية والمحاسبة')) ?></h5>
<p class="mb-0 text-white text-opacity-75"><?= qh_h(qh_t('Completed visits can proceed to the pharmacy and billing desk near the main exit.', 'بعد انتهاء الزيارة يمكن التوجه إلى الصيدلية ومكتب المحاسبة قرب المخرج الرئيسي.')) ?></p>
</div>
</div>