'use client'
import { redirect, useSearchParams } from 'next/navigation'
import { Suspense } from 'react'
import { AuthFlow } from '@/components/auth/auth-flow'
import { AuthGuard } from '@/components/auth-guard'
function RegisterContent() {
console.log('🎯 RegisterContent - компонент рендерится')
const searchParams = useSearchParams()
const partnerCode = searchParams.get('partner')
const referralCode = searchParams.get('ref')
console.log('🔍 RegisterContent - URL параметры:', {
partnerCode,
referralCode,
searchParams: Object.fromEntries(searchParams.entries()),
allParams: searchParams.toString(),
currentURL: typeof window !== 'undefined' ? window.location.href : 'server',
})
// Валидация: нельзя использовать оба параметра одновременно
if (partnerCode && referralCode) {
console.error('Попытка использовать и ref и partner одновременно')
redirect('/register') // Редирект на чистую регистрацию
return null
}
// Валидация формата кода (поддерживаем партнерские и реферальные коды)
const isValidCode = (code: string | null): boolean => {
if (!code) return true // null/undefined разрешены
// Партнерские коды: FF_INN_TIMESTAMP или SL_PHONE_TIMESTAMP
if (code.match(/^[A-Z]{2}_\d+_\d+$/)) return true
// Реферальные коды: 10 символов из разрешенного набора
if (code.match(/^[ABCDEFGHJKLMNPQRSTUVWXYZ23456789]{10}$/)) return true
return false
}
if (referralCode && !isValidCode(referralCode)) {
console.error(`Недействительный реферальный код: ${referralCode}`)
redirect('/register')
return null
}
if (partnerCode && !isValidCode(partnerCode)) {
console.error(`Недействительный партнерский код: ${partnerCode}`)
redirect('/register')
return null
}
console.log('🚀 RegisterContent - Передача в AuthFlow:', { partnerCode, referralCode })
// Если есть реферальный или партнерский код, всегда показываем AuthFlow
// даже для авторизованных пользователей (для создания дополнительных организаций)
if (partnerCode || referralCode) {
console.log('🎯 RegisterContent - Принудительный показ AuthFlow из-за наличия кода')
return
}
return (
}>
{/* Если пользователь авторизован, перенаправляем в дашборд */}
{redirect('/dashboard')}
)
}
export default function RegisterPage() {
console.log('🚀 RegisterPage - компонент рендерится')
return (
Загрузка...}>
)
}