Привет! Я хотел бы узнать, как определить цвета для нескольких цветовых схем, например, светлой, тёмной и приглушённой, аналогично тому, как это сделано в Twitter.
Моя текущая проблема:
Я могу стилизовать цвета по умолчанию для светлой и тёмной тем, которые не указаны явно, например primary-low, в пользовательском компоненте темы, но не знаю, как добавить этот пользовательский режим цвета в другую цветовую схему.
Discourse поддерживает две цветовые схемы: светлую и тёмную. Поэтому при переключении устройства в тёмный режим по умолчанию будет использоваться цветовая схема, указанная в настройке сайта default dark mode color scheme id.
Вы можете настроить дополнительные пользовательские цветовые палитры для Discourse.
Новые цветовые палитры можно задать на странице /admin/customize/colors.
Или же
Например, если вы используете пользовательскую тему, вы можете задать их в файле about.json.
Так мы делаем, например, в теме FKB Pro.
В этом случае эти цветовые палитры будут добавлены на страницу /admin/customize/colors.
После добавления этих цветовых палитр пользователи смогут выбирать их на странице настроек профиля, если эта функция включена.
Функция dark-light-choose() работает только с двумя цветовыми схемами: светлой и тёмной. Я рекомендую использовать её исключительно для создания пользовательских цветовых переменных, а не для переопределения стандартных. Для переопределения стандартных цветовых переменных используйте способ, описанный выше.
Если пользователь выберет цветовую палитру, отличную от стандартной светлой/тёмной на странице настроек профиля, то для всех светлых или тёмных цветовых схем будут использоваться цветовые переменные, созданные вами с помощью dark-light-choose().