NotificationSystem

App

Page-level toast container with global `window.notify` / `window.pushNotification` API. 6 positions, 5 variants (success/warning/error/info/loading), auto-dismiss progress bar, hover to pause, manual dismiss.

Top-right stack

Preview

Profile saved

Your changes are live.

New comment

Alex replied to your post.

Code
<%# Mount once near </body> %>
<%- include('modules/app/NotificationSystem', { position: 'top-right' }) %>

<script>
  // Anywhere on the page:
  window.notify.success('Profile saved', { title: 'Profile saved', message: 'Your changes are live.' });
  window.notify.info('New comment',     { title: 'New comment',    message: 'Alex replied to your post.', duration: 0 });
</script>

Error + loading (bottom-left)

Preview

Upload failed

Network error. Please retry.

Syncing…

Updating 12 records.

Code
<%- include('modules/app/NotificationSystem', { position: 'bottom-left' }) %>

<script>
  window.notify.error('Upload failed',  { title: 'Upload failed', message: 'Network error. Please retry.' });
  var id = window.notify.loading('Syncing…', { title: 'Syncing…', message: 'Updating 12 records.' });
  // later:
  // window.notify.dismiss(id);
</script>
Source modules/app/NotificationSystem.ejs