Игнорировать тему для админ-панели или добавить класс к тегу <html>?

Продолжение обсуждения из Другая тема для административной панели?:

Текущий рекомендуемый обходной путь для исключения административного интерфейса из темизации заключается в следующем:

Discourse поддерживает SCSS, что означает, что вам нужно добавить body:not(.admin-interface) только один раз в вашу тему. Не нужно добавлять его к каждому правилу.

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

Было бы проще, если бы у тега <html> тоже был класс .admin-interface (или его вариант). (Или, что ещё лучше, настройка тем была бы ещё проще, если бы для административного интерфейса можно было конфигурировать отдельную (по умолчанию) тему.)

Если бы Discourse позволил создателям тем настраивать только те части, которые видны обычным пользователям, это, вероятно, упростило бы создание и настройку тем.


Отчасти смежная тема — использование отдельного языка для административного интерфейса (обсуждается здесь: Can discourse have different language interfaces for admin only?). Это было бы особенно полезно для корректировки переводов на языки, которые имеют очень грубое (то есть некорректное) или неполное покрытие (многие строки не переведены).

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

Да, я думаю, что нам имеет смысл в какой-то момент отделить административную область. Это может стать дополнительной нагрузкой на темизацию, что обычно не требуется. WordPress также разделяет темы и стили для административной части.

Тем временем я создал PR для добавления класса admin-area к тегу HTML. Я использовал другое имя и сохранил старый тег body, чтобы это не повлияло на существующие темы.