From 2f7313ec1c4ab0008d8e39b965d8a8b3fb42b234 Mon Sep 17 00:00:00 2001
From: poka <poka@p2p.legal>
Date: Sun, 28 Feb 2021 02:38:52 +0100
Subject: [PATCH] 50% of OnBoarding workflow is OK

---
 .../phrase_de_restauration_flou.png           | Bin 0 -> 25544 bytes
 lib/screens/commonElements.dart               |  45 +++++
 lib/screens/home.dart                         |   1 -
 lib/screens/onBoarding/1_noKeychainFound.dart |  56 ++----
 lib/screens/onBoarding/2_stepOne.dart         | 130 ++++++++++++++
 lib/screens/onBoarding/3_stepTwo.dart         | 134 +++++++++++++++
 lib/screens/onBoarding/4_stepFor.dart         | 133 +++++++++++++++
 lib/screens/onBoarding/5_stepFive.dart        | 133 +++++++++++++++
 lib/screens/onBoarding/6_stepSix.dart         | 133 +++++++++++++++
 lib/screens/onBoarding/7_stepSeven.dart       | 161 ++++++++++++++++++
 lib/screens/onBoarding/8_stepEight.dart       | 134 +++++++++++++++
 lib/screens/onBoarding/9_stepNine.dart        | 146 ++++++++++++++++
 pubspec.yaml                                  |  15 +-
 13 files changed, 1162 insertions(+), 59 deletions(-)
 create mode 100755 assets/onBoarding/phrase_de_restauration_flou.png
 create mode 100644 lib/screens/onBoarding/2_stepOne.dart
 create mode 100644 lib/screens/onBoarding/3_stepTwo.dart
 create mode 100644 lib/screens/onBoarding/4_stepFor.dart
 create mode 100644 lib/screens/onBoarding/5_stepFive.dart
 create mode 100644 lib/screens/onBoarding/6_stepSix.dart
 create mode 100644 lib/screens/onBoarding/7_stepSeven.dart
 create mode 100644 lib/screens/onBoarding/8_stepEight.dart
 create mode 100644 lib/screens/onBoarding/9_stepNine.dart

diff --git a/assets/onBoarding/phrase_de_restauration_flou.png b/assets/onBoarding/phrase_de_restauration_flou.png
new file mode 100755
index 0000000000000000000000000000000000000000..bc69307785bc586a842af1aa2e357dbffabf9035
GIT binary patch
literal 25544
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

literal 0
HcmV?d00001

diff --git a/lib/screens/commonElements.dart b/lib/screens/commonElements.dart
index 9f4b07e4..13ea7972 100644
--- a/lib/screens/commonElements.dart
+++ b/lib/screens/commonElements.dart
@@ -36,3 +36,48 @@ class CommonElements {
     );
   }
 }
+
+class SmoothTransition extends PageRouteBuilder {
+  final Widget page;
+  SmoothTransition({this.page})
+      : super(
+          pageBuilder: (
+            BuildContext context,
+            Animation<double> animation,
+            Animation<double> secondaryAnimation,
+          ) =>
+              TweenAnimationBuilder(
+            duration: const Duration(seconds: 5),
+            tween: Tween(begin: 200, end: 200),
+            builder: (BuildContext context, dynamic value, Widget child) {
+              return page;
+            },
+          ),
+        );
+}
+
+class SlideLeftRoute extends PageRouteBuilder {
+  final Widget page;
+  SlideLeftRoute({this.page})
+      : super(
+          pageBuilder: (
+            BuildContext context,
+            Animation<double> animation,
+            Animation<double> secondaryAnimation,
+          ) =>
+              page,
+          transitionsBuilder: (
+            BuildContext context,
+            Animation<double> animation,
+            Animation<double> secondaryAnimation,
+            Widget child,
+          ) =>
+              SlideTransition(
+            position: Tween<Offset>(
+              begin: const Offset(1, 0),
+              end: Offset.zero,
+            ).animate(animation),
+            child: child,
+          ),
+        );
+}
diff --git a/lib/screens/home.dart b/lib/screens/home.dart
index d5b33de5..3ce94525 100644
--- a/lib/screens/home.dart
+++ b/lib/screens/home.dart
@@ -4,7 +4,6 @@ import 'package:gecko/models/history.dart';
 import 'package:gecko/models/home.dart';
 import 'package:flutter/material.dart';
 import 'package:gecko/models/myWallets.dart';
-import 'package:gecko/screens/commonElements.dart';
 import 'package:gecko/screens/myWallets/walletsHome.dart';
 import 'package:gecko/screens/onBoarding/1_noKeychainFound.dart';
 import 'dart:ui';
diff --git a/lib/screens/onBoarding/1_noKeychainFound.dart b/lib/screens/onBoarding/1_noKeychainFound.dart
index 712e7253..b8334456 100644
--- a/lib/screens/onBoarding/1_noKeychainFound.dart
+++ b/lib/screens/onBoarding/1_noKeychainFound.dart
@@ -1,7 +1,8 @@
 import 'package:bubble/bubble.dart';
 import 'package:flutter/services.dart';
-import 'package:gecko/screens/home.dart';
 import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/2_stepOne.dart';
 // import 'package:gecko/models/home.dart';
 // import 'package:provider/provider.dart';
 
@@ -60,7 +61,14 @@ class NoKeyChainScreen extends StatelessWidget {
                           child: Image(
                               image: AssetImage('assets/onBoarding/wallet.png'),
                               height: 75)),
-                      onTap: () {}),
+                      onTap: () {
+                        Navigator.push(
+                            context, SlideLeftRoute(page: OnboardingStepOne()));
+                        // Navigator.push(context,
+                        //     MaterialPageRoute(builder: (context) {
+                        //   return OnboardingStepOne();
+                        // }));
+                      }),
                 ),
               ),
               decoration: BoxDecoration(
@@ -122,27 +130,6 @@ class NoKeyChainScreen extends StatelessWidget {
   }
 }
 
-// class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
-
-//   }
-//   // Widget build(BuildContext context) {
-//   //   return AppBar(
-//   //       leading: IconButton(
-//   //         icon: Container(
-//   //             height: 100,
-//   //             child: Image.asset('assets/onBoarding/gecko_bar.png')),
-//   //         onPressed: () => Navigator.popUntil(
-//   //           context,
-//   //           ModalRoute.withName('/'),
-//   //         ),
-//   //       ),
-//   //       title: SizedBox(
-//   //         height: 22,
-//   //         child: Text('Mes portefeuilles'),
-//   //       ));
-//   // }
-// }
-
 class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
   @override
   final Size preferredSize;
@@ -156,29 +143,6 @@ class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
 
   @override
   Widget build(BuildContext context) {
-    // return PreferredSize(
-    //   preferredSize: Size(MediaQuery.of(context).size.width, 200),
-    //   child: Container(
-    //     child: Stack(
-    //       alignment: Alignment.topLeft,
-    //       children: <Widget>[
-    //         Container(
-    //           color: Color(0xffFFD68E),
-    //           width: MediaQuery.of(context).size.width,
-    //           height: 100,
-    //         ),
-    //         Container(
-    //           // width: 100,
-    //           height: 200,
-    //           child: Column(children: <Widget>[
-    //             SizedBox(height: 61.5),
-    //             Image.asset('assets/onBoarding/gecko_bar.png')
-    //           ]),
-    //         ),
-    //       ],
-    //     ),
-    //   ),
-    // );
     return AppBar(
         leading: IconButton(
           icon: Container(
diff --git a/lib/screens/onBoarding/2_stepOne.dart b/lib/screens/onBoarding/2_stepOne.dart
new file mode 100644
index 00000000..33070728
--- /dev/null
+++ b/lib/screens/onBoarding/2_stepOne.dart
@@ -0,0 +1,130 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/3_stepTwo.dart';
+// import 'package:gecko/models/home.dart';
+// import 'package:provider/provider.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepOne extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 8;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Nouveau portefeuilles')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.all(15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: Text(
+                "Il semblerait que vous n’ayez pas encore de trousseau.\n\nUn trousseau vous permet de gérer un ou plusieurs portefeuilles.",
+                style: TextStyle(
+                    color: Colors.black,
+                    fontSize: 15,
+                    fontWeight: FontWeight.w500),
+              ),
+            ),
+            SizedBox(height: 70),
+            // Row(children: <Widget>[
+            // Align(
+            //     alignment: Alignment.centerRight,
+            //     child:
+            Image.asset('assets/onBoarding/keys-and-wallets-horizontal.png'),
+            // ]),
+            Expanded(
+                child: Align(
+                    alignment: Alignment.bottomCenter,
+                    child: SizedBox(
+                      width: 350,
+                      height: 55,
+                      child: ElevatedButton(
+                          style: ElevatedButton.styleFrom(
+                            elevation: 5,
+                            primary: Color(0xffD28928),
+                            onPrimary: Colors.white, // foreground
+                          ),
+                          onPressed: () {
+                            Navigator.push(context,
+                                SmoothTransition(page: OnboardingStepTwo()));
+                          },
+                          child: Text('Créer mon trousseau',
+                              style: TextStyle(fontSize: 20))),
+                    ))),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/lib/screens/onBoarding/3_stepTwo.dart b/lib/screens/onBoarding/3_stepTwo.dart
new file mode 100644
index 00000000..b844259e
--- /dev/null
+++ b/lib/screens/onBoarding/3_stepTwo.dart
@@ -0,0 +1,134 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/4_stepFor.dart';
+// import 'package:gecko/screens/commonElements.dart';
+// import 'package:gecko/models/home.dart';
+// import 'package:provider/provider.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepTwo extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 17;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Nouveau portefeuilles')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.all(15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: Text(
+                "Un trousseau est créé à partir d’une phrase de restauration.",
+                style: TextStyle(
+                    color: Colors.black,
+                    fontSize: 15,
+                    fontWeight: FontWeight.w500),
+              ),
+            ),
+            SizedBox(height: 70),
+            // Row(children: <Widget>[
+            // Align(
+            //     alignment: Alignment.centerRight,
+            //     child:
+            Image.asset(
+                'assets/onBoarding/keys-and-wallets-horizontal-plus-phrase.png'),
+            // ]),
+            Expanded(
+                child: Align(
+                    alignment: Alignment.bottomCenter,
+                    child: SizedBox(
+                      width: 350,
+                      height: 55,
+                      child: ElevatedButton(
+                          style: ElevatedButton.styleFrom(
+                            elevation: 5,
+                            primary: Color(0xffD28928),
+                            onPrimary: Colors.white, // foreground
+                          ),
+                          onPressed: () {
+                            Navigator.push(
+                              context,
+                              SmoothTransition(page: OnboardingStepFor()),
+                            );
+                          },
+                          child: Text("J'ai compris",
+                              style: TextStyle(fontSize: 20))),
+                    ))),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/lib/screens/onBoarding/4_stepFor.dart b/lib/screens/onBoarding/4_stepFor.dart
new file mode 100644
index 00000000..03db2259
--- /dev/null
+++ b/lib/screens/onBoarding/4_stepFor.dart
@@ -0,0 +1,133 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/5_stepFive.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepFor extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 20;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Ma phrase de restauration')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.all(15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: Text(
+                "Si un jour vous changez de téléphone, il vous suffira de me redonner votre phrase de restauration pour recréer votre trousseau.",
+                style: TextStyle(
+                    color: Colors.black,
+                    fontSize: 15,
+                    fontWeight: FontWeight.w500),
+              ),
+            ),
+            SizedBox(height: 10),
+            // Row(children: <Widget>[
+            // Align(
+            //     alignment: Alignment.centerRight,
+            //     child:
+            Image.asset(
+              'assets/onBoarding/plusieurs-appareils-un-trousseau.png',
+              height: 350,
+            ),
+            // ]),
+            Expanded(
+                child: Align(
+                    alignment: Alignment.bottomCenter,
+                    child: SizedBox(
+                      width: 350,
+                      height: 55,
+                      child: ElevatedButton(
+                          style: ElevatedButton.styleFrom(
+                            elevation: 5,
+                            primary: Color(0xffD28928),
+                            onPrimary: Colors.white, // foreground
+                          ),
+                          onPressed: () {
+                            Navigator.push(
+                              context,
+                              SmoothTransition(page: OnboardingStepFive()),
+                            );
+                          },
+                          child: Text("J'ai compris",
+                              style: TextStyle(fontSize: 20))),
+                    ))),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/lib/screens/onBoarding/5_stepFive.dart b/lib/screens/onBoarding/5_stepFive.dart
new file mode 100644
index 00000000..d1c958ed
--- /dev/null
+++ b/lib/screens/onBoarding/5_stepFive.dart
@@ -0,0 +1,133 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/6_stepSix.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepFive extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 25;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Ma phrase de restauration')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.all(15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: Text(
+                "Par contre, attention :\n\nDans une blockchain, il n’y a pas de procédure de récupération de trousseau.\n\nSi vous perdez votre phrase de restauration, je ne pourrai pas vous la communiquer, et vous ne pourrez donc plus jamais accéder à votre compte.",
+                style: TextStyle(
+                    color: Colors.black,
+                    fontSize: 15,
+                    fontWeight: FontWeight.w500),
+              ),
+            ),
+            SizedBox(height: 10),
+            // Row(children: <Widget>[
+            // Align(
+            //     alignment: Alignment.centerRight,
+            //     child:
+            Image.asset(
+              'assets/onBoarding/maison-qui-brule.png',
+              height: 200,
+            ),
+            // ]),
+            Expanded(
+                child: Align(
+                    alignment: Alignment.bottomCenter,
+                    child: SizedBox(
+                      width: 350,
+                      height: 55,
+                      child: ElevatedButton(
+                          style: ElevatedButton.styleFrom(
+                            elevation: 5,
+                            primary: Color(0xffD28928),
+                            onPrimary: Colors.white, // foreground
+                          ),
+                          onPressed: () {
+                            Navigator.push(
+                              context,
+                              SmoothTransition(page: OnboardingStepSix()),
+                            );
+                          },
+                          child: Text("J'ai compris",
+                              style: TextStyle(fontSize: 20))),
+                    ))),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/lib/screens/onBoarding/6_stepSix.dart b/lib/screens/onBoarding/6_stepSix.dart
new file mode 100644
index 00000000..70918d0a
--- /dev/null
+++ b/lib/screens/onBoarding/6_stepSix.dart
@@ -0,0 +1,133 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/7_stepSeven.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepSix extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 28;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Ma phrase de restauration')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.all(15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: Text(
+                "Je vais générer votre phrase de restauration ansi que votre trousseau de clef.\n\nC’est moi qui vais décider des mots de votre phrase, parce que sans ça les gens choisissent des choses trop faciles à deviner.",
+                style: TextStyle(
+                    color: Colors.black,
+                    fontSize: 15,
+                    fontWeight: FontWeight.w500),
+              ),
+            ),
+            SizedBox(height: 10),
+            // Row(children: <Widget>[
+            // Align(
+            //     alignment: Alignment.centerRight,
+            //     child:
+            Image.asset(
+              'assets/onBoarding/good-bad-passphrase.png',
+              height: 300,
+            ),
+            // ]),
+            Expanded(
+                child: Align(
+                    alignment: Alignment.bottomCenter,
+                    child: SizedBox(
+                      width: 350,
+                      height: 55,
+                      child: ElevatedButton(
+                          style: ElevatedButton.styleFrom(
+                            elevation: 5,
+                            primary: Color(0xffD28928),
+                            onPrimary: Colors.white, // foreground
+                          ),
+                          onPressed: () {
+                            Navigator.push(
+                              context,
+                              SmoothTransition(page: OnboardingStepSeven()),
+                            );
+                          },
+                          child: Text("Je comprends",
+                              style: TextStyle(fontSize: 20))),
+                    ))),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/lib/screens/onBoarding/7_stepSeven.dart b/lib/screens/onBoarding/7_stepSeven.dart
new file mode 100644
index 00000000..8369526e
--- /dev/null
+++ b/lib/screens/onBoarding/7_stepSeven.dart
@@ -0,0 +1,161 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/8_stepEight.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepSeven extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 33;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Ma phrase de restauration')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.all(15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: RichText(
+                  text: new TextSpan(
+                // Note: Styles for TextSpans must be explicitly defined.
+                // Child text spans will inherit styles from parent
+                style: new TextStyle(
+                  fontSize: 14.0,
+                  color: Colors.black,
+                ),
+                children: <TextSpan>[
+                  new TextSpan(text: "Munissez-vous d'"),
+                  new TextSpan(
+                      text: 'un papier et d’un crayon\n',
+                      style: new TextStyle(fontWeight: FontWeight.bold)),
+                  new TextSpan(
+                      text:
+                          "afin de pouvoir noter votre phrase de restauration."),
+                ],
+              )),
+            ),
+            Expanded(
+                child: Align(
+              alignment: Alignment.bottomCenter,
+              child: Row(
+                  // mainAxisAlignment: MainAxisAlignment.spaceAround,
+                  mainAxisSize: MainAxisSize.min,
+                  // crossAxisAlignment: CrossAxisAlignment.center,
+                  children: <Widget>[
+                    // SizedBox(width: 50),
+                    Container(
+                        padding: const EdgeInsets.only(bottom: 90),
+                        child: Bubble(
+                          padding: BubbleEdges.all(15),
+                          elevation: 5,
+                          color: Colors.white,
+                          margin: BubbleEdges.fromLTRB(15, 0, 0, 0),
+                          // nip: BubbleNip.leftTop,
+                          child: Text(
+                            'Moi, j’ai déjà essayé de\nmémoriser une phrase de\nrestauration, mais je n’ai\npas une mémoire\nd’éléphant.',
+                            style: TextStyle(color: Colors.black),
+                          ),
+                        )),
+
+                    Image.asset(
+                      'assets/onBoarding/chopp-gecko.png',
+                      height: 200,
+                    ),
+                  ]),
+            )),
+            SizedBox(height: 50),
+            SizedBox(
+              width: 350,
+              height: 55,
+              child: ElevatedButton(
+                  style: ElevatedButton.styleFrom(
+                    elevation: 5,
+                    primary: Color(0xffD28928),
+                    onPrimary: Colors.white, // foreground
+                  ),
+                  onPressed: () {
+                    Navigator.push(
+                      context,
+                      SmoothTransition(page: OnboardingStepEight()),
+                    );
+                  },
+                  child: Text("J'ai de quoi noter",
+                      style: TextStyle(fontSize: 20))),
+            ),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/lib/screens/onBoarding/8_stepEight.dart b/lib/screens/onBoarding/8_stepEight.dart
new file mode 100644
index 00000000..2601f20c
--- /dev/null
+++ b/lib/screens/onBoarding/8_stepEight.dart
@@ -0,0 +1,134 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:gecko/screens/onBoarding/7_stepSeven.dart';
+import 'package:gecko/screens/onBoarding/9_stepNine.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepEight extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 42;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Ma phrase de restauration')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.all(15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: Text(
+                "J’ai généré votre phrase de restauration !\nTâchez de la garder bien secrète, car elle permet à quiconque la connaît d’accéder à tous vos portefeuilles.",
+                style: TextStyle(
+                    color: Colors.black,
+                    fontSize: 15,
+                    fontWeight: FontWeight.w500),
+              ),
+            ),
+            SizedBox(height: 10),
+            // Row(children: <Widget>[
+            // Align(
+            //     alignment: Alignment.centerRight,
+            //     child:
+            Image.asset(
+              'assets/onBoarding/phrase_de_restauration_flou.png',
+              height: 300,
+            ),
+            // ]),
+            Expanded(
+                child: Align(
+                    alignment: Alignment.bottomCenter,
+                    child: SizedBox(
+                      width: 350,
+                      height: 55,
+                      child: ElevatedButton(
+                          style: ElevatedButton.styleFrom(
+                            elevation: 5,
+                            primary: Color(0xffD28928),
+                            onPrimary: Colors.white, // foreground
+                          ),
+                          onPressed: () {
+                            Navigator.push(
+                              context,
+                              SmoothTransition(page: OnboardingStepNine()),
+                            );
+                          },
+                          child: Text("Afficher ma phrase",
+                              style: TextStyle(fontSize: 20))),
+                    ))),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/lib/screens/onBoarding/9_stepNine.dart b/lib/screens/onBoarding/9_stepNine.dart
new file mode 100644
index 00000000..973f9673
--- /dev/null
+++ b/lib/screens/onBoarding/9_stepNine.dart
@@ -0,0 +1,146 @@
+import 'package:bubble/bubble.dart';
+import 'package:flutter/services.dart';
+import 'package:flutter/material.dart';
+import 'package:gecko/models/generateWallets.dart';
+import 'package:gecko/screens/commonElements.dart';
+import 'package:provider/provider.dart';
+
+// ignore: must_be_immutable
+class OnboardingStepNine extends StatelessWidget {
+  TextEditingController tplController = TextEditingController();
+  final int progress = 50;
+
+  @override
+  Widget build(BuildContext context) {
+    SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
+    GenerateWalletsProvider _generateWalletProvider =
+        Provider.of<GenerateWalletsProvider>(context);
+    _generateWalletProvider.generateMnemonic();
+
+    return Scaffold(
+        extendBodyBehindAppBar: true,
+        body: SafeArea(
+          child: Column(children: <Widget>[
+            Stack(children: [
+              Container(height: 100),
+              Positioned(
+                  top: 0,
+                  left: 0,
+                  right: 0,
+                  child: GeckoSpeechAppBar('Ma phrase de restauration')),
+              Positioned(
+                top: 0,
+                left: 0,
+                child: Image.asset(
+                  'assets/onBoarding/gecko_bar.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/total.png',
+                ),
+              ),
+              Positioned(
+                top: 70,
+                left: 50,
+                child: Image.asset(
+                  'assets/onBoarding/progress_bar/$progress.png',
+                ),
+              ),
+              Positioned(
+                top: 66,
+                right: 45,
+                child: Text('$progress%',
+                    style: TextStyle(fontSize: 12, color: Colors.black)),
+              ),
+            ]),
+            Bubble(
+              padding: BubbleEdges.fromLTRB(40, 15, 40, 15),
+              elevation: 5,
+              color: Colors.white,
+              margin: BubbleEdges.fromLTRB(10, 0, 20, 10),
+              // nip: BubbleNip.leftTop,
+              child: Text(
+                "C’est le moment de noter votre phrase !",
+                style: TextStyle(
+                    color: Colors.black,
+                    fontSize: 15,
+                    fontWeight: FontWeight.w500),
+              ),
+            ),
+            SizedBox(height: 64),
+            // Row(children: <Widget>[
+            // Align(
+            //     alignment: Alignment.centerRight,
+            //     child:
+            TextField(
+                enabled: false,
+                controller: _generateWalletProvider.mnemonicController,
+                maxLines: 3,
+                textAlign: TextAlign.center,
+                decoration: InputDecoration(
+                  contentPadding: EdgeInsets.all(15.0),
+                ),
+                style: TextStyle(
+                    fontSize: 22.0,
+                    color: Colors.black,
+                    fontWeight: FontWeight.w400)),
+            // ]),
+            Expanded(
+                child: Align(
+                    alignment: Alignment.bottomCenter,
+                    child: SizedBox(
+                      width: 350,
+                      height: 55,
+                      child: ElevatedButton(
+                          style: ElevatedButton.styleFrom(
+                            elevation: 5,
+                            primary: Color(0xffD28928),
+                            onPrimary: Colors.white, // foreground
+                          ),
+                          onPressed: () {
+                            // Navigator.push(
+                            //   context,
+                            //   SmoothTransition(page: OnboardingStepNince()),
+                            // );
+                          },
+                          child: Text("J'ai noté ma phrase",
+                              style: TextStyle(fontSize: 20))),
+                    ))),
+            SizedBox(height: 80),
+          ]),
+        ));
+  }
+}
+
+class GeckoSpeechAppBar extends StatelessWidget with PreferredSizeWidget {
+  @override
+  final Size preferredSize;
+  final String title;
+
+  GeckoSpeechAppBar(
+    this.title, {
+    Key key,
+  })  : preferredSize = Size.fromHeight(105.4),
+        super(key: key);
+
+  @override
+  Widget build(BuildContext context) {
+    return AppBar(
+        leading: IconButton(
+          icon: Container(
+              height: 30,
+              child: Image.asset('assets/onBoarding/gecko_bar.png')),
+          onPressed: () => Navigator.popUntil(
+            context,
+            ModalRoute.withName('/'),
+          ),
+        ),
+        title: SizedBox(
+          height: 25,
+          child: Text(title),
+        ));
+  }
+}
diff --git a/pubspec.yaml b/pubspec.yaml
index 07da75af..7a4f952b 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -57,16 +57,7 @@ flutter:
   assets:
     - images/
     - config/gva_endpoints.json
-    - assets/icon/gecko_final.png
     - assets/
-    - assets/OpenSans-Regular.ttf
-    - assets/icon_user.png
-    - assets/qrcode-scan.png
-    - assets/blockchain.png
-    - assets/block-space.png
-    - assets/block-space-disabled.png
-    - assets/lock.png
-    - assets/onBoarding/gecko_bar.png
-    - assets/onBoarding/wallet.png
-    - assets/onBoarding/cesium.png
-
+    - assets/icon/
+    - assets/onBoarding/
+    - assets/onBoarding/progress_bar/
\ No newline at end of file
-- 
GitLab