Адаптация интерфейса под темную тему

Продвинутый
Данный материал предназначен для продвинутых пользователей. Если у вас есть вопросы по применению, обратитесь в Техническую поддержку BPMSoft.

Проблема

Начиная с версии 1.8 в BPMSoft доступно переключение на темную тему интерфейса. В связи с этим возможны сценарии некорректного отображения пользовательских стилей на клиентских схемах при переключении тем.

Например, в разделе «Контакты» настроены стили отображения записей реестра раздела согласно примеру в статье Настроить стили отображения записей реестра раздела:

Пример настройки стилей отображения записей реестра раздела
define("ContactSectionV2", [], function() {
	return {
		entitySchemaName: "Contact",
		methods: {
			prepareResponseCollectionItem: function(item) {
				this.callParent(arguments);
				item.customStyle = null;
				item.customStyle = {
					"border": "2px solid #000000"
				};
			}
		}
	};
});

Для каждой записи в реестре добавлены границы черного цвета.

Рисунок 1 — Стили в светлой теме

Рисунок 1 — Стили в светлой теме

При переключении на темную тему цвет границ сольется с общим фоном.

Рисунок 2 — Стили в темной теме до адаптации

Рисунок 2 — Стили в темной теме до адаптации

Решение

Для кастомизации клиентского интерфейса на проектном слое рекомендуется использовать новую цветовую палитру, которая создана в BPMSoft версии 1.8. Она состоит из переменных, значения которых подстраиваются под выбранную тему, и не подлежит изменению. Файлы со стилями представлены в разделе Цветовые палитры.

Некоторые переменные в обеих темах в цветовой палитре имеют одинаковые значения.

Для адаптации цвета границ текущего примера выберем переменную --border-color-primary:

Адаптированный пример настройки стилей отображения записей реестра раздела
define("ContactSectionV2", [], function() {
	return {
		entitySchemaName: "Contact",
		methods: {
			prepareResponseCollectionItem: function(item) {
				this.callParent(arguments);
				item.customStyle = null;
				item.customStyle = {
					"border": "2px solid var(--border-color-primary)"
				};
			}
		}
	};
});

В светлой теме значение переменной будет равно #252525 (черный цвет), а для темной темы — #FFF (белый цвет).

Рисунок 3 — Стили в темной теме после адаптации

Рисунок 3 — Стили в темной теме после адаптации

Дополнительные рекомендации

При реализации пользовательских стилей на проектном слое рекомендуется:

  1. Связывать элементы с цветовой гаммой, заливкой и другими характеристиками через переменную. Это обеспечит правильное отображение элементов в обеих темах.
  2. Картинки и иконки с цветным фоном (например, белым) лучше заменить на версии с прозрачным фоном в форматах .png или .svg. Это предотвратит некорректное отображение фона на одной из тем.
  3. Иконки для светлой и темной тем должны быть одинаковыми, без изменения цвета, так как нет механизма для автоматической смены иконок при переключении тем. Используйте иконки, которые гармонично смотрятся как на светлой, так и на темной теме.

Цветовые палитры

Цветовая палитра для светлой темы
Цветовая палитра для темной темы

Материал был полезен для вас?
Вебинар: 22 апреля в 11:00
Приглашаем вас на вебинар «BPMSoft – от выбора к реальным процессам», где покажем, как компании на практике сокращают time-to-market и масштабируют бизнес с помощью решений BPMSoft.
Регистрация на мероприятие
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM?
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Готовы сделать выбор CRM? (детальная)
Оставьте заявку, и наши эксперты бесплатно проконсультируют вас, подберут подходящую конфигурацию и рассчитают стоимость проекта.
Оставить заявку
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Демонстрационная версия BPMSoft
Заполните заявку для получения бесплатного доступа к демонстрационному стенду на 14 дней.
Типовое внедрение
Внедрите BPMSoft CRM в свою компанию всего за 8 рабочих дней по фиксированной цене! Заполните заявку для уточнения условий.
Заказать презентацию
Наш менеджер свяжется с Вами в ближайшее время.
Рассчитать стоимость
Задать вопрос
Карта сценариев использования ИИ для управления маркетингом, продажами и сервисом
Заполните форму и мы отправим исследование на E-mail
Присоединяйтесь к партнерской сети BPMSoft
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время
Тип партнерства*
Управление полным жизненным циклом клиента: от генерации лидов и продаж до внедрения, поддержки и продления подписки.
Разработка собственного Приложения – производного программного обеспечения, созданного на платформе BPMSoft (Базовое ПО).
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Есть вопросы?
Не нашли для себя подходящую вакансию, или остались вопросы?
*
Стать образовательным партнёром
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Заявка на консультацию
Оставьте свои контакты и наш менеджер свяжется с Вами в ближайшее время.
Подписка
Спасибо!
Ваша заявка принята.
Наш сотрудник свяжется с вами в течение 1-2 рабочих дней.
Внимание!
Обнаружена ошибка.
Проверьте вашу почту
Для завершения подписки перейдите по ссылке в письме, которое мы только что отправили. Если письма нет во «Входящих», проверьте папку «Спам».
Telegram Подписаться
Уважаемые клиенты! Предупреждаем о случаях недобросовестной конкуренции и мошенничестве в сети Интернет.
Подробнее