switchTheme method
void
switchTheme(
- 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);
}
}