feat: завершить полную миграцию V1→V2 с модульной архитектурой и документацией
АРХИТЕКТУРНЫЕ ИЗМЕНЕНИЯ: - Полная миграция на URL структуру /{role}/{domain}/{section}/{view} - Удаление всех старых директорий (/fulfillment-supplies/, /fulfillment-warehouse/, etc.) - Модульная архитектура seller warehouse с URL-based routing - Система rollback через комментарии для безопасных изменений НОВЫЕ КОМПОНЕНТЫ И СТРАНИЦЫ: - Создание всех недостающих страниц для FULFILLMENT, SELLER ролей - Модульный layout для seller warehouse с 3 табами - Извлечение переиспользуемого хука useWBWarehouseData ИСПРАВЛЕНИЯ БЕЗОПАСНОСТИ: - Добавление 'use client' директив во все WHOLESALE и LOGISTICS страницы - Исправление отсутствующих security guards (useRoleGuard + AuthGuard) - Обновление navigation конфигураций для всех ролей ДОКУМЕНТАЦИЯ: - Создание MIGRATION_GUIDE_V1_TO_V2.md: 8-этапное руководство по миграции - Создание NEXTJS_BEST_PRACTICES.md: паттерны для Next.js 13+ в SFERA - Обновление URL_ROUTING_RULES.md с seller warehouse и rollback системой - Обновление SIDEBAR_ARCHITECTURE_IMPLEMENTATION.md с новыми метриками - Обновление INDEX.md с новыми документами Development раздела ИСПРАВЛЕНИЯ ESLINT: - Удаление неиспользуемых импортов и переменных - Исправление import/order ошибок в модульных компонентах - Исправление react/no-unescaped-entities - Перенос длинных строк для соответствия max-len 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -2,7 +2,8 @@
|
||||
|
||||
> **Дата создания**: 28.08.2025
|
||||
> **Статус**: ✅ Активно
|
||||
> **Связанные документы**:
|
||||
> **Связанные документы**:
|
||||
>
|
||||
> - [COMPONENT_ARCHITECTURE.md](./COMPONENT_ARCHITECTURE.md)
|
||||
> - [DOMAIN_MODEL.md](../core/DOMAIN_MODEL.md)
|
||||
> - [SIDEBAR_ARCHITECTURE_RULES.md](./SIDEBAR_ARCHITECTURE_RULES.md)
|
||||
@ -10,6 +11,7 @@
|
||||
## 🎯 ОСНОВНЫЕ ПРИНЦИПЫ
|
||||
|
||||
### ФОРМУЛА URL
|
||||
|
||||
```
|
||||
/{role}/{domain}/{section}/{view}
|
||||
```
|
||||
@ -50,6 +52,10 @@
|
||||
│ └── marketplace/ # Поставки на маркетплейсы
|
||||
│ ├── wildberries # Поставки на WB
|
||||
│ └── ozon # Поставки на Ozon
|
||||
├── warehouse/ # Складские операции селлера
|
||||
│ ├── fulfillment # Склад фулфилмент (данные из ФФ)
|
||||
│ ├── wildberries # Склад Wildberries
|
||||
│ └── storage # Мой склад
|
||||
├── create/ # Создание поставок
|
||||
│ ├── goods # Создать поставку товаров
|
||||
│ └── consumables # Создать поставку расходников
|
||||
@ -63,10 +69,14 @@
|
||||
```
|
||||
|
||||
**Примеры URL:**
|
||||
|
||||
- `/seller/home` - главная страница селлера
|
||||
- `/seller/supplies/goods/cards` - товары-карточки
|
||||
- `/seller/supplies/consumables` - расходники селлера
|
||||
- `/seller/supplies/marketplace/wildberries` - поставки на WB
|
||||
- `/seller/warehouse/fulfillment` - склад фулфилмент
|
||||
- `/seller/warehouse/wildberries` - склад Wildberries
|
||||
- `/seller/warehouse/storage` - мой склад
|
||||
- `/seller/create/consumables` - создание расходников
|
||||
|
||||
### 🏭 FULFILLMENT (Фулфилмент)
|
||||
@ -81,21 +91,21 @@
|
||||
│ │ └── received # Принятые на склад
|
||||
│ ├── consumables # Расходники ФФ
|
||||
│ └── seller-consumables # Расходники селлеров (на хранении)
|
||||
├── warehouse/ # Складские операции
|
||||
│ ├── supplies # Остатки расходников ФФ
|
||||
│ ├── seller-consumables # Остатки расходников селлеров
|
||||
│ └── products # Остатки товаров
|
||||
├── warehouse/ # Главная складских операций
|
||||
│ └── fulfillment-consumables/ # Подраздел: расходники фулфилмента
|
||||
├── create/ # Создание заказов ФФ
|
||||
│ └── consumables # Заказ расходников ФФ
|
||||
└── statistics # Статистика фулфилмента
|
||||
```
|
||||
|
||||
**Примеры URL:**
|
||||
|
||||
- `/fulfillment/home` - главная страница фулфилмента
|
||||
- `/fulfillment/supplies/goods/receiving` - товары на приемке
|
||||
- `/fulfillment/supplies/consumables` - расходники ФФ
|
||||
- `/fulfillment/supplies/seller-consumables` - расходники селлеров
|
||||
- `/fulfillment/warehouse/supplies` - склад расходников
|
||||
- `/fulfillment/warehouse` - главная складских операций
|
||||
- `/fulfillment/warehouse/fulfillment-consumables` - расходники фулфилмента
|
||||
|
||||
### 🏪 WHOLESALE (Поставщик)
|
||||
|
||||
@ -111,6 +121,7 @@
|
||||
```
|
||||
|
||||
**Примеры URL:**
|
||||
|
||||
- `/wholesale/home` - главная страница поставщика
|
||||
- `/wholesale/orders` - все входящие заказы
|
||||
- `/wholesale/catalog/goods` - каталог товаров
|
||||
@ -136,6 +147,7 @@
|
||||
```
|
||||
|
||||
**Примеры URL (в порядке сайдбара):**
|
||||
|
||||
- `/logistics/home` - 🏠 главная страница логистики
|
||||
- `/logistics/orders/pending` - 🚛 ожидающие заказы (перевозки)
|
||||
- `/logistics/messenger` - 💬 мессенджер логиста
|
||||
@ -202,7 +214,7 @@ src/app/
|
||||
// В supplies-dashboard.tsx
|
||||
useEffect(() => {
|
||||
const currentPath = window.location.pathname
|
||||
|
||||
|
||||
if (currentPath.includes('/seller/supplies/goods/cards')) {
|
||||
setActiveTab('fulfillment')
|
||||
setActiveSubTab('goods')
|
||||
@ -233,10 +245,41 @@ useEffect(() => {
|
||||
|
||||
---
|
||||
|
||||
## 🔄 МИГРАЦИЯ V1 → V2 С ROLLBACK
|
||||
|
||||
### СИСТЕМА ROLLBACK ЧЕРЕЗ КОММЕНТАРИИ
|
||||
|
||||
Все критические компоненты содержат закомментированные старые версии для быстрого отката:
|
||||
|
||||
```typescript
|
||||
// Вариант 1: Новый URL (активный)
|
||||
router.push('/fulfillment/supplies/detailed-supplies')
|
||||
|
||||
// Вариант 2: Старый URL (для отката)
|
||||
// router.push('/fulfillment-supplies/detailed-supplies')
|
||||
```
|
||||
|
||||
### КОМПОНЕНТЫ С ROLLBACK:
|
||||
|
||||
- `create-fulfillment-consumables-supply-v2.tsx`
|
||||
- `modular-version.tsx`
|
||||
- `monolithic-version.tsx`
|
||||
- `seller-modular-version.tsx`
|
||||
- `multilevel-supplies-table/index.tsx`
|
||||
|
||||
### КОМАНДЫ ROLLBACK:
|
||||
|
||||
- `"откати [описание] через комментарии"` - переключить на старую версию
|
||||
- `"переключи на вариант 2"` - активировать закомментированный код
|
||||
- `"очисти комментарии"` - удалить неактивные варианты
|
||||
|
||||
---
|
||||
|
||||
## 📝 ИСТОРИЯ ИЗМЕНЕНИЙ
|
||||
|
||||
| Дата | Версия | Описание | Автор |
|
||||
|------------|--------|---------------------------------------------|----------|
|
||||
| 28.08.2025 | 1.0 | Первая версия правил URL | AI |
|
||||
| 28.08.2025 | 1.1 | Миграция /supplies → /seller | AI |
|
||||
| 28.08.2025 | 1.2 | Связь с SIDEBAR_ARCHITECTURE_RULES.md | AI |
|
||||
| Дата | Версия | Описание | Автор |
|
||||
| ---------- | ------ | ---------------------------------------- | ----- |
|
||||
| 28.08.2025 | 1.0 | Первая версия правил URL | AI |
|
||||
| 28.08.2025 | 1.1 | Миграция /supplies → /seller | AI |
|
||||
| 28.08.2025 | 1.2 | Связь с SIDEBAR_ARCHITECTURE_RULES.md | AI |
|
||||
| 30.08.2025 | 2.0 | Полная миграция V1→V2 + rollback система | AI |
|
||||
|
Reference in New Issue
Block a user