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 // Admin Auth Logic if (pathname.startsWith('/admin')) { const session = request.cookies.get('admin_session')?.value const secret = process.env.ADMIN_SECRET || 'secret' const isLoginPage = pathname === '/admin/login' if (!session || session !== secret) { if (!isLoginPage) { return NextResponse.redirect(new URL('/admin/login', request.url)) } } else { if (isLoginPage) { return NextResponse.redirect(new URL('/admin', request.url)) } } return NextResponse.next() } // Locale Logic const hasLocale = locales.some( (locale) => pathname === `/${locale}` || pathname.startsWith(`/${locale}/`) ) if (!hasLocale) { request.nextUrl.pathname = `/${defaultLocale}${pathname}` return NextResponse.redirect(request.nextUrl) } return NextResponse.next() } export const config = { matcher: ['/((?!_next|favicon.ico|icons|manifest.webmanifest).*)'], }