PR: Empty States, Help Center, Deployment Pipeline, and Profile Settings#484
Merged
Conversation
…and Notifications - Extend SandboxContext ModuleType and defaultScenarios to include "notifications" - SandboxClientPage: add Notifications module with full scenario controls and quick-action buttons - Portfolio page: replace static placeholder with sandbox-aware states (empty, loading, partial-failure, timeout, success) using SandboxContext; add mock holdings table and stat cards for the success scenario - Notifications page: restructure into tabbed layout with a Notification Inbox tab (empty, loading, partial-failure, success states via SandboxContext) alongside the preserved toast/banner System Demo tab; inbox uses EmptyState component with context-appropriate CTA
…idance, and support form - Create /dashboard/help page with three keyboard-accessible tab sections: FAQs (searchable, category-filtered accordions), Transaction Help (symptom/solution/prevention guide per issue type), and Contact Support (validated form with char counters, async transaction ID check, reference ID on success) - Register /dashboard/help in routeMetadata with HelpCircle icon and dashboardNav + commandPalette entries so it appears in sidebar and command palette
…pand deployment docs - deploy-staging.yml / deploy-production.yml: fix package manager from npm to yarn (--frozen-lockfile), remove incorrect working-directory, add typecheck + lint steps before build, pass NODE_ENV consistently - Dockerfile: add multi-stage build (deps → builder → runner) using node:20-alpine with non-root nextjs user for production containers - docs/deployment.md: expand with environment variable table, manual deploy commands, Docker usage, and complete pre-release / post-rollback verification checklists
…e section to settings - Settings page: add Profile section with links to /profile for display name, locale, timezone, and currency format; add link action from Currency Display row so all profile fields are reachable from settings - Profile page: update breadcrumb to link back to /dashboard/settings with hover styling so bidirectional navigation is clear
|
@MethelyDev 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! 🚀 |
…eurowealth#436, Neurowealth#438 Summarises empty-state pages, help center, deployment pipeline fixes, and profile/settings changes with a full test plan checklist.
4 tasks
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
Closes #448
Closes #439
Closes #436
Closes #438
#448 — Empty-state pages (Portfolio, History, Notifications)
"notifications"toModuleTypeand default scenarios so the sandbox controls all four major pages./dashboard/portfolio): Replaced the static "Chart coming soon" placeholder with a full sandbox-driven state machine —empty(EmptyState + "Connect wallet" CTA),loading(skeleton),timeout(error + Retry),partial-failure(partial data + amber warning banner), andsuccess(mock holdings table with allocation bars, stat cards)./dashboard/notifications): Restructured into a tabbed layout. New Inbox tab shows a notification list (unread indicators, mark-as-read actions) withempty,loading, andpartial-failurestates driven by SandboxContext. The original toast/banner System Demo tab is preserved in full.All empty states follow the spec: 24–48 px icon in rounded container,
max-w-[420px]body text, heading → body → CTA hierarchy, no layout shift when toggling sandbox scenarios.#439 — Help Center, FAQs, and Support Contact Flow
/dashboard/help— three keyboard-accessible tabs:FAQSection). Accordions usearia-expanded,aria-controls, and keyboard Enter/Space handling for full screen-reader support.TransactionGuidance).SupportForm)./dashboard/helpregistered withHelpCircleicon in sidebar nav and command palette.#436 — Deployment Pipeline for Web Frontend
deploy-staging.yml: Fixed — was usingnpm(project uses Yarn), incorrectworking-directory, missingyarn.lockcache. Now usesyarn install --frozen-lockfile, addstypecheck+lintbefore build, passesNODE_ENV=productionconsistently.deploy-production.yml: Same fixes applied. Production deploys to Vercel with--prodflag on merge tomain.Dockerfile: Multi-stage build (deps → builder → runner) usingnode:20-alpine. Non-rootnextjsuser for the runtime image. Build args forNEXT_PUBLIC_APP_ENV/NEXT_PUBLIC_APP_URL.docs/deployment.md: Expanded with env-var reference table, manual deploy commands, Docker usage, complete pre-release checklist, and step-by-step rollback instructions (Vercel Dashboard, git revert, Vercel CLI) with post-rollback verification checklist.#438 — User Profile and Account Settings
/dashboard/settings): Added a Profile section at the top with link-actions to/profilefor "Display Name & Preferences", "Language & Region", and "Currency Display". Existing Wallet / Notifications / Security sections preserved with "Coming soon" badges./profile): Breadcrumb updated to link back to/dashboard/settingsso navigation is bidirectional. The full profile form — display name, locale, timezone, currency format, sticky save/cancel row, inline field errors, summary error banner, success banner, localStorage persistence — was already complete and satisfies all spec requirements (24 px group spacing, inline + banner validation, save persists after refresh).Test Plan
/dashboarddevbranch; confirm GitHub Actions → Deploy to Staging completes green/profile;/profilebreadcrumb links back to/dashboard/settings