You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: reduce frontend bundle size with tree shaking and dependency audit (#422)
- Add @next/bundle-analyzer with ANALYZE=true script for bundle visibility
- Configure next.config.ts: transpilePackages for Web3 libs, optimizePackageImports
for lucide-react/framer-motion/all Radix UI packages, Node.js polyfill fallbacks
- Lazy-init @web3auth/modal via getWeb3Auth() async fn — removes ~500KB from
initial bundle; SDK only loads on first social login click
- Scope WagmiProvider + QueryClientProvider to dashboard routes only via
DashboardProviders — landing page no longer loads wagmi/viem
- Convert landing page (app/page.tsx) to Server Component; extract animated
sections into minimal client islands (HeroCTA, HeroAnimations)
- Dynamically import Sidebar, Header, PWAWrapper in dashboard layout
- Dynamically import SocialLogin and WalletConnect on auth page with skeleton
fallbacks so Web3 SDK is deferred until tab renders
- Replace framer-motion motion.div entrance animations in all dashboard pages
with zero-JS CSS FadeIn component (animate-fade-in-up keyframe)
- Fix web3auth logout: use provider check instead of non-existent .connected prop
- Fix auth page provider race: DashboardProviders is static import so WagmiProvider
is mounted before WalletConnect calls useConnect()
- Remove unused DashboardInvoice import and dead handleSubmitWork function
0 commit comments