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:
Veronika Smirnova
2025-09-12 15:50:23 +03:00
parent b78eb5eea8
commit 8e43df4d1d
10 changed files with 362 additions and 51 deletions

View File

@ -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 />