Report errors and successes in toasts, and give loading screens something to watch#103

merged4
stack/marketing-pages
stack/toasts-motion
openedOct 9, 2026byAAviddaram
View on GitHubTwo-way sync enabledPR last imported 20d ago

Billing errors used to open the account menu, and loading states were blank. This adds Sonner-style toasts (@trev.zip/solid-toast, the Solid 2 port), a card-shuffle loader with rotating lines, a skeleton dashboard, a friendlier error card, row motion and a confetti burst after Download all. Everything respects reduced motion.

The last commit loads the toaster with import() from browser-only code. The package exports its server build only under the node condition, so the Worker bundle got the browser build and the prerender crashed.

1alchemy deploy → vite build (workerd) → prerender imports server.js
2 @trev.zip/solid-toast browser build ← threw "Client-only API called on the server"
3fix: const { toaster } = await import("../ui/Toasts") in handlers only

Layer 2 of 7.

Checks

4 successful · 2 skipped
All checks passed
76cfac5

Added 4 commits

  • Give loading and failure states something to look at6850844
  • Load the toaster lazily so the Worker build stops crashing76cfac5
  • Add motion to the dashboard and a confetti burst for Download alla9ea00d
  • Add Sonner-style toasts and send errors and successes through themc1412b8
Synced from GitHub

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 670edf4c-aa6e-4085-af85-364760e57433

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.