Группы клиентов — Список

Роут: /customer-groups API: GET /api/v1/admin/customer-groups

Статус реализации

Backend готов (Customer Service: CRUD групп, members, recompute-scheduler). Фронт в админке не начат — нет папки pages/customer-groups/.

Источники


Что видит пользователь

Страница со списком групп клиентов в виде таблицы. Вверху — заголовок «Группы клиентов», строка поиска, фильтр по типу. Справа — кнопка «+ Создать группу».


Таблица

Колонки

КолонкаДанныеПримечание
НазваниеnameКликабельное — переход в карточку
ТипtypeChip: 🔒 Статическая / ⚙️ Динамическая
Клиентоввычисляемое (кол-во в customer_group_members)Число
Дата созданияcreated_atФормат DD.MM.YYYY
Последний пересчётlast_recomputed_atТолько для dynamic; формат DD.MM.YYYY HH:mm. Для static — «—»
ДействияМеню с действиями

Особенности отображения

  • Soft-deleted группы в списке не отображаются
  • Сортировка по умолчанию — по дате создания DESC

Фильтры

ФильтрТипЗначенияDefault
ТипSelectВсе / Статическая / ДинамическаяВсе (query type)

Поиск

  • Поле ввода с placeholder «Поиск по названию»
  • Debounce 300ms
  • Query param: search

Пагинация

  • 20 записей на страницу

Действия

Кнопки в шапке

КнопкаПереходВидимость
«+ Создать группу»/customer-groups/newPermission customer_groups.edit + только Владелец франшизы

Меню действий строки

ДействиеВидимостьЧто происходит
Редактироватьcustomer_groups.editПереход в /customer-groups/{id}/edit
Пересчитать сейчасДля dynamic + customer_groups.editPOST /customer-groups/{id}/recompute + toast «Пересчёт запущен»
Удалитьcustomer_groups.editМодалка подтверждения (см. карточку)

Состояния

СостояниеЧто показываем
ЗагрузкаSkeleton-таблица
Пусто«Групп ещё нет. Создайте первую группу, чтобы сегментировать клиентов» + CTA (если permission)
Ошибка«Не удалось загрузить данные» + «Повторить»
Пустой поиск«Ничего не найдено»

Ролевой доступ

РольДоступ
Владелец франшизыПолный CRUD
Владелец партнёраНет доступа к разделу — в меню скрыт, URL → 403
Обычный сотрудникТолько при permission customer_groups.read (чтение). Редактирование — только customer_groups.edit (обычно не выдаётся)

Переходы

ОткудаКудаТриггер
СписокКарточкаКлик по названию
СписокФорма создания«+ Создать группу»
СписокФорма редактированияМеню → «Редактировать»

Ссылки