import { NextRequest, NextResponse } from 'next/server' import { clickStorage } from '@/lib/click-storage' export async function GET( request: NextRequest, { params }: { params: { linkId: string } } ) { const { linkId } = params try { // Получаем целевую ссылку из параметров const redirectUrl = request.nextUrl.searchParams.get('redirect') if (!redirectUrl) { console.error(`No redirect URL for link: ${linkId}`) return NextResponse.redirect(new URL('/', request.url)) } // Декодируем URL const decodedUrl = decodeURIComponent(redirectUrl) // Записываем клик через общий storage const totalClicks = clickStorage.recordClick(linkId) console.log(`Redirect: ${linkId} -> ${decodedUrl} (click #${totalClicks})`) // Мгновенный серверный редирект на целевую ссылку return NextResponse.redirect(decodedUrl) } catch (error) { console.error('Error processing tracking link:', error) return NextResponse.redirect(new URL('/', request.url)) } }