utils.js 716 B

12345678910111213141516171819202122232425
  1. import { api } from '@converse/headless/core';
  2. export function getTheme() {
  3. if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
  4. return api.settings.get('dark_theme');
  5. } else {
  6. return api.settings.get('theme');
  7. }
  8. }
  9. export function ensureElement () {
  10. if (!api.settings.get('auto_insert')) {
  11. return;
  12. }
  13. const root = api.settings.get('root');
  14. if (!root.querySelector('converse-root')) {
  15. const el = document.createElement('converse-root');
  16. const body = root.querySelector('body');
  17. if (body) {
  18. body.appendChild(el);
  19. } else {
  20. root.appendChild(el); // Perhaps inside a web component?
  21. }
  22. }
  23. }