/
pvldchkv
/
unity
Обзор
Документация
Войти
/
pvldchkv
/
unity
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/clickstream/useRoleLabel.ts
39 строк
2 KB
Dyachkov Pavel
Add clickstream analytics infrastructure and mark up pages
29 апр 2026, 16:07
29 апр 2026, 16:07
9e448ec
Код
Авторство
О чём код?
import { useAuth } from "../projects/unity-investor/context/AuthContext"; import type { InvestorSubtype, Role, } from "../projects/unity-investor/config/roles"; // Преобразует роль текущего пользователя в сегмент пути для clickstream label // согласно дереву метрик SberUnity: // // founder → "Стартап" // investor (subtype angel)→ "Бизнес-ангел" // investor (subtype fund) → "Фонд" // corporation → "Корпорация" // moderator → "Модератор" (вне основного дерева, но фиксируем для трассировки) export function getRoleLabel( role: Role, subtype?: InvestorSubtype, ): string { switch (role) { case "founder": return "Стартап"; case "investor": return subtype === "fund" ? "Фонд" : "Бизнес-ангел"; case "corporation": return "Корпорация"; case "moderator": return "Модератор"; } } // Хук-обёртка: читает текущую роль из AuthContext. // Используется в страницах, где label зависит от роли просматривающего: // // const roleLabel = useRoleLabel(); // useTrackPageOpen({ label: `${roleLabel}/Стартапы/Открытие` }); export function useRoleLabel(): string { const { role, subtype } = useAuth(); return getRoleLabel(role, subtype); }