You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
770 B
27 lines
770 B
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:sonnat/core/theme/panel_colors.dart';
|
|
import 'package:sonnat/core/theme/panel_theme.dart';
|
|
import 'package:sonnat/core/theme/panel_typography.dart';
|
|
import 'package:sonnat/core/utils/base_cubit_type.dart';
|
|
|
|
class ThemeCubit extends Cubit<BaseCubitType<ThemeState>> {
|
|
PanelTheme _currentTheme = LightTheme();
|
|
|
|
ThemeCubit() : super(BaseCubitType(eventName: ThemeState.empty));
|
|
|
|
void empty() => emit(BaseCubitType(eventName: ThemeState.empty));
|
|
|
|
void setTheme(PanelTheme theme) {
|
|
_currentTheme = theme;
|
|
}
|
|
|
|
PanelTheme get currentTheme => _currentTheme;
|
|
|
|
PanelColors get colors => _currentTheme.colors;
|
|
|
|
PanelTypography get typo => _currentTheme.typography;
|
|
}
|
|
|
|
enum ThemeState {
|
|
empty,
|
|
}
|