switchTheme method

void switchTheme(
  1. String themeName
)

Implementation

void switchTheme(String themeName) {
  currentTheme = themeName;
  window.localStorage['theme'] = themeName;
  final linkElements = querySelectorAll('link');
  final headElement = querySelector('head')!;
  final themeElement = linkElements.singleWhere((element) {
    if (element is LinkElement) {
      if (element.href.endsWith('_theme.css')) {
        return true;
      }
    }
    return false;
  }, orElse: () {
    final newElem = LinkElement()..rel = 'stylesheet';
    headElement.children.add(newElem);
    return newElem;
  });
  if (themeElement is LinkElement) {
    themeElement.href = '${themeName}_theme.css';
    _onThemeChange.sink.add(themeName);
  }
}