feat(web): overhaul UI architecture and harden search flow#87
feat(web): overhaul UI architecture and harden search flow#87boundless-forest merged 6 commits intomainfrom
Conversation
- refactor app/pages/components structure for the web v2 redesign - modernize lint/build/test setup and supporting config - improve message search UX, including mobile overlay close-on-navigate - expand test coverage across routes, components, hooks, and API handlers
Add packageManager field to lock pnpm@10.15.0, preventing Vercel from using an incompatible default version that causes ERR_INVALID_THIS errors when fetching packages from the npm registry.
Added packageManager field to lock pnpm to version 10.15.0 and defined compatible Node.js version as 22.x, ensuring consistent environment setup.
Created a new vercel.json file to define the installation command for the Vercel deployment, ensuring the correct version of pnpm is used during the build process.
Modified the install command in vercel.json to use 'corepack pnpm install' for improved clarity and consistency in the deployment process.
Enhanced vercel.json by adding a build command to ensure consistent build processes during deployment, utilizing the same corepack and pnpm setup as the install command.
|
--- |
There was a problem hiding this comment.
Pull request overview
This PR implements a comprehensive UI architecture overhaul for the web application's v2 redesign. It modernizes the tech stack by upgrading Next.js (14→16), React (18→19), migrating from Radix UI to Base UI, replacing dayjs with date-fns, removing lodash-es dependencies, setting up Vitest for testing, and removing the Serwist service worker. The changes improve the message search UX, add mobile overlay navigation improvements, implement proper network switching with query parameter management, and significantly expand test coverage across routes, components, hooks, and API handlers.
Changes:
- Migrated UI component library from Radix UI to Base UI with accessibility improvements
- Upgraded core dependencies (Next.js 14→16, React 18→19, Tailwind v4) and removed service worker
- Refactored date handling (dayjs→date-fns) and removed lodash-es for native alternatives
- Implemented comprehensive test suite with Vitest covering components, hooks, routes, and API handlers
- Enhanced search flow with mobile overlay, network-aware navigation, and improved error handling
Reviewed changes
Copilot reviewed 162 out of 164 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Upgraded dependencies, added test infrastructure, specified engines |
| next.config.mjs | Removed Serwist service worker configuration |
| vitest.config.ts | Added Vitest test configuration |
| tsconfig.json | Updated for Next.js 16, removed service worker types |
| src/utils/date.ts | Migrated from dayjs to date-fns with validation |
| src/utils/network.ts | Added network normalization and default handling |
| src/utils/dapp.ts | Removed lodash, added Map-based address lookup |
| src/components/ui/* | Migrated all UI components from Radix to Base UI |
| src/app/page.tsx | Made async to support Next.js 16 searchParams |
| src/app/message/[id]/* | Added network policy, fallback logic, error handling |
| src/hooks/useQueryParamState.ts | Refactored to use useQueryStates for atomic updates |
| src/components/search-bar.tsx | Enhanced with validation, timeout handling, mobile support |
| src/app/api/message-stats/route.ts | New API route with comprehensive validation |
| **/*.test.ts(x) | Added 20+ test files for comprehensive coverage |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
boundless-forest
left a comment
There was a problem hiding this comment.
Really impressive work!
refactor app/pages/components structure for the web v2 redesign
modernize lint/build/test setup and supporting config
improve message search UX, including mobile overlay close-on-navigate
expand test coverage across routes, components, hooks, and API handlers