Conversation
…oast system The shadcn/Radix <Toaster /> was mounted in the root layout alongside <SonnerToaster>, but no active component ever calls useToast(). Every feature in the app uses sonner's toast() directly, making the Radix provider dead weight that hydrates an unused viewport slot on every page. Remove the import and JSX element; <SonnerToaster richColors position="top-right" /> remains as the single, consistent toast system.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
This was referenced Aug 12, 2026
This branch had an error being deployed
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.
📝 TLDR
Remove the unused shadcn/Radix
<Toaster />from the root layout; Sonner's<SonnerToaster>is already the sole active toast system.📝 Description
The root layout mounted two toast providers side-by-side: the shadcn/Radix
<Toaster />and Sonner's<SonnerToaster>. A grep of the entire codebase confirmed thatuseToast()— the hook that feeds the Radix toaster — is only referenced in dead code undersrc/components/old_dashboard/. Every active feature drives toasts through Sonner'stoast()directly. The Radix toaster was hydrating an unused viewport slot on every page load with no consumer.This Change
import { Toaster } from '~/components/ui/toaster'fromsrc/app/layout.tsx<Toaster />JSX element from the root layout body<SonnerToaster richColors position='top-right' />remains as the single, consistent toast provider🗂️ Daily Product Improvement Run — 2026-08-12
Recommendations Reviewed
<Toaster>mounted alongside Sonner but never invoked — dead hydration on every page<button>hastext-sm(~14 px) touch target — well below WCAG 44 px minimum; accessibility regression risktoDateInputValueduplicated with divergent timezone behaviour (UTC slice vs. local getters) — silent date-off-by-one bug risk★,☆,✕) — visual inconsistency across dark/light themesSelected Improvement
#1 — Remove redundant shadcn
<Toaster />from root layoutWhy This Was Selected
useToastChanges Made
Removed the
Toasterimport and JSX element fromsrc/app/layout.tsx.SonnerToaster(already present) is the only active toast provider.Files Changed
src/app/layout.tsx— 2 lines deleted (import + JSX element)Verification
npx tsc --noEmitpasses (only pre-existingbaseUrldeprecation warning, unrelated to this change)useToastis referenced only insrc/hooks/use-toast.ts,src/components/ui/toaster.tsx, and the deadold_dashboardcomponents — no active feature depends on itFuture Recommendations
<Skeleton className='h-9 w-36' />to match "General RSVP questions" buttonmin-h-[44px] min-w-[44px]or wrap in a larger hit-area containeruseEffectwith amousedownlistener or use a RadixPopovertoDateInputValueduplicated with UTC vs. local-time divergencedate-fns format(date, 'yyyy-MM-dd')in local time★,☆,✕)★/☆with<Star>from lucide-react (filled/outline variants); replace✕with<X>(already imported in vendor-card)GitHub Issues Created
None — all remaining items are Small/Medium scope suitable for future daily improvement runs.
🧪 Testing
useToast; Sonner toasts continue to work🧪 How to test as a user
/vendors,/budget)📚 Documentation
🎨 Style and code quality
npx tsc --noEmit)📦 Dependencies
Generated by Claude Code