diff --git a/assets/skins/aventure_1.png b/assets/skins/aventure_1.png
index 296e764779146407044a7e9f07f0f8036f1d949f..87d75a6db5f65e6668a2accfe39459f24dacc5dd 100644
Binary files a/assets/skins/aventure_1.png and b/assets/skins/aventure_1.png differ
diff --git a/assets/skins/aventure_2.png b/assets/skins/aventure_2.png
index e91794c43b93cf539565c946ab94d749fcf0a958..cc215e1278742926abf68e2509cb3ef66b6eab76 100644
Binary files a/assets/skins/aventure_2.png and b/assets/skins/aventure_2.png differ
diff --git a/assets/skins/aventure_3.png b/assets/skins/aventure_3.png
index 81b8101e721adf79cf374d14cb9d5abc8bd24c1c..feaf792c8cc8bba625dfba8c242bbe1288bd137b 100644
Binary files a/assets/skins/aventure_3.png and b/assets/skins/aventure_3.png differ
diff --git a/assets/skins/aventure_4.png b/assets/skins/aventure_4.png
index b534fea644c2db5b2d717e53bed82770c61643a8..5d7900e086bd0f6a2211d68a39871347c3a40f2b 100644
Binary files a/assets/skins/aventure_4.png and b/assets/skins/aventure_4.png differ
diff --git a/assets/skins/aventure_5.png b/assets/skins/aventure_5.png
index 4072566d4b99df31ffa45d0dbb662b15710b04e7..a6d18dc46ac78a669fa66b51b3016bc57e93299a 100644
Binary files a/assets/skins/aventure_5.png and b/assets/skins/aventure_5.png differ
diff --git a/assets/skins/aventure_6.png b/assets/skins/aventure_6.png
index d5561ecd3bf273fc5aebca1f35dff72260e37209..3c4d2ab711be5fc0dec7b2c47e52ae4a7aa3ee60 100644
Binary files a/assets/skins/aventure_6.png and b/assets/skins/aventure_6.png differ
diff --git a/assets/skins/aventure_7.png b/assets/skins/aventure_7.png
index 2b12dc5e5d28d40ab810f50601c2a2586d6bd3cc..330afbd47b2cb17a3f5ca485ec8336966cbf9473 100644
Binary files a/assets/skins/aventure_7.png and b/assets/skins/aventure_7.png differ
diff --git a/assets/skins/aventure_8.png b/assets/skins/aventure_8.png
index b7fb101916bb270204f31f555238c1f2bc6d7629..e8d5f98f68092839b0cfa3486141f59662f54509 100644
Binary files a/assets/skins/aventure_8.png and b/assets/skins/aventure_8.png differ
diff --git a/assets/skins/aventure_found.png b/assets/skins/aventure_found.png
index ef949e734691d12fd1a59f5ddc0d5f15f6003cf3..1a98c0551e73b9bf1b19a0bbf3a57bcdd7a882f8 100644
Binary files a/assets/skins/aventure_found.png and b/assets/skins/aventure_found.png differ
diff --git a/assets/skins/aventure_unknown.png b/assets/skins/aventure_unknown.png
index d9a650de11ce533eb2029d413b65bfb3c259d6e3..718e20941c6ce123ff88c783253644a2146290cd 100644
Binary files a/assets/skins/aventure_unknown.png and b/assets/skins/aventure_unknown.png differ
diff --git a/assets/skins/items_1.png b/assets/skins/items_1.png
index b91699422e944c81a36997d839b709cdd3a4ac1f..060f1eb9c5c8a3e581fd50f0b283345b9a9ee558 100644
Binary files a/assets/skins/items_1.png and b/assets/skins/items_1.png differ
diff --git a/assets/skins/items_2.png b/assets/skins/items_2.png
index 5b32eaac2f7458db47ba2e5c1c52ebca3f37a873..afda440d0029acba621589b8574e2c47baea850c 100644
Binary files a/assets/skins/items_2.png and b/assets/skins/items_2.png differ
diff --git a/assets/skins/items_3.png b/assets/skins/items_3.png
index e38abab158d59a6946fa5e52202a689a9b59cd2a..289ceb4ba9ef57d6ed1803872de53bd13772d168 100644
Binary files a/assets/skins/items_3.png and b/assets/skins/items_3.png differ
diff --git a/assets/skins/items_4.png b/assets/skins/items_4.png
index c289ffe0946a32235bbb0b1dedbc06ce0c1b428a..9fd5c159adc7066f4f401255f36ad8128a49f25f 100644
Binary files a/assets/skins/items_4.png and b/assets/skins/items_4.png differ
diff --git a/assets/skins/items_5.png b/assets/skins/items_5.png
index 24c5f94a2258e1f8c706a9f69cb111f45d80bea3..23958499f3c1f8e45f8780b6fe7b619c93e0a6e3 100644
Binary files a/assets/skins/items_5.png and b/assets/skins/items_5.png differ
diff --git a/assets/skins/items_6.png b/assets/skins/items_6.png
index 5dc40c4ced931315539b56f27dd2a1d63413e264..2c352854baa582048d494bb73e013867e8440917 100644
Binary files a/assets/skins/items_6.png and b/assets/skins/items_6.png differ
diff --git a/assets/skins/items_7.png b/assets/skins/items_7.png
index 73ca092c5d0d1255e52c2e5c7f5a74b5e4c4a80f..d1d8ce89b4c3587ac0dc55b7b69070d838722e99 100644
Binary files a/assets/skins/items_7.png and b/assets/skins/items_7.png differ
diff --git a/assets/skins/items_8.png b/assets/skins/items_8.png
index 9f710c301e593fd213b1d90f81fb9a60a16d74a5..12c4102e701325cf814498208510acfd28902478 100644
Binary files a/assets/skins/items_8.png and b/assets/skins/items_8.png differ
diff --git a/assets/skins/items_found.png b/assets/skins/items_found.png
index 49a1a610ca875f27f7c9be212a3e290ef194e154..1a98c0551e73b9bf1b19a0bbf3a57bcdd7a882f8 100644
Binary files a/assets/skins/items_found.png and b/assets/skins/items_found.png differ
diff --git a/assets/skins/items_unknown.png b/assets/skins/items_unknown.png
index 5ccdb2e2e3b4baa38c9cab487be14a4c426d7504..718e20941c6ce123ff88c783253644a2146290cd 100644
Binary files a/assets/skins/items_unknown.png and b/assets/skins/items_unknown.png differ
diff --git a/assets/skins/nature_1.png b/assets/skins/nature_1.png
index b5c37522899f346cc4ffffebbf8a232664f803e1..e31d5ea42e1c969c14867ed6f2680bbbd8d7866a 100644
Binary files a/assets/skins/nature_1.png and b/assets/skins/nature_1.png differ
diff --git a/assets/skins/nature_2.png b/assets/skins/nature_2.png
index 7dd23d2192ecfb890d0f34dd1f0eeaf124adb99c..d37c1e4eb997c77bd4263f349b447f8bd29ed88d 100644
Binary files a/assets/skins/nature_2.png and b/assets/skins/nature_2.png differ
diff --git a/assets/skins/nature_3.png b/assets/skins/nature_3.png
index 622512f001147592a5e772858cad0782d1b96a37..0e5d881a1b87a68edf1605a6eb44f104e63f476e 100644
Binary files a/assets/skins/nature_3.png and b/assets/skins/nature_3.png differ
diff --git a/assets/skins/nature_4.png b/assets/skins/nature_4.png
index 4e6e23861982e3327cbecdd5740b7ea2c623e489..eb8dae8bdf5a304ee8a38b7e3d35110ebbf12072 100644
Binary files a/assets/skins/nature_4.png and b/assets/skins/nature_4.png differ
diff --git a/assets/skins/nature_5.png b/assets/skins/nature_5.png
index 2a634a024fad609786d6d0d11acd917475dc1e21..4677656b574bd7d8f6cb16d6bc651493d6892602 100644
Binary files a/assets/skins/nature_5.png and b/assets/skins/nature_5.png differ
diff --git a/assets/skins/nature_6.png b/assets/skins/nature_6.png
index 8a4713c731a1e0f647b34ea1a3f41e0cb8b24d51..ea121ec5f2a21bdce3ce0191a5da9666265cb851 100644
Binary files a/assets/skins/nature_6.png and b/assets/skins/nature_6.png differ
diff --git a/assets/skins/nature_7.png b/assets/skins/nature_7.png
index c639a029e0e38dbacfddd4beed2b23a333884cf4..c275d29f5ec4fbe7a3f79e43f0a6c83a211d47bb 100644
Binary files a/assets/skins/nature_7.png and b/assets/skins/nature_7.png differ
diff --git a/assets/skins/nature_8.png b/assets/skins/nature_8.png
index 3675409a372556943213480105773f842a71d9b2..2905dfb623655d89e6486f979edaf32209896fa8 100644
Binary files a/assets/skins/nature_8.png and b/assets/skins/nature_8.png differ
diff --git a/assets/skins/nature_found.png b/assets/skins/nature_found.png
index 2c39c55885a1ef9b5552d13845205c666d50df60..1a98c0551e73b9bf1b19a0bbf3a57bcdd7a882f8 100644
Binary files a/assets/skins/nature_found.png and b/assets/skins/nature_found.png differ
diff --git a/assets/skins/nature_unknown.png b/assets/skins/nature_unknown.png
index 1181e95d69dc84c64c6ef9540292b55e3ae4f71a..718e20941c6ce123ff88c783253644a2146290cd 100644
Binary files a/assets/skins/nature_unknown.png and b/assets/skins/nature_unknown.png differ
diff --git a/assets/ui/button_back.png b/assets/ui/button_back.png
deleted file mode 100644
index 51d7a01d171f7d7f047ecf9dee2d7ceee23b310d..0000000000000000000000000000000000000000
Binary files a/assets/ui/button_back.png and /dev/null differ
diff --git a/assets/ui/button_delete_saved_game.png b/assets/ui/button_delete_saved_game.png
deleted file mode 100644
index 4ca5b749c208c4b7eac2a4b141a1bd918d7cb98f..0000000000000000000000000000000000000000
Binary files a/assets/ui/button_delete_saved_game.png and /dev/null differ
diff --git a/assets/ui/button_resume_game.png b/assets/ui/button_resume_game.png
deleted file mode 100644
index 2fe433b7d18a39880a14e3f0af18cb75c4ccbaed..0000000000000000000000000000000000000000
Binary files a/assets/ui/button_resume_game.png and /dev/null differ
diff --git a/assets/ui/button_start.png b/assets/ui/button_start.png
deleted file mode 100644
index 23c7a4f670de19ffac455d6c510c3c53653a048b..0000000000000000000000000000000000000000
Binary files a/assets/ui/button_start.png and /dev/null differ
diff --git a/fastlane/metadata/android/en-US/changelogs/34.txt b/fastlane/metadata/android/en-US/changelogs/34.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e41f2c12ae80f51efe37178685ea209ed3856f25
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/34.txt
@@ -0,0 +1 @@
+Use activity buttons widgets from flutter_custom_toolbox.
diff --git a/fastlane/metadata/android/fr-FR/changelogs/34.txt b/fastlane/metadata/android/fr-FR/changelogs/34.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f58100d11c19de935acc57e881483df579d32ffc
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/34.txt
@@ -0,0 +1 @@
+Utilisation des boutons d'activité à partir du package flutter_custom_toolbox.
diff --git a/lib/common/ui/nav/global_app_bar.dart b/lib/common/ui/nav/global_app_bar.dart
index dbbfc8f67a9469f70e6312a1953661f083e1f87b..a61083da1ab7281a0057f64b8501ccd21fb71188 100644
--- a/lib/common/ui/nav/global_app_bar.dart
+++ b/lib/common/ui/nav/global_app_bar.dart
@@ -22,17 +22,12 @@ class GlobalAppBar extends StatelessWidget implements PreferredSizeWidget {
             final List<Widget> menuActions = [];
 
             if (currentActivity.isRunning && !currentActivity.isFinished) {
-              menuActions.add(StyledButton(
-                color: Colors.red,
+              menuActions.add(ActivityButtonQuit(
                 onPressed: () {},
                 onLongPress: () {
                   BlocProvider.of<ActivityCubit>(context).quitActivity();
                   BlocProvider.of<NavCubitPage>(context).goToPageHome();
                 },
-                child: const Image(
-                  image: AssetImage('assets/ui/button_back.png'),
-                  fit: BoxFit.fill,
-                ),
               ));
             } else {
               if (pageIndex == Screen.indexActivity) {
diff --git a/lib/common/ui/pages/parameters.dart b/lib/common/ui/pages/parameters.dart
index 7eeb58730e0b5467f5d68f5215570f811d1d28e3..f846c7b118b1fec4b5832f620dc26450b7dedd48 100644
--- a/lib/common/ui/pages/parameters.dart
+++ b/lib/common/ui/pages/parameters.dart
@@ -1,6 +1,7 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
 
+import 'package:memory/common/cubit/nav/nav_cubit_pages.dart';
 import 'package:memory/common/ui/parameters/parameter_widget.dart';
 
 import 'package:memory/config/default_activity_settings.dart';
@@ -9,9 +10,6 @@ import 'package:memory/cubit/activity/activity_cubit.dart';
 import 'package:memory/cubit/settings/settings_activity_cubit.dart';
 import 'package:memory/cubit/settings/settings_global_cubit.dart';
 import 'package:memory/models/activity/activity.dart';
-import 'package:memory/ui/widgets/actions/button_delete_saved_game.dart';
-import 'package:memory/ui/widgets/actions/button_game_start_new.dart';
-import 'package:memory/ui/widgets/actions/button_resume_saved_game.dart';
 
 class PageParameters extends StatelessWidget {
   const PageParameters({super.key});
@@ -20,67 +18,92 @@ class PageParameters extends StatelessWidget {
 
   @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) {
-          lines.add(Row(
-            mainAxisAlignment: MainAxisAlignment.spaceBetween,
-            children: buildParametersLine(
-              code: code,
-              isGlobal: true,
-            ),
-          ));
-
-          lines.add(SizedBox(height: separatorHeight));
-        }
-
-        return Column(
-          children: lines,
+    return BlocBuilder<ActivitySettingsCubit, ActivitySettingsState>(
+      builder: (BuildContext context, ActivitySettingsState activitySettingsState) {
+        return BlocBuilder<GlobalSettingsCubit, GlobalSettingsState>(
+          builder: (BuildContext context, GlobalSettingsState globalSettingsState) {
+            return BlocBuilder<ActivityCubit, ActivityState>(
+              builder: (BuildContext context, ActivityState activityState) {
+                final Activity currentActivity = activityState.currentActivity;
+
+                final List<Widget> lines = [];
+
+                // Activity 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 activity
+                  lines.add(
+                    AspectRatio(
+                      aspectRatio: 3,
+                      child: ActivityButtonStartNew(
+                        onPressed: () {
+                          BlocProvider.of<ActivityCubit>(context).startNewActivity(
+                            activitySettings: activitySettingsState.settings,
+                            globalSettings: globalSettingsState.settings,
+                          );
+                          BlocProvider.of<NavCubitPage>(context).goToPageGame();
+                        },
+                      ),
+                    ),
+                  );
+                } else {
+                  // Resume activity
+                  lines.add(AspectRatio(
+                    aspectRatio: 3,
+                    child: ActivityButtonResumeSaved(
+                      onPressed: () {
+                        BlocProvider.of<ActivityCubit>(context).resumeSavedActivity();
+                        BlocProvider.of<NavCubitPage>(context).goToPageGame();
+                      },
+                    ),
+                  ));
+                  // Delete saved activity
+                  lines.add(SizedBox.square(
+                    dimension: MediaQuery.of(context).size.width / 5,
+                    child: ActivityButtonDeleteSaved(
+                      onPressed: () {
+                        BlocProvider.of<ActivityCubit>(context).deleteSavedActivity();
+                      },
+                    ),
+                  ));
+                }
+
+                lines.add(SizedBox(height: separatorHeight));
+
+                // Global settings
+                for (String code in DefaultGlobalSettings.availableParameters) {
+                  lines.add(Row(
+                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                    children: buildParametersLine(
+                      code: code,
+                      isGlobal: true,
+                    ),
+                  ));
+
+                  lines.add(SizedBox(height: separatorHeight));
+                }
+
+                return Column(
+                  children: lines,
+                );
+              },
+            );
+          },
         );
       },
     );
diff --git a/lib/main.dart b/lib/main.dart
index 659f21dafeffb5b546ffd3e50328393e837df23d..491b2e5ee6192d2b01308ee34257bad122168d03 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -94,10 +94,6 @@ class MyApp extends StatelessWidget {
     final List<String> assets = [];
 
     const List<String> gameImages = [
-      'button_back',
-      'button_delete_saved_game',
-      'button_resume_game',
-      'button_start',
       'game_win',
       'placeholder',
     ];
diff --git a/lib/ui/widgets/actions/button_delete_saved_game.dart b/lib/ui/widgets/actions/button_delete_saved_game.dart
deleted file mode 100644
index 4436c9c86673a1f414b31dff0f4886ccf8214fe1..0000000000000000000000000000000000000000
--- a/lib/ui/widgets/actions/button_delete_saved_game.dart
+++ /dev/null
@@ -1,22 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
-
-import 'package:memory/cubit/activity/activity_cubit.dart';
-
-class DeleteSavedGameButton extends StatelessWidget {
-  const DeleteSavedGameButton({super.key});
-
-  @override
-  Widget build(BuildContext context) {
-    return StyledButton(
-      color: Colors.grey,
-      onPressed: () {
-        BlocProvider.of<ActivityCubit>(context).deleteSavedActivity();
-      },
-      child: const Image(
-        image: AssetImage('assets/ui/button_delete_saved_game.png'),
-        fit: BoxFit.fill,
-      ),
-    );
-  }
-}
diff --git a/lib/ui/widgets/actions/button_game_quit.dart b/lib/ui/widgets/actions/button_game_quit.dart
deleted file mode 100644
index 925ac3421129b31a9a47ae89b41c2c4a13caebaf..0000000000000000000000000000000000000000
--- a/lib/ui/widgets/actions/button_game_quit.dart
+++ /dev/null
@@ -1,25 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
-
-import 'package:memory/common/cubit/nav/nav_cubit_pages.dart';
-
-import 'package:memory/cubit/activity/activity_cubit.dart';
-
-class QuitGameButton extends StatelessWidget {
-  const QuitGameButton({super.key});
-
-  @override
-  Widget build(BuildContext context) {
-    return StyledButton(
-      color: Colors.red,
-      onPressed: () {
-        BlocProvider.of<ActivityCubit>(context).quitActivity();
-        BlocProvider.of<NavCubitPage>(context).goToPageHome();
-      },
-      child: const Image(
-        image: AssetImage('assets/ui/button_back.png'),
-        fit: BoxFit.fill,
-      ),
-    );
-  }
-}
diff --git a/lib/ui/widgets/actions/button_game_start_new.dart b/lib/ui/widgets/actions/button_game_start_new.dart
deleted file mode 100644
index eeab4796001079a408454f9ccb1600c01f353428..0000000000000000000000000000000000000000
--- a/lib/ui/widgets/actions/button_game_start_new.dart
+++ /dev/null
@@ -1,38 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
-
-import 'package:memory/common/cubit/nav/nav_cubit_pages.dart';
-
-import 'package:memory/cubit/activity/activity_cubit.dart';
-import 'package:memory/cubit/settings/settings_activity_cubit.dart';
-import 'package:memory/cubit/settings/settings_global_cubit.dart';
-
-class StartNewGameButton extends StatelessWidget {
-  const StartNewGameButton({super.key});
-
-  @override
-  Widget build(BuildContext context) {
-    return BlocBuilder<ActivitySettingsCubit, ActivitySettingsState>(
-      builder: (BuildContext context, ActivitySettingsState activitySettingsState) {
-        return BlocBuilder<GlobalSettingsCubit, GlobalSettingsState>(
-          builder: (BuildContext context, GlobalSettingsState globalSettingsState) {
-            return StyledButton(
-              color: Colors.blue,
-              onPressed: () {
-                BlocProvider.of<ActivityCubit>(context).startNewActivity(
-                  activitySettings: activitySettingsState.settings,
-                  globalSettings: globalSettingsState.settings,
-                );
-                BlocProvider.of<NavCubitPage>(context).goToPageGame();
-              },
-              child: const Image(
-                image: AssetImage('assets/ui/button_start.png'),
-                fit: BoxFit.fill,
-              ),
-            );
-          },
-        );
-      },
-    );
-  }
-}
diff --git a/lib/ui/widgets/actions/button_resume_saved_game.dart b/lib/ui/widgets/actions/button_resume_saved_game.dart
deleted file mode 100644
index 6146d00d33f408fbdfe4606854f67c983079b28b..0000000000000000000000000000000000000000
--- a/lib/ui/widgets/actions/button_resume_saved_game.dart
+++ /dev/null
@@ -1,25 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
-
-import 'package:memory/common/cubit/nav/nav_cubit_pages.dart';
-
-import 'package:memory/cubit/activity/activity_cubit.dart';
-
-class ResumeSavedGameButton extends StatelessWidget {
-  const ResumeSavedGameButton({super.key});
-
-  @override
-  Widget build(BuildContext context) {
-    return StyledButton(
-      color: Colors.blue,
-      onPressed: () {
-        BlocProvider.of<ActivityCubit>(context).resumeSavedActivity();
-        BlocProvider.of<NavCubitPage>(context).goToPageGame();
-      },
-      child: const Image(
-        image: AssetImage('assets/ui/button_resume_game.png'),
-        fit: BoxFit.fill,
-      ),
-    );
-  }
-}
diff --git a/lib/ui/widgets/game/game_end.dart b/lib/ui/widgets/game/game_end.dart
index e85550e8e44b7b159573cbdf8f343ee7ba192855..c18318159456ff75777cf9c502415e7c0c7a75e4 100644
--- a/lib/ui/widgets/game/game_end.dart
+++ b/lib/ui/widgets/game/game_end.dart
@@ -1,9 +1,10 @@
 import 'package:flutter/material.dart';
 import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
 
+import 'package:memory/common/cubit/nav/nav_cubit_pages.dart';
+
 import 'package:memory/cubit/activity/activity_cubit.dart';
 import 'package:memory/models/activity/activity.dart';
-import 'package:memory/ui/widgets/actions/button_game_quit.dart';
 
 class GameEndWidget extends StatelessWidget {
   const GameEndWidget({super.key});
@@ -20,26 +21,39 @@ class GameEndWidget extends StatelessWidget {
           fit: BoxFit.fill,
         );
 
+        final double width = MediaQuery.of(context).size.width;
+
         return Container(
           margin: const EdgeInsets.all(2),
           padding: const EdgeInsets.all(2),
           child: Table(
-            defaultColumnWidth: const IntrinsicColumnWidth(),
+            defaultColumnWidth: FixedColumnWidth(width / 3.1),
             defaultVerticalAlignment: TableCellVerticalAlignment.bottom,
             children: [
               TableRow(
                 children: [
                   Column(
+                    mainAxisAlignment: MainAxisAlignment.center,
+                    crossAxisAlignment: CrossAxisAlignment.center,
                     children: [decorationImage],
                   ),
                   Column(
+                    mainAxisAlignment: MainAxisAlignment.center,
+                    crossAxisAlignment: CrossAxisAlignment.center,
                     children: [
                       currentActivity.animationInProgress == true
                           ? decorationImage
-                          : const QuitGameButton()
+                          : ActivityButtonQuit(
+                              onPressed: () {
+                                BlocProvider.of<ActivityCubit>(context).quitActivity();
+                                BlocProvider.of<NavCubitPage>(context).goToPageHome();
+                              },
+                            ),
                     ],
                   ),
                   Column(
+                    mainAxisAlignment: MainAxisAlignment.center,
+                    crossAxisAlignment: CrossAxisAlignment.center,
                     children: [decorationImage],
                   ),
                 ],
diff --git a/pubspec.lock b/pubspec.lock
index 970aa36ee17b6082bb23a748a08bce7f8d3d9b0e..1896dfc3582bc30a9743cfeb6b5a0e3e3b46fcd3 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -122,11 +122,11 @@ packages:
     dependency: "direct main"
     description:
       path: "."
-      ref: "0.3.0"
-      resolved-ref: b24e16ca0cf72bde23640c72020d5c9da2e00e62
+      ref: "0.4.0"
+      resolved-ref: eb9c090bd00d73324eab8737f74b3339cc24c9e8
       url: "https://git.harrault.fr/android/flutter-toolbox.git"
     source: git
-    version: "0.3.0"
+    version: "0.4.0"
   flutter_lints:
     dependency: "direct dev"
     description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 68981d30e64a2d66deeefdb167767b8f98c30843..44080feca7b519b923b670dbfe3fc5a816c8913b 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: A simple and classic memory game.
 
 publish_to: "none"
 
-version: 1.4.1+33
+version: 1.4.2+34
 
 environment:
   sdk: "^3.0.0"
@@ -16,7 +16,7 @@ dependencies:
   flutter_custom_toolbox:
     git:
       url: https://git.harrault.fr/android/flutter-toolbox.git
-      ref: 0.3.0
+      ref: 0.4.0
 
   # specific
   # (none)
diff --git a/resources/ui/images/button_back.svg b/resources/ui/images/button_back.svg
deleted file mode 100644
index 018d8b734d2932028fbfce1643c4e888ff1b45b1..0000000000000000000000000000000000000000
--- a/resources/ui/images/button_back.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path transform="matrix(1.3783 .61747 -.61747 1.3783 45.198 93.762)" d="m11.645-14.603-44.77-4.6003 26.369-36.472z" fill="#fff" stroke="#950e4f" stroke-linecap="round" stroke-linejoin="round" stroke-width="7.2832"/></svg>
diff --git a/resources/ui/images/button_delete_saved_game.svg b/resources/ui/images/button_delete_saved_game.svg
deleted file mode 100644
index c3f872e434052a6b4e7036b530ced8e6233508e4..0000000000000000000000000000000000000000
--- a/resources/ui/images/button_delete_saved_game.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path d="m76.652 23.303-3.6441 58.302c-0.28153 4.5103-4.0223 8.0241-8.5413 8.0241h-35.27c-4.5189 0-8.2598-3.5138-8.5413-8.0241l-3.6441-58.302h-5.4824c-1.7723 0-3.2093-1.437-3.2093-3.2093 0-1.773 1.437-3.2093 3.2093-3.2093h70.605c1.7723 0 3.2093 1.4363 3.2093 3.2093 0 1.7723-1.437 3.2093-3.2093 3.2093zm-6.8314 0h-45.979l3.0819 55.867c0.12535 2.268 2.0008 4.0433 4.2732 4.0433h31.268c2.2724 0 4.1478-1.7752 4.2732-4.0433zm-22.99 6.4188c1.6541 0 2.9952 1.3411 2.9952 2.9952v41.08c0 1.6541-1.3411 2.9952-2.9952 2.9952-1.6542 0-2.9952-1.3411-2.9952-2.9952v-41.08c0-1.6541 1.3411-2.9952 2.9952-2.9952zm-12.837 0c1.6756 0 3.0553 1.3181 3.1312 2.9921l1.8776 41.3c0.06665 1.4664-1.0681 2.7087-2.5345 2.7762-0.04011 0.0015-0.08024 0.0021-0.12108 0.0021-1.5595 0-2.8476-1.2193-2.9328-2.7774l-2.253-41.3c-0.08524-1.5646 1.114-2.9012 2.6779-2.9864 0.05157-0.0029 0.10317-0.0042 0.15474-0.0042zm25.675 0c1.5667 0 2.8361 1.2694 2.8361 2.8361 0 0.05156-6.87e-4 0.10317-0.0036 0.15474l-2.2416 41.088c-0.09171 1.6778-1.4786 2.991-3.1586 2.991-1.5667 0-2.8361-1.2694-2.8361-2.8361 0-0.05156 7.31e-4 -0.10315 0.0036-0.15474l2.2417-41.088c0.09172-1.6778 1.4786-2.991 3.1586-2.991zm-21.397-25.675h17.117c4.7265 0 8.5578 3.8313 8.5578 8.5578v4.2795h-34.231v-4.2795c0-4.7265 3.8313-8.5578 8.5578-8.5578zm0.42837 6.4188c-1.4184 0-2.5675 1.1491-2.5675 2.5675v3.8512h21.394v-3.8512c0-1.4184-1.1491-2.5675-2.5675-2.5675z" fill="#fff" fill-rule="evenodd" stroke="#050200"/></svg>
diff --git a/resources/ui/images/button_resume_game.svg b/resources/ui/images/button_resume_game.svg
deleted file mode 100644
index 2bf973276aefa564ecff7d6149899298344819f9..0000000000000000000000000000000000000000
--- a/resources/ui/images/button_resume_game.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g transform="translate(-5.618)" fill="#fff" stroke="#105ea2" stroke-linecap="round" stroke-linejoin="round"><path transform="matrix(-1.3783 -.61747 .61747 -1.3783 55.567 -.086035)" d="m11.645-14.603-44.77-4.6003 26.369-36.472z" stroke-width="7.2832"/><path d="m15.535 12.852 2e-3 67.973z" stroke-width="11"/></g></svg>
diff --git a/resources/ui/images/button_start.svg b/resources/ui/images/button_start.svg
deleted file mode 100644
index 4d7634a9f3fb559e590ee965e1341ae2634bf80f..0000000000000000000000000000000000000000
--- a/resources/ui/images/button_start.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg enable-background="new 0 0 100 100" version="1.1" viewBox="0 0 93.665 93.676" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><path transform="matrix(-1.3783 -.61747 .61747 -1.3783 46.954 -.086035)" d="m11.645-14.603-44.77-4.6003 26.369-36.472z" fill="#fff" stroke="#105ea2" stroke-linecap="round" stroke-linejoin="round" stroke-width="7.2832"/></svg>