unfollowSite method

Future<bool> unfollowSite(
  1. String siteName,
  2. String url,
  3. String nick
)

Implementation

Future<bool> unfollowSite(String siteName, String url, String nick) async {
  if (siteName.isEmpty) {
    siteName = url.split('/')[2];
  }
  //todo flush caches etc
  _sites[siteName]!.terminate();
  _sites.remove(siteName);
  if (_preferences.unfollowSite(siteName)) {
    //TODO purge site data
    disk?.commitPreferences(_preferences.toJson());
  }

  if (_homeSite == siteName) {
    _homeSite = _preferences.sites.first.siteName;
  }

  ModeratorEntrySet _es = ModeratorEntrySet();
  _sites.forEach((key, value) {
    value.messages.all.forEach((element) {
      element.siteUrl = key;
      _es.add(element);
    });
  });
  _combinedEntrySetCache = _es;

  return true;
}