Skip to content

Migrate nextjs from 13 to 16#1445

Merged
AliKdhim87 merged 7 commits into
development-strapi-v5from
migrate-nextjs-from-13-to-16
May 21, 2026
Merged

Migrate nextjs from 13 to 16#1445
AliKdhim87 merged 7 commits into
development-strapi-v5from
migrate-nextjs-from-13-to-16

Conversation

@AliKdhim87
Copy link
Copy Markdown
Collaborator

@AliKdhim87 AliKdhim87 commented May 11, 2026

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:
Screenshot 2026-05-20 at 14 52 50

After:

Screenshot 2026-05-20 at 14 53 46

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.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cms-frameless-io Ready Ready Preview, Comment May 20, 2026 12:31pm
strapi-overige-objecten-api Ready Ready Preview, Comment May 20, 2026 12:31pm
strapi-pdc-frontend Ready Ready Preview, Comment May 20, 2026 12:31pm

Request Review

@AliKdhim87 AliKdhim87 force-pushed the migrate-nextjs-from-13-to-16 branch from 413b4a1 to 1f0ff0f Compare May 11, 2026 15:41
@AliKdhim87 AliKdhim87 force-pushed the migrate-nextjs-from-13-to-16 branch from 04b8cb3 to 82ae234 Compare May 12, 2026 08:09
@AliKdhim87 AliKdhim87 force-pushed the migrate-nextjs-from-13-to-16 branch from 82ae234 to 12a67a4 Compare May 12, 2026 14:13
@AliKdhim87 AliKdhim87 force-pushed the migrate-nextjs-from-13-to-16 branch from 12a67a4 to c79a4b1 Compare May 13, 2026 07:43
@codecov
Copy link
Copy Markdown

codecov Bot commented May 13, 2026

Codecov Report

❌ Patch coverage is 98.86364% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
packages/ui/src/components/Markdown/index.tsx 90.90% 1 Missing ⚠️
Files with missing lines Coverage Δ
...src/components/Navigation/NavigationList/index.tsx 100.00% <100.00%> (ø)
packages/ui/src/components/Navigation/index.tsx 100.00% <100.00%> (ø)
packages/ui/src/components/Markdown/index.tsx 97.87% <90.90%> (-1.05%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Copy Markdown
Member

@Robbert Robbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alvast partial review

Image

Comment thread patches/@open-formulieren__sdk@3.4.2.patch
Comment thread packages/ui/src/components/Breadcrumb/index.tsx
Comment thread apps/vth-frontend/src/components/Card/index.tsx Outdated
Comment thread apps/vth-frontend/src/app/[locale]/(rootLayout)/page.tsx Outdated
Comment thread apps/pdc-frontend/package.json
Comment thread apps/pdc-frontend/package.json Outdated
…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
@AliKdhim87 AliKdhim87 merged commit de6a831 into development-strapi-v5 May 21, 2026
9 checks passed
@AliKdhim87 AliKdhim87 deleted the migrate-nextjs-from-13-to-16 branch May 21, 2026 11:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants