Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Event Reminder Notification Block for React

A day planner's three reminders: a select sets how early each one comes and every time follows it at once, with Snooze in steps of five minutes, Skip and Restore, and a badge on the recurring events.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Let people decide how early a reminder should come, with this event reminder notification for React with Base UI. It is Nudgeday, a day planner, listing today's three events: each row has the start time, the title and a line that says when it will remind you, worked out from the start and the lead time chosen in a Native Select above the list (5, 10, 15 or 30 minutes before). Change the lead and all three times change at once. Each reminder can be snoozed in steps of five minutes, never past the start, or skipped, and a skipped one is put back with Restore; the recurring events carry a Badge. One polite status line says what changed, and every row keeps its height. Guides draw the lines. For day planners, task apps, calendars and any list of things that remind you.

FAQ

How do I fill it with my own events?

Edit PLANS: each has an id, a title, a place, a start as an ISO time in UTC and repeats (empty for a one-off, or the word shown in the badge). LEADS are the choices of the select, SNOOZE_STEP and MAX_SNOOZES set how far Snooze goes. Every time on the page is worked out from the start and the lead, so there is nothing else to keep in step.

How does the lead time change the list?

A reminder comes the chosen number of minutes before the start: with 15 minutes, an event at 10:30 reminds you at 10:15. The select changes the lead for every reminder at once, the status line names the first time that results, and the times that are skipped are left out of it.

What do Snooze and Skip do?

Snooze moves one reminder five minutes later, up to three times and never past the start; the row says how far it was snoozed, and the button stays in place but goes quiet when there is nowhere to go, saying why in the status line. Skip turns that reminder off and shows Restore in the same place; Restore puts it back as it was. In this demo nothing is scheduled: the choices live on this page. In your app save them with the event.

Why a native select?

A native select opens the device's own picker, which is the best control for four fixed choices on a phone, and it needs nothing to work the same on every base. Its labels start with a number, so on an RTL page the select sits in an LTR box to keep "15 minutes before" in order.

Does the list move when I skip or snooze?

No. Rows have a fixed height; a skipped row changes its words, not its size, and the count above the list changes in place. The status line keeps room for its longest message.

Is it accessible?

Every button names its event ("Snooze Sprint planning 5 minutes", "Skip Sprint planning"), the lead select has a visible label, and focus moves to Restore after a skip and back to Skip after a restore so a keyboard user keeps their place. Times are marked up as times.

  • Pro

    A meeting about to start in a scheduling app: a catalog Timer counting down to it with a Pause, the agenda with start times, who is coming with an RSVP, Join call, Snooze 5 minutes and a real calendar file to download.

  • Pro

    Snooze Notification

    Quiet and digests

    A notification with a snooze popover: Later today, Tomorrow and Next week worked out from one fixed time, a custom hour, a Snoozed list with wake times and a Wake now that sends one back.

  • Pro

    A board pack due tomorrow evening in two hairline cells: a risk word, a progress bar and the working hours to go on one side, subtask checkboxes with their hours on the other, so ticking one recomputes the risk, plus a popover to request an extension.

  • Pro

    A focus app's do-not-disturb panel: a status card that says in a sentence what the settings amount to, a 24-hour strip of the muted hours, one hour, until tomorrow or a nightly schedule, and the calls that still get through.

  • Pro

    An event countdown for a developer conference: a calendar tile with the name and a sentence saying when it starts, four cells of days, hours, minutes and seconds in a corner-marked frame, and a Shine Button to reserve a seat.

  • Pro

    A medal shelf for a learning platform after a learner finishes a first project: eight drawn medals in a hairline grid with a New badge on the latest, and a popover on each medal with its criteria, a progress bar and the day it was earned.