Skip to content

Commit

Permalink
Upgrade next version to 13.5.4 (podkrepi-bg#1631)
Browse files Browse the repository at this point in the history
* Update next version to 13.5.4

* i18n: Fix translations not working for dynamic paths

* i18next.config: Detect user's locale from NEXT_LOCALE cookie
  • Loading branch information
sashko9807 authored and RalitsaIlieva committed Dec 14, 2023
1 parent df3c5bb commit 0f6bcb9
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 67 deletions.
2 changes: 1 addition & 1 deletion next-i18next.config.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module.exports = {
i18n: {
localeDetection: false,
localeDetection: true,
defaultLocale: 'bg',
locales: ['bg', 'en'],
},
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
"lodash": "^4.17.21",
"mobx": "6.3.2",
"mobx-react": "7.2.0",
"next": "13.4.12",
"next": "13.5.4",
"next-auth": "^4.20.1",
"next-i18next": "^14.0.3",
"nookies": "^2.5.2",
Expand Down
7 changes: 6 additions & 1 deletion src/components/client/layout/LocaleButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,13 @@ export default function LocaleButton() {
// Same route different language
const { pathname, asPath, query } = router
router.push({ pathname, query }, asPath, { locale })
const date = new Date()
const expireMs = 100 * 365 * 24 * 60 * 60 * 1000 // 100 days
date.setTime(date.getTime() + expireMs)
document.cookie = `NEXT_LOCALE=${locale};expires=${date.toUTCString()};path=/`
router.push({ pathname, query }, asPath, { locale })
},
[router.asPath],
[router.asPath, router.locale],
)
if (!router.locale) {
return null
Expand Down
23 changes: 22 additions & 1 deletion src/middleware.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,30 @@
import { isAdmin } from 'common/util/roles'
import { getToken } from 'next-auth/jwt'
import withAuth, { NextAuthMiddlewareOptions } from 'next-auth/middleware'
import { NextRequest, NextResponse } from 'next/server'

export const config = {
matcher: ['/admin', '/admin/:path*', '/profile', '/profile/:path*'],
matcher: ['/admin', '/admin/:path*', '/profile', '/profile/:path*', '/campaigns/:path*'],
}

const PUBLIC_FILE = /\.(.*)$/

export async function middleware(req: NextRequest) {
if (
req.nextUrl.pathname.startsWith('/_next') ||
req.nextUrl.pathname.includes('/api/') ||
PUBLIC_FILE.test(req.nextUrl.pathname)
) {
return
}

if (req.nextUrl.locale === 'default') {
const locale = req.cookies.get('NEXT_LOCALE')?.value || 'bg'

return NextResponse.redirect(
new URL(`/${locale}${req.nextUrl.pathname}${req.nextUrl.search}`, req.url),
)
}
}

export default withAuth({
Expand Down
115 changes: 52 additions & 63 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2296,10 +2296,10 @@ __metadata:
languageName: node
linkType: hard

"@next/env@npm:13.4.12":
version: 13.4.12
resolution: "@next/env@npm:13.4.12"
checksum: 2ccb2e271b3c42697c1e807cdf988429fcb563f80fa0ca72512f65f47cbbcc46c44fc53bf055814d4b467f1394de8c1a1ef6aad14d35f9993004faa956466d02
"@next/env@npm:13.5.4":
version: 13.5.4
resolution: "@next/env@npm:13.5.4"
checksum: 95ec7108bc88a01fed5389fb33e4b9eb34937908859d9f0aa87930c660f4395d90dafe10e54830faae5bc0a1b799be544c6455a2c8054499569d1e9296369076
languageName: node
linkType: hard

Expand All @@ -2312,65 +2312,65 @@ __metadata:
languageName: node
linkType: hard

"@next/swc-darwin-arm64@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-darwin-arm64@npm:13.4.12"
"@next/swc-darwin-arm64@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-darwin-arm64@npm:13.5.4"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard

"@next/swc-darwin-x64@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-darwin-x64@npm:13.4.12"
"@next/swc-darwin-x64@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-darwin-x64@npm:13.5.4"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard

"@next/swc-linux-arm64-gnu@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-linux-arm64-gnu@npm:13.4.12"
"@next/swc-linux-arm64-gnu@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-linux-arm64-gnu@npm:13.5.4"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard

"@next/swc-linux-arm64-musl@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-linux-arm64-musl@npm:13.4.12"
"@next/swc-linux-arm64-musl@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-linux-arm64-musl@npm:13.5.4"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard

"@next/swc-linux-x64-gnu@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-linux-x64-gnu@npm:13.4.12"
"@next/swc-linux-x64-gnu@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-linux-x64-gnu@npm:13.5.4"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard

"@next/swc-linux-x64-musl@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-linux-x64-musl@npm:13.4.12"
"@next/swc-linux-x64-musl@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-linux-x64-musl@npm:13.5.4"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard

"@next/swc-win32-arm64-msvc@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-win32-arm64-msvc@npm:13.4.12"
"@next/swc-win32-arm64-msvc@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-win32-arm64-msvc@npm:13.5.4"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard

"@next/swc-win32-ia32-msvc@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-win32-ia32-msvc@npm:13.4.12"
"@next/swc-win32-ia32-msvc@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-win32-ia32-msvc@npm:13.5.4"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard

"@next/swc-win32-x64-msvc@npm:13.4.12":
version: 13.4.12
resolution: "@next/swc-win32-x64-msvc@npm:13.4.12"
"@next/swc-win32-x64-msvc@npm:13.5.4":
version: 13.5.4
resolution: "@next/swc-win32-x64-msvc@npm:13.5.4"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
Expand Down Expand Up @@ -3662,12 +3662,12 @@ __metadata:
languageName: node
linkType: hard

"@swc/helpers@npm:0.5.1":
version: 0.5.1
resolution: "@swc/helpers@npm:0.5.1"
"@swc/helpers@npm:0.5.2":
version: 0.5.2
resolution: "@swc/helpers@npm:0.5.2"
dependencies:
tslib: ^2.4.0
checksum: 71e0e27234590435e4c62b97ef5e796f88e786841a38c7116a5e27a3eafa7b9ead7cdec5249b32165902076de78446945311c973e59bddf77c1e24f33a8f272a
checksum: 51d7e3d8bd56818c49d6bfbd715f0dbeedc13cf723af41166e45c03e37f109336bbcb57a1f2020f4015957721aeb21e1a7fff281233d797ff7d3dd1f447fa258
languageName: node
linkType: hard

Expand Down Expand Up @@ -10977,30 +10977,28 @@ __metadata:
languageName: node
linkType: hard

"next@npm:13.4.12":
version: 13.4.12
resolution: "next@npm:13.4.12"
"next@npm:13.5.4":
version: 13.5.4
resolution: "next@npm:13.5.4"
dependencies:
"@next/env": 13.4.12
"@next/swc-darwin-arm64": 13.4.12
"@next/swc-darwin-x64": 13.4.12
"@next/swc-linux-arm64-gnu": 13.4.12
"@next/swc-linux-arm64-musl": 13.4.12
"@next/swc-linux-x64-gnu": 13.4.12
"@next/swc-linux-x64-musl": 13.4.12
"@next/swc-win32-arm64-msvc": 13.4.12
"@next/swc-win32-ia32-msvc": 13.4.12
"@next/swc-win32-x64-msvc": 13.4.12
"@swc/helpers": 0.5.1
"@next/env": 13.5.4
"@next/swc-darwin-arm64": 13.5.4
"@next/swc-darwin-x64": 13.5.4
"@next/swc-linux-arm64-gnu": 13.5.4
"@next/swc-linux-arm64-musl": 13.5.4
"@next/swc-linux-x64-gnu": 13.5.4
"@next/swc-linux-x64-musl": 13.5.4
"@next/swc-win32-arm64-msvc": 13.5.4
"@next/swc-win32-ia32-msvc": 13.5.4
"@next/swc-win32-x64-msvc": 13.5.4
"@swc/helpers": 0.5.2
busboy: 1.6.0
caniuse-lite: ^1.0.30001406
postcss: 8.4.14
postcss: 8.4.31
styled-jsx: 5.1.1
watchpack: 2.4.0
zod: 3.21.4
peerDependencies:
"@opentelemetry/api": ^1.1.0
fibers: ">= 3.1.0"
react: ^18.2.0
react-dom: ^18.2.0
sass: ^1.3.0
Expand All @@ -11026,13 +11024,11 @@ __metadata:
peerDependenciesMeta:
"@opentelemetry/api":
optional: true
fibers:
optional: true
sass:
optional: true
bin:
next: dist/bin/next
checksum: 50bd443ffe09424c1a94d6606d41886ccd1d65185e125aa199957ea92c5e4d1c226f1675f3e5ea92e88f43f8355824ba50db52a8aeae225f7a86b6c901d25527
checksum: f8e964ee9bbabd0303f9d807c9193833fcc47960be029c3721db9a5a35cc4ff690313e30fc6ee497f959a9141048957dddf6eb038b4a23c78c8762b0cd9d0ae0
languageName: node
linkType: hard

Expand Down Expand Up @@ -11704,7 +11700,7 @@ __metadata:
lodash: ^4.17.21
mobx: 6.3.2
mobx-react: 7.2.0
next: 13.4.12
next: 13.5.4
next-auth: ^4.20.1
next-i18next: ^14.0.3
next-sitemap: ^3.1.52
Expand Down Expand Up @@ -15011,13 +15007,6 @@ __metadata:
languageName: node
linkType: hard

"zod@npm:^3.22.3":
version: 3.22.4
resolution: "zod@npm:3.22.4"
checksum: 80bfd7f8039b24fddeb0718a2ec7c02aa9856e4838d6aa4864335a047b6b37a3273b191ef335bf0b2002e5c514ef261ffcda5a589fb084a48c336ffc4cdbab7f
languageName: node
linkType: hard

"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4":
version: 2.0.4
resolution: "zwitch@npm:2.0.4"
Expand Down

0 comments on commit 0f6bcb9

Please sign in to comment.