Home Work
SaaS developmentAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOEcommerce development
AI solutionsB2B platformsE-commerceHospitalityLead generationLogisticsEducationProcess automationSaaS platformsStartup MVPReal estateHealthcare
LegalHealthcareReal estateFinanceHospitality
The HagueRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
AboutProcessLabBlogContact

Meldingencentrum New

Bell with an unread counter and a panel with notifications grouped per day (today, yesterday, date), Unread and All tabs, mark all as read, read one by clicking it, an empty state with one way out and a new notification that arrives after a few seconds and is announced via aria-live. Esc or an outside click closes and returns focus to the bell. In production you connect it to Server-Sent Events or web push.

Familie Bakker, Amersfoort

Fase 3 van de aanbouw: kozijnen plaatsen, gepland in week 43.

Meldingen

How to use it

  1. Paste the HTML where the components should appear.
  2. Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
  3. Add the JavaScript and call init() with the element that contains the HTML.
<!-- Meldingencentrum · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="ntc">
  <div class="ntc__bar">
    <span class="ntc__logo">Mijn verbouwing</span>
    <span class="ntc__who">Familie Bakker, Amersfoort</span>
    <button type="button" class="ntc__bell" aria-expanded="true" aria-controls="ntc-panel">
      <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15z"/><path d="M10 20a2 2 0 0 0 4 0"/></svg>
      <span class="ntc__badge" aria-hidden="true"></span><span class="ntc__sr ntc__bl"></span>
    </button>
  </div>
  <div class="ntc__page"><p>Fase 3 van de aanbouw: kozijnen plaatsen, gepland in week 43.</p></div>
  <div class="ntc__panel" id="ntc-panel" role="region" aria-label="Meldingen">
    <div class="ntc__ph">
      <h3 class="ntc__h">Meldingen</h3>
      <button type="button" class="ntc__all">Alles gelezen</button>
    </div>
    <div class="ntc__tabs" role="tablist" aria-label="Filter meldingen">
      <button type="button" role="tab" id="ntc-t1" aria-selected="true" aria-controls="ntc-list" data-f="unread">Ongelezen</button>
      <button type="button" role="tab" id="ntc-t2" aria-selected="false" aria-controls="ntc-list" data-f="all" tabindex="-1">Alles</button>
    </div>
    <div class="ntc__list" id="ntc-list" role="tabpanel" aria-labelledby="ntc-t1" tabindex="0"></div>
  </div>
  <p class="ntc__sr ntc__live" aria-live="polite"></p>
</div>
</div>

More components

Seen something you like?

Add it to your selection and send it over. We build your site around it, in your brand.

Get in touch →