aboutsummaryrefslogtreecommitdiff
path: root/lib/providers/theme_provider.dart
blob: 240c9a70b336b950440c4b6c84533f310b4a1abf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import 'package:flutter/material.dart';

import '../settings/preferences.dart';
import '../settings/themes.dart';

class ThemeProvider with ChangeNotifier {
  bool synced = false;
  ThemeEnum _theme = ThemeEnum.auto;

  void syncFromPrefs() {
    if (synced) return;
    Preferences.getTheme().then((t) {
      synced = true;
      _theme = t;
      notifyListeners();
    });
  }

  ThemeEnum get theme => _theme;

  set theme(ThemeEnum theme) {
    Preferences.setTheme(theme);
    _theme = theme;
    notifyListeners();
  }
}