Skip to content

Phase 6 — Provider composer & data layer #7

@jonmatum

Description

@jonmatum

Phase 6 — Provider composer & data layer

One import to wire up all the providers a consumer app needs, with opt-out / replace per slot.

Deliverables

  • <AppProviders> composer nesting: ThemeProvider → QueryProvider → ToastProvider → ErrorBoundary → TooltipProvider → I18nProvider (optional)
  • QueryProvider wrapping TanStack Query v5 with sensible defaults (retry, staleTime, SSR hydration helpers)
  • ToastProvider wrapping Sonner, themed via tokens
  • ErrorBoundary with fallback UI using ErrorState
  • I18nProvider thin wrapper — adapter pattern, defaults to no-op; consumers can plug next-intl or similar
  • Each provider individually exported so advanced users can compose manually
  • Query hydration helpers for Next.js 15 server components

Acceptance

  • A consumer wraps <AppProviders> once and gets theme + data fetching + toasts + error handling working
  • Any single provider is replaceable via prop override without forking the composer
  • Zero hydration warnings in Next.js 15 strict mode

Depends on Phase 2.

Part of the next-shell app shell extraction plan.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions