Skip to content
Snippets Groups Projects
Commit 8f23c0a3 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Add Activity actions buttons

parent b24e16ca
No related branches found
No related tags found
1 merge request!6Resolve "Add GameButton widgets"
Pipeline #6909 passed
## 0.4.0
- Add activity actions buttons
## 0.3.0 ## 0.3.0
- Fix font assets path - Fix font assets path
......
...@@ -13,6 +13,11 @@ export 'widgets/show_error.dart' show ShowErrorWidget; ...@@ -13,6 +13,11 @@ export 'widgets/show_error.dart' show ShowErrorWidget;
export 'widgets/styled_button.dart' show StyledButton; export 'widgets/styled_button.dart' show StyledButton;
export 'widgets/styled_container.dart' show StyledContainer; export 'widgets/styled_container.dart' show StyledContainer;
export 'widgets/activity/button_delete_saved_activity.dart' show ActivityButtonDeleteSaved;
export 'widgets/activity/button_quit_activity.dart' show ActivityButtonQuit;
export 'widgets/activity/button_resume_saved_activity.dart' show ActivityButtonResumeSaved;
export 'widgets/activity/button_start_new_activity.dart' show ActivityButtonStartNew;
export 'settings/application_settings_form.dart' show ApplicationSettingsForm; export 'settings/application_settings_form.dart' show ApplicationSettingsForm;
export 'settings/application_settings_theme_card.dart' show ApplicationSettingsThemeModeCard; export 'settings/application_settings_theme_card.dart' show ApplicationSettingsThemeModeCard;
export 'settings/application_theme_mode_cubit.dart' export 'settings/application_theme_mode_cubit.dart'
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:flutter_custom_toolbox/settings/application_settings_theme_card.dart';
class ApplicationSettingsForm extends StatefulWidget { class ApplicationSettingsForm extends StatefulWidget {
const ApplicationSettingsForm({super.key}); const ApplicationSettingsForm({super.key});
......
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart'; import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:flutter_custom_toolbox/settings/application_theme_mode_cubit.dart';
class ApplicationSettingsThemeModeCard extends StatelessWidget { class ApplicationSettingsThemeModeCard extends StatelessWidget {
const ApplicationSettingsThemeModeCard({ const ApplicationSettingsThemeModeCard({
......
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
class ActivityButtonDeleteSaved extends StatelessWidget {
const ActivityButtonDeleteSaved({
super.key,
required this.onPressed,
this.onLongPress,
});
final VoidCallback? onPressed;
final VoidCallback? onLongPress;
@override
Widget build(BuildContext context) {
return StyledButton.icon(
color: Colors.grey,
onPressed: onPressed,
onLongPress: onLongPress,
icon: const Icon(UniconsLine.trash_alt),
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
class ActivityButtonQuit extends StatelessWidget {
const ActivityButtonQuit({
super.key,
required this.onPressed,
this.onLongPress,
});
final VoidCallback? onPressed;
final VoidCallback? onLongPress;
@override
Widget build(BuildContext context) {
return StyledButton.icon(
color: Colors.red,
onPressed: onPressed,
onLongPress: onLongPress,
icon: const Icon(UniconsLine.play),
quarterTurns: 2,
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
class ActivityButtonResumeSaved extends StatelessWidget {
const ActivityButtonResumeSaved({
super.key,
required this.onPressed,
this.onLongPress,
});
final VoidCallback? onPressed;
final VoidCallback? onLongPress;
@override
Widget build(BuildContext context) {
return StyledButton.icon(
color: Colors.blue,
onPressed: onPressed,
onLongPress: onLongPress,
icon: const Icon(UniconsLine.skip_forward_alt),
);
}
}
import 'package:flutter/material.dart';
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
class ActivityButtonStartNew extends StatelessWidget {
const ActivityButtonStartNew({
super.key,
required this.onPressed,
this.onLongPress,
});
final VoidCallback? onPressed;
final VoidCallback? onLongPress;
@override
Widget build(BuildContext context) {
return StyledButton.icon(
color: Colors.blue,
onPressed: onPressed,
onLongPress: onLongPress,
icon: const Icon(UniconsLine.play),
);
}
}
import 'dart:math';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:auto_size_text/auto_size_text.dart'; import 'package:auto_size_text/auto_size_text.dart';
...@@ -71,17 +73,10 @@ class StyledButton extends StatelessWidget { ...@@ -71,17 +73,10 @@ class StyledButton extends StatelessWidget {
VoidCallback? onLongPress, VoidCallback? onLongPress,
required Icon icon, required Icon icon,
required Color color, required Color color,
required double iconSize, double? iconSize,
int quarterTurns = 0,
}) { }) {
return StyledButton( final List<Shadow> shadows = [
color: color,
onPressed: onPressed,
onLongPress: onLongPress,
child: Icon(
icon.icon,
color: icon.color ?? color.darken(60),
size: iconSize,
shadows: [
Shadow( Shadow(
blurRadius: 5.0, blurRadius: 5.0,
color: color.lighten(60), color: color.lighten(60),
...@@ -102,7 +97,33 @@ class StyledButton extends StatelessWidget { ...@@ -102,7 +97,33 @@ class StyledButton extends StatelessWidget {
color: color.lighten(60), color: color.lighten(60),
offset: const Offset(-2, -2), offset: const Offset(-2, -2),
), ),
], ];
Widget child = iconSize != null
? Icon(
icon.icon,
color: icon.color ?? color.darken(60),
size: iconSize,
shadows: shadows,
)
: LayoutBuilder(
builder: (context, constraint) {
return Icon(
icon.icon,
color: icon.color ?? color.darken(60),
size: min(constraint.biggest.height, constraint.biggest.width),
shadows: shadows,
);
},
);
return StyledButton(
color: color,
onPressed: onPressed,
onLongPress: onLongPress,
child: RotatedBox(
quarterTurns: quarterTurns,
child: child,
), ),
); );
} }
......
...@@ -3,7 +3,7 @@ description: "Flutter custom toolbox for org.benoitharrault.* projects." ...@@ -3,7 +3,7 @@ description: "Flutter custom toolbox for org.benoitharrault.* projects."
publish_to: "none" publish_to: "none"
version: 0.3.0 version: 0.4.0
homepage: https://git.harrault.fr/android/flutter-toolbox homepage: https://git.harrault.fr/android/flutter-toolbox
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment