/
afanasevn
/
MaxSystems
Обзор
Документация
Войти
/
afanasevn
/
MaxSystems
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
client/src/lib/adminLabels.ts
44 строки
2 KB
IBS\NAfanasev
UI fixes
22 июн 2026, 13:35
22 июн 2026, 13:35
3be6c5b
Код
Авторство
О чём код?
import type { VariantProps } from 'class-variance-authority' import type { badgeVariants } from '@/components/ui/badge' import type { UserRole } from '@/api/admin' export type BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']> export const userRoleLabels: Record<UserRole, string> = { Manager: 'Главный менеджер', LeadSpecialist: 'Главный специалист', Specialist: 'Специалист', Warehouse: 'Склад', Dispatcher: 'Диспетчер', Contractor: 'Подрядчик', Admin: 'Администратор', } export const userRoleDescriptions: Record<UserRole, string> = { Manager: 'Полный доступ, утверждение закупок, отчёты', LeadSpecialist: 'Назначение работ, контроль ТО и качества', Specialist: 'Выполнение работ, чек-листы, списание ЗИП', Warehouse: 'Приход, выдача, возврат, списание, инвентаризация', Dispatcher: 'Просмотр статусов работ и связей с Service Desk', Contractor: 'Ограниченный доступ к назначенным работам', Admin: 'Справочники, роли, импорт, настройки', } export function userRoleVariant(role: UserRole): BadgeVariant { switch (role) { case 'Manager': case 'Admin': return 'purple' case 'LeadSpecialist': return 'info' case 'Warehouse': return 'warning' default: return 'secondary' } } /** @deprecated use userRoleVariant with Badge */ export function userRoleClass(role: UserRole): string { return userRoleVariant(role) }