У меня есть наборы пользователей, для которых мне нужно создавать темы.В зависимости от ассоциации учетной записи пользователя я хочу загружать разные темы.Например, если Джон Доу входит в систему, мне нужно загрузить greenteam.scss
.Однако, если Даг Смит войдет в систему, он должен увидеть blueteam.scss
.
Эти файлы в основном представляют собой настройки цвета и шрифта, используемые другими элементами.greenteam
может иметь $header-bg: green;
, а blueteam
будет $header-bg: blue;
.
Моя первоначальная мысль - создать такую структуру: /src/scss/client/_client-xxx.scss
, в которой указаны цвета фона, цвета шрифта и т. Д., Установленные в приложении.Итак, после входа в систему система сообщает, что вошедший в нее пользователь является частью «greenteam», и /src/scss/client/_client-greenteam.scss
загружается для компиляции цветов и других настроек вместе.Таким образом, я могу просто добавить новую клиентскую тему в каталог, и бум, новая тема!
Число «команд» будет расти в геометрической прогрессии.Я понятия не имею, сколько у меня будет когда-либо в любой момент.Вот почему «просто изменить класс телосложения» вызывает беспокойство, так как это станет очень большим и сложным в управлении.
Также возможно, что я не очень хорошо понимаю, как angular строится в сетикак пользователь называет страницы / стили.На первый взгляд, при развертывании на сервере angular компилирует scss в заголовок css и не загружается «на лету».Если это так, то мне кажется, что мне придется загрузить все возможные параметры клиента css и просто показать, что соответствует (маршрут класса тела).
Пользователь не сможет напрямую контролировать свою тему или не сможетчтобы изменить его, тема будет настроена разработчиком вручную.