Files
Deal/.superpowers/sdd/channel-discovery/task-8-brief.md
T
Rustam Khalimov a7e38846d7 Обновить доки по закрытию остатков код-стайла
Аудит §2 переписан под решения (var-гейт, LF, дедуп закрыт — дублей нет);
backlog: TD-COMMENTS-IFACE п.1–3 закрыты, TD-STYLE-ANALYZERS закрыт; STATUS.md —
новый блок захода, устаревший блок «Осталось (в backlog)» в шапке удалён; план и
ledger захода.
2026-09-11 19:01:42 +03:00

1.6 KiB

Task 8: Фронтенд — store + каркас подвкладки «Поиск»

Files:

  • Modify: frontend/src/store.js
  • Create: frontend/src/views/DiscoveryView.vue
  • Modify: frontend/src/views/ChannelsView.vue

Interfaces:

  • state: channelsTab: 'list' | 'search', discTasks: [], discCandidates: [], discBlacklist: [], discLog: [], discActiveTaskId: null, discCandidateStatus: 'review', discBusy: false.

  • store-функции: gotoChannelsTab(tab), loadDiscTasks(), saveDiscTask(form, id=null) (create/patch), deleteDiscTask(id), startDiscTask(id), pauseDiscTask(id), generateDiscKeywords(taskId), loadDiscCandidates(taskId, status), joinDiscCandidate(c), rejectDiscCandidate(c), loadDiscBlacklist(), removeDiscBlacklist(id), loadDiscLog(taskId).

  • Step 1: store.js — состояние + функции (паттерны: api.get/post/patch/delete, toast, errMsg).

  • Step 2: ChannelsView.vue — в шапке сегмент: «Каналы | Поиск» (state.channelsTab), содержимое по табу.

  • Step 3: DiscoveryView.vue (каркас): левая колонка — список задач (+ «Новая задача»); правая — панель задачи: мастер (name, description, «Сгенерировать ключи ИИ», чипы ключей редактируемые, minSubscribers, lang select ru/any, threshold, sampleSize, planJoins, autoJoin toggle, кнопки «Запустить/Пауза/Удалить»).

  • Step 4: npm run build — без ошибок.