Repository navigation
feat: notification preferences, transaction history, dark mode, key comparison (#1083, #1084, #1085, #1086) - #1096
Closed
Abidoyesimze wants to merge 5 commits into
Closed
Abidoyesimze wants to merge 5 commits into
Abidoyesimze wants to merge 5 commits into
Conversation
Per-type email and in-app toggles with a bulk enable/disable switch. Changes save immediately; failed saves roll back and offer a retry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…slayerorg#1084) Lists buys, sells, stakes, unstakes, claims, referral payouts and swaps with type and date range filters, cursor-based load more (deduplicated) and CSV export of the filtered view. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…1085) Follows prefers-color-scheme on first visit, persists manual overrides in localStorage, syncs across tabs, and applies the theme before first paint. Adds a nav toggle, an appearance setting, and dark variants for the home page sections. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Compare button on key cards (max 3, with tooltip when full), sticky comparison bar, and a /compare page with price, volume, holders, unique traders, rating, curve milestone and yield per key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The comparison UI (accesslayerorg#1086) was styled for the light home page only; with dark mode (accesslayerorg#1085) it needs matching dark variants. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@Abidoyesimze Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
✅ Deploy Preview for accesslayer ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
👋 Thanks for your contribution! We don't accept pull requests directly to |
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.
Closes #1083
Closes #1084
Closes #1085
Closes #1086
These four issues are in one PR as requested, with one commit per issue so each can be reviewed or reverted on its own. A fifth commit adds dark-mode styles to the compare UI; that's only needed once #1085 and #1086 are both in.
#1083 Notification preferences (
/settings/notifications)#1084 Transaction history (
/transactions)Web3Providerwraps this route only, in line with a066172, which removed it from the app root so wallet extensions don't start on every page. A "Transaction history" link is added to the wallet menu.#1085 Dark mode
prefers-color-schemeand keeps following it if the device setting changes.storageevent.index.htmlapplies the theme before the first paint, so there's no flash of the wrong theme. Switching themes fades over 300ms (instant for users who prefer reduced motion), and never animates on page load./settingspage.useSystemThemenow follows the app theme instead of reading the device setting directly.#1086 Key comparison (
/compare)aria-disabled(notdisabled) so keyboard users can still focus it and read the tooltip./creator/:id.API contracts (backend needed)
None of these endpoints exist yet. The client expects the existing
APIResponse<T>envelope:GET /notifications/preferencesRecord<type, { email: boolean; inApp: boolean }>PUT /notifications/preferencesGET /wallet/:address/transactions?types=&from=&to=&cursor=&limit={ items: WalletTransaction[]; nextCursor: string | null }.fromandtoare ISO timestamps;typesis a comma-separated listGET /creators/:id/metrics{ price, volume24h, holders, uniqueTraders, rating | null, curveMilestone: { label, progressPercent } | null, yieldPercent | null }The exact types are in
src/services/notificationPreferences.service.ts,transactionHistory.service.ts, andkeyMetrics.service.ts.Already broken on
main(not fixed here)Current
mainshows a blank page on every route, for two reasons:AppcallsuseRouteChangeLogging()(which usesuseLocation) outside<RouterProvider>, so it throws.HomePagerenders components that need wagmi and react-query (NotificationBell,WalletStatusChip,CreatorSpotlight), but no provider wraps them.To check these features in the browser, I temporarily moved the hook and wrapped the router locally. That patch is not in this PR, and the fix should probably be a separate PR.
Testing
pnpm buildtype-check (tsc -b) andpnpm lintboth pass.main(I ran a baseline), so this PR adds no new failures./creator/2.🤖 Generated with Claude Code