architect/_archive/2025-11-09-marketplace-old/marketplace-mvp/MENU-STRUCTURE.md

Структура двухуровневого меню

Концепция

Двухуровневое меню где:
- Уровень 1 - основная страница модуля (список/дашборд)
- Уровень 2 - подстраницы с дополнительными функциями

Структура

🏠 Главная

📡 Каналы

Главная: Список всех каналов с возможностью быстрой фильтрации и сортировки

Подстраницы:
- 🏢 Компании - Управление юр.лицами (компаниями)
- 🏪 Маркетплейсы - Сортировка по типам (Ozon, Wildberries, Яндекс.Маркет)
- 🌐 Сайты - Собственные сайты/интернет-магазины
- ➕ Новый канал - Визард добавления нового канала

📦 Товары

Главная: Список всех товаров с фильтрами

Подстраницы:
- 📊 Категории - Управление категориями товаров
- 📈 Топ товаров - Аналитика продаж по товарам
- 🔄 Синхронизация - Синхронизация товаров с каналами
- ➕ Новый товар - Добавление нового товара

📋 Заказы

Главная: Список всех заказов с фильтрами по статусу

Подстраницы:
- 🔥 Активные - Только активные заказы (новые, в обработке)
- ✅ Выполненные - История выполненных заказов
- ❌ Отмененные - Отмененные заказы
- 📊 По каналам - Группировка заказов по каналам
- 🗓️ Календарь - Заказы по датам

📊 Аналитика

Главная: Дашборд с основными метриками

Подстраницы:
- 📈 Продажи - Анализ продаж по периодам
- 📡 По каналам - Сравнение эффективности каналов
- 📦 По товарам - Анализ товаров
- 🎯 ABC/XYZ - ABC/XYZ анализ товаров
- 📊 Отчеты - Готовые отчеты (экспорт в Excel, PDF)

⚙️ Настройки

Главная: Главная страница настроек

Подстраницы:
- 🏢 Компании - Управление юр.лицами
- 📡 Каналы - Настройки каналов
- 👤 Профиль - Профиль пользователя
- 🔧 Система - Системные настройки

🧪 Тесты (только для админов)

Главная: Панель тестирования

Подстраницы:
- 👤 Аккаунты - Управление тестовыми аккаунтами
- 🗑️ Очистка - Очистка данных
- ℹ️ Система - Информация о системе
- 🔧 Диагностика - Проверка API и подключений

Реализация в Streamlit

Именование файлов

Формат: NN_Emoji_Название.py для главных страниц

Для подстраниц используем подпапки:

pages/
├── 02_📡_Каналы.py           # Главная страница каналов
├── channels/                  # Подстраницы каналов
│   ├── 01_🏢_Компании.py
│   ├── 02_🏪_Маркетплейсы.py
│   ├── 03_🌐_Сайты.py
│   └── 04_➕_Новый_канал.py
├── 03_📦_Товары.py           # Главная страница товаров
├── products/                  # Подстраницы товаров
│   ├── 01_📊_Категории.py
│   ├── 02_📈_Топ_товаров.py
│   ├── 03_🔄_Синхронизация.py
│   └── 04_➕_Новый_товар.py
└── ...

Навигация

На главной странице каждого модуля показывать:
1. Основной контент (список/дашборд)
2. Кнопки быстрого доступа к подстраницам

# Пример для страницы Каналы
st.title("📡 Каналы")

# Быстрые действия
col1, col2, col3, col4 = st.columns(4)
with col1:
    if st.button("🏢 Компании", use_container_width=True):
        st.switch_page("pages/channels/01_🏢_Компании.py")
with col2:
    if st.button("🏪 Маркетплейсы", use_container_width=True):
        st.switch_page("pages/channels/02_🏪_Маркетплейсы.py")
with col3:
    if st.button("🌐 Сайты", use_container_width=True):
        st.switch_page("pages/channels/03_🌐_Сайты.py")
with col4:
    if st.button("➕ Новый канал", use_container_width=True, type="primary"):
        st.switch_page("pages/channels/04_➕_Новый_канал.py")

st.divider()

# Основной контент
# ... список каналов ...

На каждой подстранице показывать навигацию:

# Breadcrumbs
col1, col2 = st.columns([1, 10])
with col1:
    if st.button("← Назад"):
        st.switch_page("pages/02_📡_Каналы.py")
with col2:
    st.markdown("📡 Каналы → 🏢 Компании")

st.divider()

Преимущества

  1. Четкая структура - каждый модуль имеет главную страницу + подстраницы
  2. Быстрый доступ - все основные функции на главной странице модуля
  3. Масштабируемость - легко добавлять новые подстраницы
  4. Удобная навигация - breadcrumbs и кнопки "Назад"
  5. Логическая группировка - связанные функции в одном разделе