Next.js 16 App Router, TR/EN i18n via [lang] routing and proxy.ts, Tailwind v4, minimal list menu style, sticky bottom tab bar with Intersection Observer, PWA manifest, WhatsApp fixed button. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
23 lines
588 B
TypeScript
23 lines
588 B
TypeScript
import { NextResponse } from 'next/server'
|
|
import type { NextRequest } from 'next/server'
|
|
|
|
const locales = ['tr', 'en']
|
|
const defaultLocale = 'tr'
|
|
|
|
export function proxy(request: NextRequest) {
|
|
const { pathname } = request.nextUrl
|
|
|
|
const hasLocale = locales.some(
|
|
(locale) => pathname === `/${locale}` || pathname.startsWith(`/${locale}/`)
|
|
)
|
|
|
|
if (!hasLocale) {
|
|
request.nextUrl.pathname = `/${defaultLocale}${pathname}`
|
|
return NextResponse.redirect(request.nextUrl)
|
|
}
|
|
}
|
|
|
|
export const config = {
|
|
matcher: ['/((?!_next|favicon.ico|icons|manifest.webmanifest).*)'],
|
|
}
|