Tasks 5-6: Build Sidebar with PersonHeader, Tags, and Alerts

- Created src/components/Sidebar.tsx:
  - PersonHeader section with 52px avatar, name, title, status badge with pulse animation
  - Details grid: GPhC No. (monospace), Education, Location, Phone (link), Email (link), Registered
  - Tags section with colored pill badges (teal/amber/green variants)
  - Alerts/Highlights section with severity-based styling (alert/amber)
  - Section title component with divider line
  - Custom scrollbar styling (4px, transparent track, border-colored thumb)

- Added animations to src/index.css:
  - @keyframes pulse for status badge dot (opacity 1→0.4→1, 2s infinite)
  - .pmr-scrollbar custom scrollbar styles

Data sources: patient.ts, tags.ts, alerts.ts

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 17:09:56 +00:00
parent 37c08387af
commit 670c9cc74c
2 changed files with 465 additions and 0 deletions
+33
View File
@@ -232,3 +232,36 @@ body {
html {
scroll-behavior: smooth;
}
/* Pulse animation for status badge dot */
@keyframes pulse {
0%, 100% {
opacity: 1;
}
50% {
opacity: 0.4;
}
}
/* Custom scrollbar for sidebar */
.pmr-scrollbar {
scrollbar-width: thin;
scrollbar-color: var(--border) transparent;
}
.pmr-scrollbar::-webkit-scrollbar {
width: 4px;
}
.pmr-scrollbar::-webkit-scrollbar-track {
background: transparent;
}
.pmr-scrollbar::-webkit-scrollbar-thumb {
background: var(--border);
border-radius: 2px;
}
.pmr-scrollbar::-webkit-scrollbar-thumb:hover {
background: var(--text-tertiary);
}