Migrate nextjs from 13 to 16#1445
Merged
Merged
Conversation
useOptimistic requires a Suspense boundary and async transition context which caused React internal errors after upgrading to Next.js 14. useState is the correct primitive for storing async fetched search suggestions.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
413b4a1 to
1f0ff0f
Compare
04b8cb3 to
82ae234
Compare
82ae234 to
12a67a4
Compare
12a67a4 to
c79a4b1
Compare
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
c79a4b1 to
83999b0
Compare
83999b0 to
f127f77
Compare
Robbert
requested changes
May 19, 2026
cc44ce8 to
04bc01e
Compare
…d Breadcrumb
Navigation:
- Remove useScreenSize hook and mobileBreakpoint prop; render both desktop
list and mobile toggle always, controlled by CSS media query at 960px
- Use display:contents wrapper divs to avoid conflicts with Utrecht's own
display:flex on ButtonGroup elements
- Fix NavigationList silently dropping its own className when a className
prop was passed via ...restProps spread
- Fix utrecht-navigation__toggle-button--start-end (negative-margin icon
alignment) being placed on a display:contents wrapper where it had no effect
- Fix border tokens not applying on mobile by scoping border declarations
inside breakpoint("md")
- Fix :has() padding-inline-end rule by moving it from
.utrecht-navigation--mobile to .utrecht-navigation scoped to max-width:959px
- Fix NavigationLink :focus color being white; switch from
--utrecht-navigation-link-focus-color to --utrecht-navigation-link-focus-visible-color
to match the yellow focus-visible background
- Remove dynamic/ssr:false wrappers in pdc-frontend and vth-frontend;
remove mobileBreakpoint={961/998} from both layout files and Header
- Update tests: remove useScreenSize mock and screen-size assertions;
scope focus-trap assertions to within(dialog) to avoid duplicate text matches
Breadcrumb:
- Remove useScreenSize hook and breakpoint prop; render both mobile back-link
view and full breadcrumb always when backLink is provided, toggled by CSS
at min-width:361px using display:contents/none
- Remove dynamic/ssr:false wrappers in pdc-frontend and vth-frontend
NavigationList:
- Add padding-inline-start:1ch default indentation to sub-lists via
--utrecht-navigation-list-sub-list-padding-inline-start token
pdc-frontend:
- Fix --utrecht-page-padding-inline-start/end resetting to 0px in production
builds; raise specificity of .utrecht-pdc-theme to .utrecht-theme.utrecht-pdc-theme
so it always overrides @utrecht/design-tokens regardless of CSS chunk order
Robbert
approved these changes
May 20, 2026
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.

UI improvements
Before:
Screen.Recording.2026-05-20.at.14.48.17.mov
After:
Screen.Recording.2026-05-20.at.14.48.39.mov
Before:

After: