import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:tetrisdual/cubit/theme_cubit.dart'; class ThemeCard extends StatelessWidget { const ThemeCard({ super.key, required this.mode, required this.icon, }); final IconData icon; final ThemeMode mode; @override Widget build(BuildContext context) { return BlocBuilder<ThemeCubit, ThemeModeState>( builder: (BuildContext context, ThemeModeState state) { return Card( elevation: 2, shadowColor: Theme.of(context).colorScheme.shadow, color: state.themeMode == mode ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.surface, shape: const RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(12)), ), margin: const EdgeInsets.all(5), child: InkWell( onTap: () => BlocProvider.of<ThemeCubit>(context).getTheme( ThemeModeState(themeMode: mode), ), borderRadius: const BorderRadius.all(Radius.circular(12)), child: Icon( icon, size: 32, color: state.themeMode != mode ? Theme.of(context).colorScheme.primary : Colors.white, ), ), ); }, ); } }