Все константы лежат в projects/core/src/consts/ (вне lib/, отдельная иерархия). Не реэкспортируются из core/src/public-api.ts — потребители импортируют их через @core/consts/... (alias @core/* указывает на projects/core/src/*).
core/src/consts/
filters/ # массивы для фильтров (feed, vacancies, ratings) — value/label/id
lists/ # справочники для select-полей (educations, languages, etc.)
navigation/ # элементы боковой/верхней навигации
other/ # всё, что не попало в другие группы (цвета, иконки, profile-fields, kanban-* — см. ниже)
(Сохранено из удалённого projects/core/src/consts/README.md.)
- Формат:
feature.const.ts - Стиль: kebab-case
- Примеры:
navigation.const.ts,selects.const.ts,permissions.const.ts
- Стиль: camelCase
- Если переменная — список, имя во множественном числе
- Имя отражает назначение
- Экспорт только через
export const
export const navItems = [...];Формат каждой константы: { id: number, value: string, label: string }[] (иногда + дополнительные поля).
| Файл | Экспорт | Где используется |
|---|---|---|
actiion-type-list.const.ts |
actionTypeList (3 элемента: action/call/meet) |
Канбан task-detail (выбор типа задачи). |
direction-project-list.const.ts |
directionProjectList (8 направлений: Технология, IT, Транспорт, Хим Био, Дизайн, Мультимедиа, СоцТех, Урбанистика) |
Создание/редактирование проекта. |
education-info-list.const.ts |
educationUserType (3) + educationUserLevel (5) |
Profile edit — образование. |
language-info-list.const.ts |
languageNamesList |
Profile edit — языки. |
mock-months-list.const.ts |
mockMonthsList |
Месяцы для дат рождения и т. п. |
priority-info-list.const.ts |
priorityInfoList (6 приоритетов: бэклог/в ближайшие часы/высокий/средний/низкий/улучшение, с цветом и priorityType для бэка) |
Канбан task-detail (выбор приоритета). |
resource-options-list.const.ts |
resourceOptionsList |
Project edit — типы ресурсов. |
roles-members-list.const.ts |
rolesMembersList |
Members filters / project team. |
track-project-list.const.ts |
trackProjectList |
Программные треки. |
work-experience-list.const.ts |
workExperienceList |
Vacancy / profile (опыт работы). |
work-format-list.const.ts |
workFormatList |
Vacancy (формат работы — онлайн/гибрид/офис). |
work-schelude-list.const.ts |
workScheludeList (опечатка) |
Vacancy (график). |
| Файл | Экспорт |
|---|---|
feed-filter.const.ts |
feedFilter |
rating-filter.const.ts |
ratingFilters |
tags-filter.const.ts |
tagsFilter |
work-experience-filter.const.ts |
workExperienceFilter |
work-format-filter.const.ts |
workFormatFilter |
work-schedule-filter.const.ts |
workScheduleFilter |
Используются виджетами widgets/feed-filter, widgets/projects-filter, widgets/vacancy-filter. Структура — массив групп с фильтрами.
| Файл | Экспорт | Что |
|---|---|---|
nav-profile-items.const.ts |
navProfileItems |
Шаги редактирования профиля (main / education / experience / achievements / additional), каждый шаг → { step: EditStep, src: iconName, label: string }. |
nav-project-items.const.ts |
navProjectItems |
Шаги редактирования проекта (main / contacts / achievements / vacancies / team / additional). |
Тип EditStep импортируется из projects/social_platform/src/app/api/project/project-step.service — это ещё одна зависимость core → social_platform.
| Файл | Экспорт | Что | Статус |
|---|---|---|---|
profile-fields.const.ts |
profileFields |
Конфигурация полей профиля: { key, type: "array" | "string" }[]. Используется при сериализации формы edit. |
актив |
quick-answers.const.ts |
QuickAnswers (PascalCase) |
5 готовых причин отказа от выполнения канбан-задачи. | используется только канбаном — модуль отключён |
tag-colors.const.ts |
tagColors |
10+ цветов для UI-тегов: { id, name: string, color: hex }. |
актив (используется в <app-tag>) |
trajectory-more.const.ts |
trajectoryMore |
Items для меню "ещё" в траектории курсов. | актив |
kanban-column-info.const.ts |
kanbanColumnInfo |
Опции dropdown для колонки канбана. | kanban-only, модуль отключён |
kanban-icons.const.ts |
KanbanIcons (PascalCase) |
Иконки досок канбана. | kanban-only, модуль отключён |
- Создать
<feature>.const.tsв подходящей папке (lists/для справочников<select>,filters/для фильтров,navigation/для шагов нав-меню,other/для остального). - Имя файла — kebab-case, имя константы — camelCase.
- Если константа — массив, имя во множественном числе.
- Экспорт через
export const. Никакихexport default. - Если константа описывает выбор для
<app-select>— структура{ id, value, label }плюс при необходимостиadditionalInfoдля иконки/цвета. - Импортировать через alias:
import { foo } from "@core/consts/other/foo.const".