From fc3073fd181e36122b18dbbf4e0c5d99a03937a6 Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 14:18:39 +0100 Subject: [PATCH 01/19] Component draft --- src/components/common/TmModalTutorial.vue | 61 +++++++++++++++++++++++ src/components/wallet/PagePortfolio.vue | 41 ++++++++++++++- 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 src/components/common/TmModalTutorial.vue diff --git a/src/components/common/TmModalTutorial.vue b/src/components/common/TmModalTutorial.vue new file mode 100644 index 0000000000..4da9d0a117 --- /dev/null +++ b/src/components/common/TmModalTutorial.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/wallet/PagePortfolio.vue b/src/components/wallet/PagePortfolio.vue index bbbf558cc4..c8ec4dc693 100644 --- a/src/components/wallet/PagePortfolio.vue +++ b/src/components/wallet/PagePortfolio.vue @@ -3,6 +3,21 @@ @@ -12,12 +27,36 @@ import TmPage from "common/TmPage" import DelegationsOverview from "staking/DelegationsOverview" import Undelegations from "staking/Undelegations" +// Just to test tutorial component +import TmModalTutorial from "common/TmModalTutorial" +import TmBtn from "src/components/common/TmBtn" + export default { name: `page-portfolio`, components: { TmPage, Undelegations, - DelegationsOverview + DelegationsOverview, + // Just to test tutorial component + TmModalTutorial, + TmBtn + }, + // Just to test tutorial component + data: () => ({ + showTutorial: true + }), + // Just to test tutorial component + methods: { + closeTutorial() { + this.showTutorial = false + } } } + + From 5aec8e159a5958fceb0dedd1c216b33cdd2bd0ab Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 14:23:53 +0100 Subject: [PATCH 02/19] changelog --- changes/mario_3345-new-tutorial-component | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/mario_3345-new-tutorial-component diff --git a/changes/mario_3345-new-tutorial-component b/changes/mario_3345-new-tutorial-component new file mode 100644 index 0000000000..da3b8368a6 --- /dev/null +++ b/changes/mario_3345-new-tutorial-component @@ -0,0 +1 @@ +[Added] [#3345](https://github.com/cosmos/lunie/issues/3345) New tutorial component @mariopino \ No newline at end of file From 27a2f8e4073f56827294f822170ba8323e626ab2 Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 15:42:13 +0100 Subject: [PATCH 03/19] Add steps --- src/components/common/TmModalTutorial.vue | 57 ++++++++++++++++++++++- src/components/wallet/PagePortfolio.vue | 26 +---------- 2 files changed, 58 insertions(+), 25 deletions(-) diff --git a/src/components/common/TmModalTutorial.vue b/src/components/common/TmModalTutorial.vue index 4da9d0a117..dc242b674b 100644 --- a/src/components/common/TmModalTutorial.vue +++ b/src/components/common/TmModalTutorial.vue @@ -7,14 +7,31 @@ @keyup.esc="close()" >
- +
@@ -58,4 +108,9 @@ export default { flex-flow: column; padding: 1.5rem; } + +.tm-modal-tutorial .button { + width: 100%; + margin-top: 2rem; +} diff --git a/src/components/wallet/PagePortfolio.vue b/src/components/wallet/PagePortfolio.vue index c8ec4dc693..3c100755d2 100644 --- a/src/components/wallet/PagePortfolio.vue +++ b/src/components/wallet/PagePortfolio.vue @@ -3,21 +3,7 @@ @@ -29,7 +15,6 @@ import Undelegations from "staking/Undelegations" // Just to test tutorial component import TmModalTutorial from "common/TmModalTutorial" -import TmBtn from "src/components/common/TmBtn" export default { name: `page-portfolio`, @@ -38,8 +23,7 @@ export default { Undelegations, DelegationsOverview, // Just to test tutorial component - TmModalTutorial, - TmBtn + TmModalTutorial }, // Just to test tutorial component data: () => ({ @@ -54,9 +38,3 @@ export default { } - From d96bfc815494c8670de3d1add88a85dc39d99cc8 Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 18:41:09 +0100 Subject: [PATCH 04/19] First steps done --- public/img/tutorials/bg1.png | Bin 0 -> 40842 bytes src/components/common/ModalTutorial.vue | 203 ++++++++++++++++++++++ src/components/common/TmModalTutorial.vue | 116 ------------- src/components/wallet/PagePortfolio.vue | 6 +- 4 files changed, 206 insertions(+), 119 deletions(-) create mode 100644 public/img/tutorials/bg1.png create mode 100644 src/components/common/ModalTutorial.vue delete mode 100644 src/components/common/TmModalTutorial.vue diff --git a/public/img/tutorials/bg1.png b/public/img/tutorials/bg1.png new file mode 100644 index 0000000000000000000000000000000000000000..bb18862ee1212c6b7e5a171f5928cf1dc92e0065 GIT binary patch literal 40842 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 literal 0 HcmV?d00001 diff --git a/src/components/common/ModalTutorial.vue b/src/components/common/ModalTutorial.vue new file mode 100644 index 0000000000..56ada18d6d --- /dev/null +++ b/src/components/common/ModalTutorial.vue @@ -0,0 +1,203 @@ + + + + + diff --git a/src/components/common/TmModalTutorial.vue b/src/components/common/TmModalTutorial.vue deleted file mode 100644 index dc242b674b..0000000000 --- a/src/components/common/TmModalTutorial.vue +++ /dev/null @@ -1,116 +0,0 @@ - - - - - diff --git a/src/components/wallet/PagePortfolio.vue b/src/components/wallet/PagePortfolio.vue index 3c100755d2..b88eab2595 100644 --- a/src/components/wallet/PagePortfolio.vue +++ b/src/components/wallet/PagePortfolio.vue @@ -3,7 +3,7 @@ @@ -14,7 +14,7 @@ import DelegationsOverview from "staking/DelegationsOverview" import Undelegations from "staking/Undelegations" // Just to test tutorial component -import TmModalTutorial from "common/TmModalTutorial" +import ModalTutorial from "common/ModalTutorial" export default { name: `page-portfolio`, @@ -23,7 +23,7 @@ export default { Undelegations, DelegationsOverview, // Just to test tutorial component - TmModalTutorial + ModalTutorial }, // Just to test tutorial component data: () => ({ From 3577598fcf33eadcc0dce69e4f9ca43322404eeb Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 19:16:54 +0100 Subject: [PATCH 05/19] Add step dots and read the full guide link text --- src/components/common/ModalTutorial.vue | 51 +++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 4 deletions(-) diff --git a/src/components/common/ModalTutorial.vue b/src/components/common/ModalTutorial.vue index 56ada18d6d..cbbd9fab47 100644 --- a/src/components/common/ModalTutorial.vue +++ b/src/components/common/ModalTutorial.vue @@ -21,7 +21,16 @@
-
+
+ STEP {{ currentStep }} +
+ + +
+
`; From 27bb1a017b98b8db06e6631b11be9af580b4b244 Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 20:42:51 +0100 Subject: [PATCH 10/19] Cleanup --- src/components/common/ModalTutorial.vue | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/common/ModalTutorial.vue b/src/components/common/ModalTutorial.vue index d254f738c6..ea4a5a62cd 100644 --- a/src/components/common/ModalTutorial.vue +++ b/src/components/common/ModalTutorial.vue @@ -24,9 +24,10 @@
STEP {{ currentStep }}
-
From 6ee321ce7d90a773d231810ce747d075bbf4ef73 Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 20:47:48 +0100 Subject: [PATCH 11/19] Basic testing --- .../components/common/ModalTutorial.spec.js | 31 ++++++ .../__snapshots__/ModalTutorial.spec.js.snap | 101 ++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 tests/unit/specs/components/common/ModalTutorial.spec.js create mode 100644 tests/unit/specs/components/common/__snapshots__/ModalTutorial.spec.js.snap diff --git a/tests/unit/specs/components/common/ModalTutorial.spec.js b/tests/unit/specs/components/common/ModalTutorial.spec.js new file mode 100644 index 0000000000..8e157eda0b --- /dev/null +++ b/tests/unit/specs/components/common/ModalTutorial.spec.js @@ -0,0 +1,31 @@ +import { shallowMount, createLocalVue } from "@vue/test-utils" +import ModalTutorial from "common/ModalTutorial" +import { focusParentLast } from "src/directives" + +let localVue = createLocalVue() +localVue.directive("focus-last", focusParentLast) + +describe(`TmModal`, () => { + let wrapper + let mockCloseFn + + beforeEach(() => { + mockCloseFn = jest.fn() + wrapper = shallowMount(ModalTutorial, { + localVue, + propsData: { + close: mockCloseFn, + show: true + } + }) + }) + + it(`has the expected html structure`, () => { + expect(wrapper.element).toMatchSnapshot() + }) + + it(`should close with escape key`, () => { + wrapper.trigger("keyup.esc") + expect(mockCloseFn).toBeCalled() + }) +}) diff --git a/tests/unit/specs/components/common/__snapshots__/ModalTutorial.spec.js.snap b/tests/unit/specs/components/common/__snapshots__/ModalTutorial.spec.js.snap new file mode 100644 index 0000000000..13fbb3ddd3 --- /dev/null +++ b/tests/unit/specs/components/common/__snapshots__/ModalTutorial.spec.js.snap @@ -0,0 +1,101 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`TmModal has the expected html structure 1`] = ` +
+
+
+ + + + + + + + + + + + +
+
+ +
+
+ + STEP 1 + + +
+ + + + +
+
+ +

+ How to get tokens? +

+ +

+ Praesent vitae tristique erat. +
+ Integer ullamcorper ligula vel dolor sagittis nec fermentum risus pharetra. +
+ Nulla mollis tempus sem, a sollicitudin est facilisis ac +

+ + + + + +
+
+
+`; From e948ea6fd5fdbb4e5908b840cd6d94ac92170dff Mon Sep 17 00:00:00 2001 From: mariopino Date: Thu, 19 Dec 2019 21:10:37 +0100 Subject: [PATCH 12/19] Cleanup, testing --- src/components/common/ModalTutorial.vue | 48 ++++++++----------- .../components/common/ModalTutorial.spec.js | 20 ++++++++ .../__snapshots__/ModalTutorial.spec.js.snap | 16 +++---- 3 files changed, 48 insertions(+), 36 deletions(-) diff --git a/src/components/common/ModalTutorial.vue b/src/components/common/ModalTutorial.vue index ea4a5a62cd..5c7094f73b 100644 --- a/src/components/common/ModalTutorial.vue +++ b/src/components/common/ModalTutorial.vue @@ -1,13 +1,7 @@