curaflow/dashboard.html

181 lines
8.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CuraFlow Dashboard | Dr. Sharma's Clinic</title>
<link rel="stylesheet" href="index.css">
<link rel="stylesheet" href="dashboard.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@600;700&display=swap" rel="stylesheet">
</head>
<body class="dashboard-body">
<aside class="sidebar">
<div class="logo">
<span class="logo-icon">C</span>
<span class="logo-text">CuraFlow</span>
</div>
<nav class="side-nav">
<a href="dashboard.html" class="active"><span>🏠</span> Overview</a>
<a href="dashboard.html"><span>👥</span> Queue</a>
<a href="dashboard.html"><span>📂</span> Patients</a>
<a href="pharmacy.html"><span>💊</span> Pharmacy</a>
<a href="lab.html"><span>🔬</span> Lab</a>
<a href="billing.html"><span>💳</span> Billing & Accounts</a>
<a href="staff.html"><span>👔</span> Staff & Payroll</a>
<a href="settings.html"><span>⚙️</span> Settings</a>
</nav>
<div class="user-profile">
<div class="avatar">DS</div>
<div class="info">
<strong>Dr. Sharma</strong>
<span>Cardiologist</span>
</div>
</div>
</aside>
<main class="dashboard-main">
<header class="dash-header">
<div class="search-bar">
<input type="text" placeholder="Search patients by name or WhatsApp number...">
</div>
<div class="header-actions">
<span class="badge counter-badge">Reception Counter: 1</span>
<button class="btn-primary">+ New Walk-in (Print Token)</button>
</div>
</header>
<section class="stats-row">
<div class="stat-card">
<span>In Queue</span>
<h3>12 Patients</h3>
<small class="text-accent">↑ 4 since last hour</small>
</div>
<div class="stat-card quota-card">
<span>Current Slot (10:00-10:30)</span>
<div class="quota-bars">
<div class="quota-item closed">
<small>Online: 3/3 (CLOSED)</small>
<div class="bar"><div class="fill" style="width: 100%; background: var(--text-muted);"></div></div>
</div>
<div class="quota-item">
<small>Walk-in: 4/5</small>
<div class="bar"><div class="fill" style="width: 80%;"></div></div>
</div>
</div>
</div>
<div class="stat-card">
<span>Avg. Wait Time</span>
<h3>18 Mins</h3>
<small class="text-muted">Target: 15 Mins</small>
</div>
</section>
<section class="queue-section">
<div class="section-card">
<div class="card-header">
<h2>Live Queue</h2>
<div class="filters">
<span class="badge">All</span>
<span class="badge muted">Appointments</span>
<span class="badge muted">Walk-ins</span>
</div>
</div>
<table class="queue-table">
<thead>
<tr>
<th>Token</th>
<th>Patient Name</th>
<th>Source</th>
<th>Lang</th>
<th>Triage AI</th>
<th>Status</th>
<th>Arrival</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr class="active-row">
<td>#012</td>
<td><strong>Rahul Verma</strong></td>
<td><span class="source-tag online">Online</span></td>
<td><span class="lang-tag">HI</span></td>
<td><span class="triage-pill urgent">High Fever / Cough</span></td>
<td><span class="status-pill in-room">In Room</span></td>
<td>09:15 AM</td>
<td><button class="btn-small">Prescribe</button></td>
</tr>
<tr>
<td>#013</td>
<td><strong>Anjali Singh</strong></td>
<td><span class="source-tag walkin">Walk-in</span></td>
<td><span class="lang-tag">TE</span></td>
<td><span class="triage-pill moderate">General Checkup</span></td>
<td><span class="status-pill pending-pay">Unpaid (₹500)</span></td>
<td>09:30 AM</td>
<td><button class="btn-small secondary">Collect Pay</button></td>
</tr>
<tr>
<td>#014</td>
<td><strong>Suresh Kumar</strong></td>
<td><span class="source-tag online">Online</span></td>
<td><span class="lang-tag">EN</span></td>
<td><span class="triage-pill routine">Back Pain</span></td>
<td><span class="status-pill waiting">Paid (Waiting)</span></td>
<td>09:45 AM</td>
<td><button class="btn-small secondary">Notify</button></td>
</tr>
</tbody>
</table>
</div>
<div class="side-panel">
<div class="section-card ai-insights">
<h3>✨ AI Insights</h3>
<p>Predicted peak time: <strong>11:30 AM</strong>. Suggesting 5-min break for staff now.</p>
<div class="insight-item">
<small>No-show Alert</small>
<p>Token #015 (Vikram) hasn't replied to the 10-min reminder.</p>
</div>
</div>
</div>
</section>
<div id="prescriptionModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h2>Digital Prescription</h2>
<span class="close-modal">&times;</span>
</div>
<div class="modal-body">
<div class="voice-section">
<button class="btn-secondary" id="startRecording"><span>🎤</span> Record Consultation</button>
<div id="recordingStatus" class="recording-status hidden">
<span class="pulse"></span> Recording...
</div>
<div id="aiInsights" class="ai-insights-box hidden">
<h4>✨ AI Insights (Draft)</h4>
<p id="insightText"></p>
</div>
</div>
<div class="input-group">
<label>Diagnosis</label>
<input type="text" id="rxDiagnosis" placeholder="e.g. Viral Fever">
</div>
<div class="medicine-list" id="medicineList">
<div class="med-row">
<input type="text" placeholder="Medicine Name" class="med-name">
<input type="text" placeholder="Dosage" class="med-dosage">
<input type="text" placeholder="Freq" class="med-freq">
</div>
</div>
<button class="btn-secondary" id="addMed">+ Add Medicine</button>
</div>
<div class="modal-footer">
<button class="btn-primary" id="sendRx">Send to WhatsApp</button>
</div>
</div>
</div>
<script src="dashboard.js"></script>
</body>
</html>