import 'package:equatable/equatable.dart'; import 'package:flutter/material.dart'; import 'package:kmobile/config/theme_type.dart'; import 'package:kmobile/config/themes.dart'; // class ThemeState { // final ThemeData lightTheme; // final ThemeMode themeMode; // final ThemeType themeType; // ThemeState({ // required this.lightTheme, // required this.themeMode, // required this.themeType, // }); // ThemeState copyWith({ // ThemeData? lightTheme, // ThemeMode? themeMode, // ThemeType? themeType, // }) { // return ThemeState( // lightTheme: lightTheme ?? this.lightTheme, // themeMode: themeMode ?? this.themeMode, // themeType: themeType ?? this.themeType, // ); // } // bool get isDarkMode => themeMode == ThemeMode.dark; // } abstract class ThemeState extends Equatable { getThemeData(); @override List get props => []; } class ThemeBlue extends ThemeState { @override getThemeData() { print('returning blue theme'); return AppThemes.getLightTheme(ThemeType.blue); } } class ThemeViolet extends ThemeState { @override getThemeData() { print('returning violet theme'); return AppThemes.getLightTheme(ThemeType.violet); } }