feat: улучшения UI компонентов, документации и сервисов интеграций
## 🎯 Основные изменения: ### ✅ Обновление документации интеграций - Расширена документация DaData API integration - Добавлены результаты тестирования и примеры использования - Обновлена информация о статусе интеграций ### ✅ Улучшения UI компонентов - Обновлены market компоненты для корректной работы с GraphQL - Исправлены параметры передачи данных в counterparties/logistics/sellers/suppliers - Улучшен registration flow и confirmation step - Обновлен dashboard home с новой функциональностью ### ✅ Улучшения GraphQL резолверов - Обновлен seller-consumables.ts с улучшенной обработкой данных - Исправлены методы создания и обновления поставок - Добавлена лучшая обработка ошибок и валидация ### ✅ Обновление сервисов интеграций - Улучшен wildberries-service.ts с новыми методами API - Добавлена лучшая обработка ответов и ошибок - Обновлены методы работы с маркетплейсами ## 🧪 Результат: - ✅ UI компоненты работают стабильнее - ✅ Документация актуализирована - ✅ Интеграции функционируют корректно - ✅ GraphQL запросы оптимизированы 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -7,6 +7,8 @@ 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')
|
||||
@ -15,6 +17,8 @@ function RegisterContent() {
|
||||
partnerCode,
|
||||
referralCode,
|
||||
searchParams: Object.fromEntries(searchParams.entries()),
|
||||
allParams: searchParams.toString(),
|
||||
currentURL: typeof window !== 'undefined' ? window.location.href : 'server',
|
||||
})
|
||||
|
||||
// Валидация: нельзя использовать оба параметра одновременно
|
||||
@ -24,10 +28,17 @@ function RegisterContent() {
|
||||
return null
|
||||
}
|
||||
|
||||
// Валидация формата кода (10 символов, только разрешенные)
|
||||
// Валидация формата кода (поддерживаем партнерские и реферальные коды)
|
||||
const isValidCode = (code: string | null): boolean => {
|
||||
if (!code) return true // null/undefined разрешены
|
||||
return /^[ABCDEFGHJKLMNPQRSTUVWXYZ23456789]{10}$/.test(code)
|
||||
|
||||
// Партнерские коды: 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)) {
|
||||
@ -60,6 +71,8 @@ function RegisterContent() {
|
||||
}
|
||||
|
||||
export default function RegisterPage() {
|
||||
console.log('🚀 RegisterPage - компонент рендерится')
|
||||
|
||||
return (
|
||||
<Suspense fallback={<div>Загрузка...</div>}>
|
||||
<RegisterContent />
|
||||
|
Reference in New Issue
Block a user