theme.js 971 B

123456789101112131415161718192021222324252627282930313233
  1. import url from 'url'
  2. var queryParams = url.parse(document.location.href, true).query
  3. var theme = queryParams.theme || window.localStorage.getItem('mumble.theme')
  4. var themes = {
  5. 'MetroMumbleLight': 'MetroMumbleLight',
  6. 'MetroMumbleDark': 'MetroMumbleDark',
  7. 'light': 'MetroMumbleLight',
  8. 'dark': 'MetroMumbleDark'
  9. }
  10. theme = themes[theme] || window.mumbleWebConfig.defaults.theme
  11. window.theme = theme
  12. var [loadingTheme, mainTheme] = {
  13. 'MetroMumbleLight': [
  14. require('../themes/MetroMumbleLight/loading.scss'),
  15. require('../themes/MetroMumbleLight/main.scss')
  16. ],
  17. 'MetroMumbleDark': [
  18. require('../themes/MetroMumbleDark/loading.scss'),
  19. require('../themes/MetroMumbleDark/main.scss')
  20. ]
  21. }[theme]
  22. function useStyle (url) {
  23. var style = document.createElement('link')
  24. style.rel = 'stylesheet'
  25. style.type = 'text/css'
  26. style.href = url
  27. document.getElementsByTagName('head')[0].appendChild(style)
  28. }
  29. useStyle(loadingTheme)
  30. useStyle(mainTheme)