)
}
```
---
## 🚨 ОШИБКИ И РЕШЕНИЯ
### ПРОБЛЕМА 1: "useRoleGuard from server"
**Ошибка:**
```
Error: Attempted to call useRoleGuard() from the server but useRoleGuard is on the client
```
**Причина**: Отсутствует 'use client' в page.tsx
**Решение:**
```typescript
'use client' // Добавить в начало файла
import { useRoleGuard } from '@/hooks/useRoleGuard'
```
### ПРОБЛЕМА 2: Redirect loops
**Ошибка**: Бесконечные редиректы между путями
**Причина**: Одновременно существуют старые и новые пути
**Решение**: Удалить старые директории:
```bash
rm -rf src/app/fulfillment-supplies/
rm -rf src/app/fulfillment-warehouse/
```
### ПРОБЛЕМА 3: Потеря активных состояний
**Ошибка**: Табы не показывают активное состояние
**Причина**: Проверка pathname на старые пути
**Решение**: Обновить логику проверки:
```typescript
// ✅ До:
const isActive = pathname.startsWith('/fulfillment-supplies')
// ✅ После:
const isActive = pathname.startsWith('/fulfillment/supplies')
```
---
## 📋 CHECKLIST ДЛЯ НОВЫХ КОМПОНЕНТОВ
### ПЕРЕД СОЗДАНИЕМ:
- [ ] Прочитал MODULAR_ARCHITECTURE_PATTERN.md
- [ ] Определил нужность модульной архитектуры
- [ ] Выбрал правильный URL путь по формуле `/{role}/{domain}/{section}/{view}`
- [ ] Добавил 'use client' если используются hooks
### ПРИ СОЗДАНИИ:
- [ ] Добавил useRoleGuard с правильной ролью
- [ ] Обернул в AuthGuard для проверки авторизации
- [ ] Использовал существующие компоненты и хуки
- [ ] Следовал naming conventions
### ПОСЛЕ СОЗДАНИЯ:
- [ ] Проверил `npm run typecheck`
- [ ] Проверил `npm run lint`
- [ ] Протестировал в браузере
- [ ] Убедился что navigation работает
---
## 🎯 ЗАКЛЮЧЕНИЕ
**NEXT.JS 13+ В SFERA: СТАБИЛЬНАЯ PRODUCTION-READY СИСТЕМА**
🎯 **ПРИНЦИПЫ:**
- 'use client' для всех interactive компонентов
- URL-based routing вместо внутренних состояний
- Модульная архитектура для сложных компонентов
- Систематическая структура путей по ролям
🚀 **РЕЗУЛЬТАТ:**
- 100% совместимость с Next.js 15
- Отсутствие server/client конфликтов
- SEO-оптимизированные URL
- Простая навигация и maintenance
**Данные практики обеспечивают стабильность и масштабируемость SFERA на Next.js 13+.**
---
_Создано: 30.08.2025_
_На основе реального опыта разработки SFERA_