import 'package:flutter/material.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:minehunter/cubit/activity/activity_cubit.dart'; import 'package:minehunter/models/activity/activity.dart'; class TopIndicator extends StatelessWidget { const TopIndicator({super.key}); @override Widget build(BuildContext context) { return BlocBuilder<ActivityCubit, ActivityState>( builder: (BuildContext context, ActivityState activityState) { final Activity currentActivity = activityState.currentActivity; final String skin = currentActivity.globalSettings.skin; final int flaggedCellsCount = currentActivity.countFlaggedCells(); final int minesCount = currentActivity.minesCount; const double blockSize = 40; final Image flagIconBlock = Image( image: AssetImage('assets/skins/${skin}_tile_flag.png'), fit: BoxFit.fill, height: blockSize, width: blockSize, ); final Image mineIconBlock = Image( image: AssetImage('assets/skins/${skin}_tile_mine.png'), fit: BoxFit.fill, height: blockSize, width: blockSize, ); final Text markedMinesCountBlock = Text( flaggedCellsCount.toString(), style: TextStyle( fontSize: blockSize, fontWeight: FontWeight.bold, color: Theme.of(context).colorScheme.primary, ), ); final Text placedMinesCountBlock = Text( minesCount.toString(), style: TextStyle( fontSize: blockSize, fontWeight: FontWeight.bold, color: Theme.of(context).colorScheme.primary, ), ); return Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ Row( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ markedMinesCountBlock, flagIconBlock, const SizedBox(width: blockSize * 2), mineIconBlock, placedMinesCountBlock, ], ) ], ); }, ); } }