intent property

ThemeIntent? get intent

The intent new themes are steered by; null for the ordinary feed.

Implementation

ThemeIntent? get intent => _feed.intent;
set intent (ThemeIntent? value)

Steers new themes by value and shows the first of them, centred on it (back returns to the theme before). Null or an empty intent goes back to the ordinary feed without changing the current theme.

Every family follows the intent's colours; ThemeIntent.reportFor lists what a family can't follow (a dark-only family asked for light, say).

Implementation

set intent(ThemeIntent? value) {
  final empty = value == null || value.isEmpty;
  if (empty ? _feed.intent == null : value == _feed.intent) return;
  _feed.steer(value);
  notifyListeners();
}