switchTheme method

void switchTheme(
  1. String themeName
)

Implementation

void switchTheme(String themeName) {
  loadIndicator.show(this);
  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';
  }
  loadIndicator.hide();
}