Select Git revision
parameters.dart
-
Benoît Harrault authoredBenoît Harrault authored
parameters.dart 4.92 KiB
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:momomotus/common/ui/parameters/parameter_widget.dart';
import 'package:momomotus/config/default_activity_settings.dart';
import 'package:momomotus/config/default_global_settings.dart';
import 'package:momomotus/cubit/activity/activity_cubit.dart';
import 'package:momomotus/cubit/settings/settings_activity_cubit.dart';
import 'package:momomotus/cubit/settings/settings_global_cubit.dart';
import 'package:momomotus/models/activity/activity.dart';
import 'package:momomotus/ui/widgets/actions/button_delete_saved_game.dart';
import 'package:momomotus/ui/widgets/actions/button_game_start_new.dart';
import 'package:momomotus/ui/widgets/actions/button_resume_saved_game.dart';
class PageParameters extends StatelessWidget {
const PageParameters({super.key});
final double separatorHeight = 8.0;
@override
Widget build(BuildContext context) {
return BlocBuilder<ActivityCubit, ActivityState>(
builder: (BuildContext context, ActivityState activityState) {
final Activity currentActivity = activityState.currentActivity;
final List<Widget> lines = [];
// Game settings
for (String code in DefaultActivitySettings.availableParameters) {
lines.add(Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: buildParametersLine(
code: code,
isGlobal: false,
),
));
lines.add(SizedBox(height: separatorHeight));
}
lines.add(Expanded(
child: SizedBox(height: separatorHeight),
));
if (currentActivity.canBeResumed == false) {
// Start new game
lines.add(
const AspectRatio(
aspectRatio: 3,
child: StartNewGameButton(),
),
);
} else {
// Resume game
lines.add(const AspectRatio(
aspectRatio: 3,
child: ResumeSavedGameButton(),
));
// Delete saved game
lines.add(SizedBox.square(
dimension: MediaQuery.of(context).size.width / 5,
child: const DeleteSavedGameButton(),
));
}
lines.add(SizedBox(height: separatorHeight));
// Global settings
for (String code in DefaultGlobalSettings.availableParameters) {