GH GambleHub

Notification Center and Events

1) Purpose

The notification center provides feedback between the system and the user without disrupting the flow of actions. It captures asynchronous events (bets, transactions, bonuses, KYC statuses) and provides a single place to view notifications, filter and manage them.

Main principles:
  • Inform without distraction.
  • Prioritize, not duplicate.
  • Give actions where they are appropriate.

2) Types of notifications and their application

TypeExampleUse
Toast / SnackbarBid Accepted, Network ErrorShort-term notifications for 3-5 seconds; disappear themselves.
Persistent banner"KYC update required"Important but not urgent; remain before the user action.
Badge / Indicatoron the "" iconSignal of new events.
Inbox / FeedNotification CenterTimeline and notification history.
System modalLog Off, Payment ErrorCritical failures; require confirmation.

3) Priorities and levels of importance

1. Critical (error, failure, security) - require attention immediately (Modal/Banner).
2. Important (payment, bet, cashout) - Toast + entry in the notification center.
3. Informational (news, bonuses) - Badge and tape.
4. Social (friends, chats, tournaments) - grouped notifications that do not block UI.

UX rule: "No more than one active notification per screen."

If there are more of them, combine: "3 new events."

4) Notification center architecture

4. 1 Event source

Backend → Event Bus → Notification Service → UI.
Events are classified: 'type', 'severity', 'context', 'ttl', 'userId'.
Stored in 'notification _ store' (Redis + DB).

4. 2 Client flow

WebSocket / SSE для real-time.
Local state → lazy loading of 10-20 notifications.
Push API (mobile/browser) - optional, with user consent.

4. 3 Data model (example)

json
{
"id": "n12345",
"type": "deposit_success",
"severity": "info",
"title": "Replenishment successful,"
"message": "You made 500 ₴ through Papara,"
"timestamp": "2025-11-03T19:20:00Z",
"context": { "transactionId": "tx123" },
"read": false,
"action": {"label": "View," "url": "/wallet/history "}
}

5) UI components

5. 1 Icon and badge

Shows the number of unread ('≤ 99').
When clicked, opens the panel/notification center.
'aria-label =" There are new notifications"'; at zero -' aria-hidden =" true"'.

5. 2 Notification panel

List of cards: icon → heading → short text → time → CTA.
Status: new, read, delivery error, downloaded from archive.
Group by date: Today, Yesterday, Earlier.

5. 3 Notification card

html
<article class="notif new" role="article">
<div class="icon success"></div>
<div class="content">
<h4> Replenishment successful </h4>
<p> 500 ₴ via Papara </p>
<time datetime =" 2025-11-03T19: 20"> 5 min ago </time>
</div>
<button class =" icon" aria-label = "Delete"> </button>
</article>

6) States and actions

New: highlighted with color/background plate.
Read: paler; does not have badge.
Error: icon + Retry.
System: not deleted, only archived.

Actions:
  • Swipe (mobile) → delete/read.
  • Buttons: "More," "Repeat," "Hide."
  • Mass Actions: Mark All Read, Clear All.

7) Visual principles

Maximum of 3 lines of text in the notification.
The title is bold, up to 50 characters.

Color coding:
  • Success - green/' accent-success'
  • Error - red/' accent-danger'
  • Info - blue/' accent-info'
  • Attention - orange/' accent-warning'
  • Contrast ≥ AA, shadows are minimal.
  • Animations: fade/slide ≤ 160 ms, without constant movements.

8) Timings and display

Toast: 3-5 seconds, with a pause at hover.
Banner: before the action.
Badge: there are unread ones so far.
Inbox: TTL storage (for example, 14-30 days).
Auto-close when the screen focus is lost - carefully (do not lose important statuses).

9) A11y and keyboard

Toast has a'role = "status"' (or 'alert' for errors).
Notification Center - 'role = "region"' with' aria-label =" Notification Center"'.
Support for arrow navigation and Tab/Shift + Tab.
VoiceOver: reading new notifications when added ('aria-live = "polite"').
Focus does not "jump" when it appears - only if the toast is critical.

10) Performance

Lazy loading and pagination (20-30 each).
Data compression ('gzip '/' br'), grouping requests.
WebSocket reconnection + backoff.
Animations only on 'transform/opacity'.

11) iGaming Scenarios

11. 1 Betting and cashout

"Bet accepted," "Coefficient changed," "Cashout completed" - toast + tape recording.
In case of error - toast "Failed to install," banner with Retry.

11. 2 Payments

"Replenishment successful" → toast.
Output in Process → tape entry, ETA, and More button.
PSP error → red toast + CTA Retry.

11. 3 Bonuses and promotions

Banner on the home screen: "New Tournament," "Deposit Bonus."

The notification center stores the history of all promos.
Ability to hide/unsubscribe from marketing types.

11. 4 KYC and safety

Persistent banner until verification is complete.
"KYC confirmed" → green toast + archive in tape.
"Document expired" → notification + CTA update.

12) Metrics

CTR notifications (by type).
Dismiss rate (how much was closed without action).
Unread count avg и time-to-read.
Delivery success rate (для realtime).
Latency between event and show (target ≤ 300 ms).
Error/Retry rate on WebSocket/Push delivery.

13) Anti-patterns

Sounds and pop-ups at each event.
Unpredictable auto-close timers.
Repeat the same notifications.
Screensavers without cause ("confirm," "reboot").
Using notifications as marketing spam.
Center unfiltered/searchable at> 50 events.

14) Design system tokens

json
{
"toast": {
"durationMs": 4000,
"maxWidth": 400,
"gap": 12,
"radius": 10,
"shadow": "var(--elev-3)"
},
"badge": {
"size": 18,
"color": "var(--accent-info)"
},
"panel": {
"width": 380,
"radius": 12,
"gap": 8,
"padding": "12 16"
},
"a11y": {
"ariaLive": "polite",
"contrastAA": true
}
}

15) QA checklist

Functionality

  • Real time delivery ≤ 300 ms.
  • Toast is displayed ≤ 100 ms after the event.
  • Center is synchronized (read/unread).
  • Mass "read everything" works.

UX

  • Not more than 1 toast at a time.
  • Notification lifetime is optimal (3-5 seconds).
  • Important notifications remain pending.
  • Text ≤ 3 lines, CTA one.

A11y

  • 'role = "status" '/' aria-live' are correct.
  • Arrow and Tab navigation works.
  • Contrast ≥ AA.

Performance

  • Pagination and lazy-load.
  • No friezes at> 100 notifications.
  • Data compression and delayed rendering.

16) Documentation in the design system

Компоненты: `Toast`, `NotificationItem`, `NotificationCenter`, `BadgeIndicator`.
Guides: notification priorities, TTL, grouping, copywriting.
Patterns: toast for instant events, banner for important, center for history.

Do/Don't gallery: "spam notifications" vs "calm awareness."

Brief Summary

The notification center is not just an inbox of events, but an architecture of trust and transparency. Well-designed notifications create a sense of control: everything important is delivered, nothing is lost, the noise is suppressed. This is critical for iGaming - it is important for the user to see confirmation of bets, payments and statuses without being distracted from the game.

Contact

Get in Touch

Reach out with any questions or support needs.We are always ready to help!

Start Integration

Email is required. Telegram or WhatsApp — optional.

Your Name optional
Email optional
Subject optional
Message optional
Telegram optional
@
If you include Telegram — we will reply there as well, in addition to Email.
WhatsApp optional
Format: +country code and number (e.g., +380XXXXXXXXX).

By clicking this button, you agree to data processing.