feat(notifications): implement real-time on-chain sale notifications (#9) - #19
Open
Simultech369 wants to merge 1 commit into
Open
feat(notifications): implement real-time on-chain sale notifications (#9)#19Simultech369 wants to merge 1 commit into
Simultech369 wants to merge 1 commit into
Conversation
…rate-Protocol#9) - Create useNotifications hook with Soroban RPC event polling (getEvents) - Add persisted cursor and notification state scoped per connected wallet - Implement NotificationDropdown with unread badge, relative timestamps, and mark as read actions - Integrate real-time toast alerts on incoming sales - Add unit tests verifying persistence, read state toggles, and cursor updates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of Changes
This pull request resolves #9 by implementing an on-chain event-driven notification subsystem for producers in
crate-frontend, complete with Soroban RPC event polling, cursor persistence, navbar dropdown indicators, and real-time sale toasts.🎯 Key Implementations
Soroban Event Poller & Notification State Hook (
src/hooks/useNotifications.ts)useNotificationshook polling Soroban RPCgetEventsforpurchase_licenseandwithdraw_earningstopics.localStorage(crate_events_cursor_${address}).crate_notifications_${address}).Navbar Notification Dropdown (
src/components/NotificationDropdown.tsx)Just now,5m ago,2d ago), sample title, amount in XLM, unread indicators, "Mark read" and "Clear" actions.In-App Toast Alerts
Testing & Validation (
src/__tests__/notifications.test.ts)🧪 Verification & Testing
npx vitest run: