@brand подключён
Бизнес-логика собрана фабриками @cps/brand-starter-pack из настроекsrc/@brand/SETTINGS.ts — заполните их значениями своего бренда.
- Effector-стор (данные бэкенда)
- загрузка…
- Диплинк страницы
- —
- Локализованная ссылка на главную
- /
- Лигал-документы (createBrandTerms)
- /pages/terms/
Кнопка формы вызывает openForm() — гейт<AuthFormGate /> ниже ловит открытие и лениво монтирует React-форму из src/@brand/authForm.ts (нужны peer-зависимости формы, см. src/@brand/docs/createBrandAuthForm.md).
Системная делегация: клик по элементу с data-ga-event ловит один глобальный слушатель из @brand/analytics.ts и шлётanalytic.sendStat — без обёрток и без вызовов в скрипте. Параметры — в data-ga-params (JSON) или через брендовый билдер поdata-ga-value.
<cta-action> зарегистрирован фабрикой из@brand/actions: сам решает по авторизации, открыть платформу (залогинен) или форму регистрации (нет). Невидим в вёрстке (display: contents). Пропutm при клике дописывает в диплинк utm-метку компонента (схема — в docs/createBrandStore.md).
<app-link-action> по гео и устройству проставляет на вложенную ссылку data-app-type и data-app-href(стор-ссылка с UTM). Карта приложений — в SETTINGS.ts(GEO_APP_TYPES + APP_STORE_LINKS). Что проставилось:
- Тип приложения (гео + устройство)
- —
- Ссылка с UTM
- —
<switch-language-action> при клике шлёт бэкенду новый язык сессии (setSession) и только затем уводит на локализованный URL — выбор языка запоминается на бэке, не только в пути.
Системные actions (createBrandActions)
Ещё теги, зарегистрированные фабрикой из @brand/actions — невидимые web-компоненты над своим содержимым. Условный показ (authorized/geo/device) идёт черезdata-disabled: разметка стартует скрытой, action снимает флаг. Store-зависимые (authorized/geo/plus) раскрываются только после ответа бэкенда.
<support-mail-action> подставит вместо плейсхолдера (SUPPORT_EMAIL_TEMPLATE) почту региона; <plus-action>соберёт ссылку на Plus из топологии; <open-support-chat-action>откроет Intercom.
<pwa-install-action> ловит beforeinstallprompt и по клику предлагает установку; попап результата рисует бренд под idpwa-success (тексты — в @brand/actions.ts, параметрpwa).
Кастомный action бренда (src/@actions)
<copy-action> — НЕ из пакета, а собственный экшен бренда вsrc/@actions/ (рядом с @brand). Регистрируется ТЕМ ЖЕ вызовом, что пакетные: defineAction("copy-action", CopyAction). Может импортировать @brand, как и пакетные (этому не нужно).