shadcn.io is not affiliated with official shadcn/ui
Emergency Popover Healthcare Navbar Block for React
A patient-portal navbar with an Emergency button that opens a popover with a call-your-emergency-number notice and a tel: link to the nurse line, beside links with unread and refill counts.
Installation
Overview
A navbar for a clinic's patient portal in React with Base UI. The wordmark of Cedarfield Health leads, and Appointments, Records, Messages and Prescriptions follow as links, the current page marked by a foreground stroke on the bar's bottom edge; Messages carries a chip with its unread count and Prescriptions the refills due, and each link's name says what its count means ("Messages, 3 unread"). Past a vertical divider that meets the top rule, an Emergency button stays in the bar at every width. It opens a popover that first says to call your local emergency number for anything life-threatening, then offers a tel: link to the nurse line for urgent questions that aren't, with its hours; a Book a visit Shine Button closes the row. The button's siren icon takes the destructive token while its text stays foreground. Below lg the links fold into a sheet from the top. It's built from Popover, Badge, Button, Navigation Menu, Sheet, Shine Button and Guides. The number is a fictional one in the 555 range and the counts are example data; the block is not a medical service. For clinic and patient portals.
FAQ
How do I use my own number and counts?
Edit NURSE (the tel: address and how the number reads) and the count and meaning of each entry in PAGES. The number shown is fictional (555 range); replace it with your own, and keep the sentence that tells people to call their local emergency number for a life-threatening emergency: a portal is not an emergency service.
Why is the emergency notice before the phone number?
The popover leads with the instruction, so someone in danger reads it before anything else and is never sent to a nurse line instead of emergency services. The nurse line is offered underneath as the way to ask an urgent question that isn't life-threatening.
Why is only the icon red?
Small destructive-coloured text fails contrast in some dark themes, so the siren icon carries the status token and the label stays in the foreground colour. The popover is white-on-popover like any other, and the Shine Button stays the one primary control.
How does the popover work with a keyboard?
Enter or Space opens it and moves focus into it; Tab reaches the call link; Escape or a click outside closes it and returns focus to Emergency. It isn't modal, so the bar stays reachable.
Related
- Pro
Balance Chip Fintech Navbar
Shops and servicesA navbar for a personal-banking app with a balance chip and an eye toggle that hides the amount behind dots without changing the chip's width, a vertical divider and the account's avatar.
- Pro
Goal Ring Streak Education Navbar
Meters and progressA navbar for a language-learning app with a daily-goal ring beside a streak button that opens a popover with the week as seven dots, today ringed, and the learner's avatar.
- Pro
Notification Bell Navbar
Meters and progressAn app navbar for a team inbox with a bell whose count follows what you do: the bell opens a panel with All and Unread tabs, rows you can mark read, mark unread or dismiss, and Mark all as read, and a drawer on phones.
- Pro
Account Menu Navbar
Accounts and scopesAn app bar with an account button behind a split divider that opens a menu: an identity header with plan badge and storage bar, a Switch account radio list, and Profile, Settings, Billing and Sign out.
- Pro
SaaS Marketing Navbar
Mega menusA one-bar marketing navbar for a product roadmap tool: a wordmark, a Product menu of four areas with icons and one-line descriptions, plain links with the current page marked, Sign in and a Shine Button, and a sheet with the same links on phones.
- Pro
Care Hours Planner Contact
Visits and servicesA care-needs request where ticking kinds of help and setting their hours a week adds up a live weekly plan with a meter and a count of visits, on shared hairlines.