Consent
Управление consent-баннером, блокировкой скриптов и декларациями cookie прямо из админки Payload.
Установка
pnpm add @bespokecode/payload-consent Описание
Управление согласиями встроено в Payload, а не прикручено сбоку. Редакторы настраивают сторонние сервисы, категории, описания и декларации cookie как обычные коллекции Payload. На фронтенде появляется баннер с настраиваемым внешним видом, диалог настроек и загрузчик скриптов, который не пропускает в документ ни один не-essential тег, пока согласие не получено. Внешняя платформа, доменная лицензия и второй скрипт в критическом пути не нужны. Плагин регистрируется в `payload.config.ts`. Затем фронтенд-лейаут оборачивается в `ConsentProvider` (React server component) и рендерится `ConsentBanner`. Добавленные в админке скрипты блокируются до получения согласия. Плагин создаёт коллекции для категорий согласия и сервисов, global-настройки и опциональную коллекцию логов согласий. При первом запуске сидятся четыре категории по умолчанию: Essential, Functional, Analytics и Marketing. Настройки access control ограничивают, кто может управлять скриптами, так как inline-код исполняется на каждой странице. Поддерживается Google Consent Mode v2: `gtag('consent','default', ...denied)` эмитится inline в head раньше всего остального, сигналы маппятся по категориям. Global Privacy Control включён по умолчанию: если `navigator.globalPrivacyControl` активен и хранилище пусто, не-essential категории запрещаются, баннер скрыт, но это решение не записывается в cookie. Компонент `ConsentGate` блокирует встроенный контент вроде iframe, с режимами `allowOnce` для единичного показа без сохранения и `allowAlways` для сохранения категории. Отзыв согласия работает асимметрично. Объявленные cookies, ключи `localStorage` и `sessionStorage` удаляются, сигналы Consent Mode возвращаются к denied, а сервисы с настройкой reload инициируют перезагрузку страницы. Версия согласия вычисляется из структуры конфигурации (slug'и категорий, флаги essential, ключи скриптов), текстовые описания исключены, так что исправление опечатки не заставляет пользователя перезапрашивать согласие. Это не сканер cookies: плагин не обходит сайт, не обнаруживает cookies автоматически и не ведёт базу данных вендоров. Логирование согласий опционально. Требуются Payload 3.40+, React 19 и Next.js 15 для серверного entry point.
О пакете
- Имя пакета
@bespokecode/payload-consent- Последняя версия
1.0.2- Размер
- 528 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 34
- Последняя публикация
- 5 авг. 2026 г.
Похожие плагины
Ещё в категории «Администрирование»onpage for TanStack Start
Подключает плагин payload-onpage к сайту на TanStack Start, чтобы редакторы правили контент и смотрели черновики прямо на странице.
On-Page Editing
Встраивает редактирование Payload-страниц прямо в Next.js-фронтенд, сохраняет правки как черновики и выдаёт ссылки для предпросмотра.
On-Page React Editor
Добавляет на React-страницы Payload визуальный редактор: тулбары, панели и редакторы полей поверх отрисованной страницы.
Collaborative Comments
Добавляет комментарии на уровне документов и полей в админку Payload, с упоминаниями, email-уведомлениями, разрешением, мультитенантностью и фильтрацией по локали.
Dub
Плагин для Payload CMS для автоматического создания и управления короткими ссылками с использованием Dub.
Visual Editing
Плагин для Payload CMS 3.x добавляет на фронтенд оверлеи редактирования: клик по элементу открывает нужное поле в админке.