Close remaining empty/error/loading gaps - #23
Merged
Conversation
- ActivityFeed silently rendered nothing when the feed request failed or genuinely had no items (isLoading only covered the initial fetch). Now distinguishes a "Live feed unavailable right now." error state from a "No fills yet." empty state, and still shows cached items if a later background refresh errors. - IntentDetailPage rendered nothing (a blank card area) when a request succeeded but returned no intent data, distinct from the network/404 error branch. Adds a "No details found for this intent." state. - ConnectWalletButton's failed-connect state only surfaced its error via a title tooltip, invisible to touch/keyboard users and easy to miss. Direct connect attempts now also fire a toast via the PR #16 system — scoped to this component's own click handler (not inside the wallet store's connect()) so it doesn't double-toast when useSwapSubmission/useAcceptIntent/useSolverRegistration call connect() internally and already handle their own error toasts. - Adds a branded src/app/not-found.tsx (Nav/Footer + a link home) in place of Next's default 404 page.
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
ActivityFeedsilently rendered nothing when the feed request failed or genuinely had no items —isLoadingonly covered the initial fetch. Now distinguishes a "Live feed unavailable right now." error state from a "No fills yet." empty state, and still shows cached items if a later background refresh errors rather than replacing them with an error box.IntentDetailPagerendered a blank card area when a request succeeded but returned no intent data, distinct from the network/404 error branch (!intent ? null : ...). Adds a "No details found for this intent." state.ConnectWalletButton's failed-connect state only surfaced its error via atitletooltip — invisible to touch/keyboard users and easy to miss. Direct connect attempts now also fire a toast via the PR Wire solver leaderboard to real API #16 system. This is scoped to the component's own click handler rather than inside the wallet store'sconnect(), so it doesn't double-toast whenuseSwapSubmission/useAcceptIntent/useSolverRegistrationcallconnect()internally — those already handle and toast their own errors.src/app/not-found.tsx(Nav/Footer + a link home) in place of Next's default 404 page.Test plan
npm run lintnpm test(9 new tests: ActivityFeed empty/error/cached-on-error, IntentDetailPage not-found, ConnectWalletButton toast-on-failure, NotFound render + main landmark; 139 total passing)rm -rf .next && npm run buildnpm run devreturns a 404 status with the branded "Page not found" copy for an unmatched routeBranched off
main(PR #18 already merged).