Change color of personal messages

For some time I borrowed @ChrisBeach’s CSS snippet, so I converted it into a theme component, find the result here:


What it does

It changes the appearance of the page when a personal message is being read:

  • the head banner color (with a gradient),
  • the font color,
  • the background color,
  • the title color,
  • by adding some text after reply.

All these changes are optional and can be toggled with their on/off setting. The main «personal messages» color can also be changed with a setting. To tweak the different colors, edit the top part of the CSS file.

18 лайков

Спасибо, @oca!

Я обнаружил, что это работает только с названиями цветов, а не с HEX-кодами. Это усложняет подбор цветовой палитры. Судя по CSS и способу смешивания цветов, я предполагаю, что изменить это будет непросто. Кто-нибудь может меня опровергнуть?

2 лайка

Похоже, что это Тема, а не «Компонент темы», но поправьте меня, если я ошибаюсь.

Я уже использую полностью кастомизированную тему, и одновременно можно применять только одну тему; при этом вы можете разрешить пользователям переключаться между темами… так ли это?

Насколько я понимаю, компоненты темы позволяют применять компонент к вашей активной/основной/текущей теме. По крайней мере, так работают для меня другие компоненты тем. В разделе компонентов темы есть поле «Включить компонент в эти темы», которое позволяет применить компонент к вашей теме по умолчанию.

Возможно ли превратить это в компонент, чтобы я мог сохранить активную основную/текущую тему, одновременно включив эти настройки для личных сообщений или ДМ/ЧЛ?

2 лайка

Я помню, как отправлял PR во все компоненты тем, которые у нас есть здесь на Meta, когда мы внесли изменение, различающее темы и компоненты тем.

Думаю, этот случай ускользнул от внимания, потому что он был ответом на какую-то другую тему, а затем был перемещён в отдельную тему в категории #theme.

@oca Вам нужно добавить всего одну строку в эту «тему», чтобы она работала как компонент темы. Добавьте

"component": true

в файл about.json вашего компонента следующим образом:

{
  "name": "Private messages with color",
  "about_url": "https://framagit.org/oca/discourse-theme-colored-private-messages   ",
  "license_url": "https://framagit.org/oca/discourse-theme-colored-private-messages/blob/master/LICENSE",
+ "component": true,
   "assets": {
        "asset-variable": "assets/background.svg"
   }
}

После этого всё должно работать как у любого другого компонента, и мы сможем добавить тег theme-component к этой теме.

6 лайков

Тем временем @Rhidian научил меня новому трюку: с помощью кнопки «Преобразовать» можно конвертировать тему в компонент или наоборот…

2 лайка

Мне бы тоже очень хотелось иметь возможность использовать здесь HEX-код!

3 лайка

Готово!
Спасибо за советы.

5 лайков

Я посмотрю.
Стоит добавить это как параметр компонента, теперь, когда у нас есть такая возможность.
Ничего не обещаю, я всё ещё разбираюсь в этом.

6 лайков

Отлично :+1:

Я добавил тег к этой теме. Когда будет возможность, не могли бы вы добавить один-два скриншота в первое сообщение этой темы? Спешить не нужно, но так проще увидеть изменения, которые вносит этот компонент.

6 лайков

Полагаю, проблема в том, что в конце файла about.json есть лишняя запятая

6 лайков

Спасибо за это!

Но не спасибо тем, кто создал стандарт JSON…

4 лайка

Это всё ещё актуальный способ изменения цвета личных сообщений?

2 лайка

Я думаю, это можно сделать лучше.
Некоторое время я использовал пузыри личных сообщений, но теперь эта функция добавлена в ядро.

1 лайк

По-прежнему ли этот компонент работает нормально, теперь, когда личные сообщения-пузыри включены в ядро? Кажется, кто-то сталкивался с конфликтами некоторое время назад: Personal Message Bubbles - #93 by AntiMetaman

3 лайка