fcad-core-dragon 2.2.0 → 2.3.0-test.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.gitlab-ci.yml CHANGED
@@ -18,11 +18,11 @@ cache:
18
18
  # Global variables to ensure clean clones and token-based authentication
19
19
  variables:
20
20
  GIT_STRATEGY: clone
21
- GIT_CHECKOUT: "true"
21
+ GIT_CHECKOUT: 'true'
22
22
  GIT_SUBMODULE_STRATEGY: recursive
23
23
  GIT_DEPTH: 1 # Faster, shallow clone
24
- GIT_SSL_NO_VERIFY: "true" # Optional: if your GitLab server uses self-signed SSL
25
- NPM_TOKEN: "$NPM_ACCESS_KEY" # hold value of Auth key for npm access
24
+ GIT_SSL_NO_VERIFY: 'true' # Optional: if your GitLab server uses self-signed SSL
25
+ NPM_TOKEN: '$NPM_ACCESS_KEY' # hold value of Auth key for npm access
26
26
 
27
27
  # Install stage
28
28
  install_dependencies:
@@ -41,8 +41,7 @@ lint_code:
41
41
  #unit-test stage
42
42
  run_tests_unit:
43
43
  stage: test
44
- dependencies:
45
- - install_dependencies
44
+ needs: ['install_dependencies', 'lint_code']
46
45
  script:
47
46
  - echo "🏃 Running tests..."
48
47
  - npm run test:unit:coverage -- --reporter=junit --outputFile=junit-report.xml
@@ -62,23 +61,19 @@ run_tests_unit:
62
61
  #Components-test stage with playwright
63
62
  run_components_test:
64
63
  stage: test
65
- image: mcr.microsoft.com/playwright:v1.48.0-jammy
66
- dependencies:
67
- - install_dependencies
64
+ needs: ['install_dependencies', 'lint_code']
68
65
  script:
69
66
  - echo "🏃 Running Components tests..."
67
+ - npm ci
70
68
  - npx playwright install
71
69
  - npm run test-ct
72
- - mkdir -p artifacts
73
- - cp -r playwright-report artifacts/playwright-report || true
74
- - if [ -f results.xml ]; then cp results.xml artifacts/results.xml; fi
75
70
  artifacts:
76
71
  when: always
77
72
  reports:
78
- junit: artifacts/results.xml # for reporting in GitLab
73
+ junit: results.xml
79
74
  paths:
80
- - artifacts/playwright-report/
81
- - artifacts/results.xml
75
+ - playwright-report/
76
+ - results.xml
82
77
  allow_failure: true
83
78
 
84
79
  #Deploy to npm
@@ -86,21 +81,12 @@ publish_to_npm:
86
81
  stage: deploy
87
82
  #image: node:22
88
83
  script:
89
- # Get version from package.json
90
- - VERSION=$(node -p "require('./package.json').version")
91
- - echo "Detected version => $VERSION"
92
- # Set the right tag (next or latest) according to version
93
- - if [[ "$VERSION" == *beta* ]]; then TAG="next"; else TAG="latest"; fi
94
- - echo "Using dist-tag => $TAG"
95
84
  - echo " //registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
96
- - echo "👀 Check token - ${NPM_TOKEN} "
97
- - cat ~/.npmrc
98
- - npm whoami || true
85
+ - npm ci
86
+ - npx semantic-release # Check semantic-release version
99
87
  - echo "🚀 Publishing package version from tag $CI_COMMIT_TAG"
100
- - npm publish --access public --tag "$TAG" # scoped of publication (public)
101
- when: on_success
102
88
  rules:
103
89
  - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Deploy only from the default branch (e.g., main)
104
- changes:
105
- - package.json # run job only when package.json is modified
106
-
90
+ - if: $CI_COMMIT_BRANCH == "beta" # Deploy from branch (e.g., beta)
91
+ - if: $CI_COMMIT_BRANCH == "alpha" # Deploy from branch (e.g., alpha)
92
+ - if: $CI_COMMIT_BRANCH == "test" # Deploy from branch (e.g., test)
package/.releaserc ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "branches": [
3
+ "master",
4
+ { "name": "beta", "prerelease": true },
5
+ { "name": "alpha", "prerelease": true },
6
+ { "name": "test", "prerelease": true }
7
+ ],
8
+ "plugins": [
9
+ "@semantic-release/commit-analyzer",
10
+ "@semantic-release/release-notes-generator",
11
+ [
12
+ "@semantic-release/changelog",
13
+ {
14
+ "changelogFile": "CHANGELOG.md"
15
+ }
16
+ ],
17
+ "@semantic-release/npm",
18
+ [
19
+ "@semantic-release/git",
20
+ {
21
+ "assets": ["package.json", "CHANGELOG.md"],
22
+ "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
23
+ }
24
+ ],
25
+ "@semantic-release/gitlab"
26
+ ]
27
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,14 @@
1
+ # [2.3.0-test.1](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/compare/v2.2.0...v2.3.0-test.1) (2026-03-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **ci-config:** fixed the rule for npm deployment on granches beta, apha and test ([38923e7](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/38923e7ad775795f2ea27f0d304915a740185892))
7
+ * **ci-config:** fixed the rule for npm deployment on granches beta, apha and test ([808d3de](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/808d3de37bf1d03d420e05fa13412ce17ca72ad1))
8
+ * **dependencies:** fixed depentencies conflicts causing npm ci to fail ([469918e](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/469918e24d0b2948adf7d2f0135d80aeba2b35a8))
9
+ * remaning release config file to .releaserc ([2a746d0](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/2a746d0b294577128937a22fae8f556984e97fda))
10
+
11
+
12
+ ### Features
13
+
14
+ * **core:** expose app-store and app-router via provide for to external plugins and libraries ([42e776f](https://git.crosemont.qc.ca/fcad/core/fcad-core-2/commit/42e776f9af103490d58d067389d28223c61d7ee8))
@@ -15,8 +15,8 @@ export default defineConfig({
15
15
  prev: 'Page précédente',
16
16
  next: 'Page suivante'
17
17
  },
18
- darkModeSwitchTitle : 'Activer le thème sombre',
19
- lightModeSwitchTitle : 'Activer le thème clair',
18
+ darkModeSwitchTitle: 'Activer le thème sombre',
19
+ lightModeSwitchTitle: 'Activer le thème clair',
20
20
  lastUpdated: {
21
21
  text: 'Dernière modification ',
22
22
  formatOptions: {
@@ -26,7 +26,7 @@ export default defineConfig({
26
26
  },
27
27
  search: {
28
28
  provider: 'local',
29
- options:{
29
+ options: {
30
30
  locales: {
31
31
  root: {
32
32
  translations: {
@@ -42,7 +42,7 @@ export default defineConfig({
42
42
  footer: {
43
43
  selectText: 'accéder à la page',
44
44
  navigateText: 'parcourir les résultats',
45
- closeText: 'quitter la recherche',
45
+ closeText: 'quitter la recherche'
46
46
  }
47
47
  }
48
48
  }
@@ -56,17 +56,24 @@ export default defineConfig({
56
56
  { text: 'Accueil', link: '/' },
57
57
  { text: 'Démarrage', link: '/demarrage' },
58
58
  { text: 'Composants', link: '/composants' },
59
- { text: 'Déploiement', link: '/deploiement' },
59
+ { text: 'Déploiement', link: '/deploiement' }
60
60
  // { text: 'Examples', link: '/markdown-examples' }
61
61
  ],
62
62
  sidebar: [
63
- { text: 'Composants critiques',
63
+ {
64
+ text: 'Composants critiques',
64
65
  collapsed: true,
65
66
  items: [
66
67
  { text: 'app-base', link: '/composants_critiques/app-base' },
67
- { text: 'app-base-module', link: '/composants_critiques/app-base-module' },
68
- { text: 'app-base-page', link: '/composants_critiques/app-base-page' },
69
- { text: 'main', link: '/composants_critiques/main' },
68
+ {
69
+ text: 'app-base-module',
70
+ link: '/composants_critiques/app-base-module'
71
+ },
72
+ {
73
+ text: 'app-base-page',
74
+ link: '/composants_critiques/app-base-page'
75
+ },
76
+ { text: 'main', link: '/composants_critiques/main' }
70
77
  ]
71
78
  },
72
79
  {
@@ -74,41 +81,111 @@ export default defineConfig({
74
81
  collapsed: true,
75
82
  items: [
76
83
  { text: 'app-base-button', link: '/composants/app-base-button' },
77
- { text: 'app-base-error-display', link: '/composants/app-base-error-display' },
84
+ {
85
+ text: 'app-base-error-display',
86
+ link: '/composants/app-base-error-display'
87
+ },
78
88
  { text: 'app-base-popover', link: '/composants/app-base-popover' },
79
89
  { text: 'app-comp-audio', link: '/composants/app-comp-audio' },
80
- { text: 'app-comp-branch-buttons', link: '/composants/app-comp-branch-buttons' },
81
- { text: 'app-comp-button-progress', link: '/composants/app-comp-button-progress' },
90
+ {
91
+ text: 'app-comp-branch-buttons',
92
+ link: '/composants/app-comp-branch-buttons'
93
+ },
94
+ {
95
+ text: 'app-comp-button-progress',
96
+ link: '/composants/app-comp-button-progress'
97
+ },
82
98
  { text: 'app-comp-carousel', link: '/composants/app-comp-carousel' },
83
- { text: 'app-comp-container', link: '/composants/app-comp-container' },
84
- { text: 'app-comp-input-checkbox-next', link: '/composants/app-comp-input-checkbox-next' },
85
- { text: 'app-comp-input-dropdown-next', link: '/composants/app-comp-input-dropdown-next' },
86
- { text: 'app-comp-input-radio-next', link: '/composants/app-comp-input-radio-next' },
87
- { text: 'app-comp-input-text-next', link: '/composants/app-comp-input-text-next' },
88
- { text: 'app-comp-input-text-table-next', link: '/composants/app-comp-input-text-table-next' },
89
- { text: 'app-comp-input-text-to-fill-dropdown-next', link: '/composants/app-comp-input-text-to-fill-dropdown-next' },
90
- { text: 'app-comp-input-text-to-fill-next', link: '/composants/app-comp-input-text-to-fill-next' },
99
+ {
100
+ text: 'app-comp-container',
101
+ link: '/composants/app-comp-container'
102
+ },
103
+ {
104
+ text: 'app-comp-input-checkbox-next',
105
+ link: '/composants/app-comp-input-checkbox-next'
106
+ },
107
+ {
108
+ text: 'app-comp-input-dropdown-next',
109
+ link: '/composants/app-comp-input-dropdown-next'
110
+ },
111
+ {
112
+ text: 'app-comp-input-radio-next',
113
+ link: '/composants/app-comp-input-radio-next'
114
+ },
115
+ {
116
+ text: 'app-comp-input-text-next',
117
+ link: '/composants/app-comp-input-text-next'
118
+ },
119
+ {
120
+ text: 'app-comp-input-text-table-next',
121
+ link: '/composants/app-comp-input-text-table-next'
122
+ },
123
+ {
124
+ text: 'app-comp-input-text-to-fill-dropdown-next',
125
+ link: '/composants/app-comp-input-text-to-fill-dropdown-next'
126
+ },
127
+ {
128
+ text: 'app-comp-input-text-to-fill-next',
129
+ link: '/composants/app-comp-input-text-to-fill-next'
130
+ },
91
131
  { text: 'app-comp-jauge', link: '/composants/app-comp-jauge' },
132
+ { text: 'app-comp-math', link: '/composants/app-comp-math' },
92
133
  { text: 'app-comp-menu', link: '/composants/app-comp-menu' },
93
- { text: 'app-comp-menu-item', link: '/composants/app-comp-menu-item' },
94
- { text: 'app-comp-navigation', link: '/composants/app-comp-navigation' },
95
- { text: 'app-comp-note-call', link: '/composants/app-comp-note-call' },
96
- { text: 'app-comp-note-credit', link: '/composants/app-comp-note-credit' },
97
- { text: 'app-comp-play-bar-next', link: '/composants/app-comp-play-bar-next' },
98
- { text: 'app-comp-play-bar-progress', link: '/composants/app-comp-play-bar-progress' },
99
- { text: 'app-comp-pop-up-next', link: '/composants/app-comp-pop-up-next' },
100
- { text: 'app-comp-quiz-next', link: '/composants/app-comp-quiz-next' },
101
- { text: 'app-comp-quiz-recall', link: '/composants/app-comp-quiz-recall' },
134
+ {
135
+ text: 'app-comp-menu-item',
136
+ link: '/composants/app-comp-menu-item'
137
+ },
138
+ {
139
+ text: 'app-comp-navigation',
140
+ link: '/composants/app-comp-navigation'
141
+ },
142
+ {
143
+ text: 'app-comp-note-call',
144
+ link: '/composants/app-comp-note-call'
145
+ },
146
+ {
147
+ text: 'app-comp-note-credit',
148
+ link: '/composants/app-comp-note-credit'
149
+ },
150
+ {
151
+ text: 'app-comp-play-bar-next',
152
+ link: '/composants/app-comp-play-bar-next'
153
+ },
154
+ {
155
+ text: 'app-comp-play-bar-progress',
156
+ link: '/composants/app-comp-play-bar-progress'
157
+ },
158
+ {
159
+ text: 'app-comp-pop-up-next',
160
+ link: '/composants/app-comp-pop-up-next'
161
+ },
162
+ {
163
+ text: 'app-comp-quiz-next',
164
+ link: '/composants/app-comp-quiz-next'
165
+ },
166
+ {
167
+ text: 'app-comp-quiz-recall',
168
+ link: '/composants/app-comp-quiz-recall'
169
+ },
102
170
  // { text: 'app-comp-settings-menu', link: '/composants/app-comp-settings-menu' },
103
171
  { text: 'app-comp-svg-next', link: '/composants/app-comp-svg-next' },
104
- { text: 'app-comp-table-of-content', link: '/composants/app-comp-table-of-content' },
105
- { text: 'app-comp-video-player', link: '/composants/app-comp-video-player' },
172
+ {
173
+ text: 'app-comp-table-of-content',
174
+ link: '/composants/app-comp-table-of-content'
175
+ },
176
+ {
177
+ text: 'app-comp-video-player',
178
+ link: '/composants/app-comp-video-player'
179
+ }
106
180
  ]
107
181
  }
108
182
  ],
109
183
 
110
184
  socialLinks: [
111
- { icon: 'gitlab', link: 'https://git.crosemont.qc.ca/fcad/core/fcad-core-2' }
185
+ {
186
+ icon: 'gitlab',
187
+ link: 'https://git.crosemont.qc.ca/fcad/core/fcad-core-2'
188
+ }
112
189
  ]
113
190
  }
114
191
  })
package/package.json CHANGED
@@ -1,16 +1,34 @@
1
1
  {
2
- "browserslist": [
3
- "> 1%",
4
- "last 2 versions",
5
- "not dead"
6
- ],
7
- "config": {
8
- "projname": ""
2
+ "name": "fcad-core-dragon",
3
+ "version": "2.3.0-test.1",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "./src/main.js",
7
+ "engines": {
8
+ "node": ">0.11.9"
9
+ },
10
+ "scripts": {
11
+ "build": "vite build",
12
+ "dev": "vite",
13
+ "docs:build": "vitepress build documentation",
14
+ "docs:dev": "vitepress dev documentation",
15
+ "docs:preview": "vitepress preview documentation",
16
+ "format": "prettier --write src/",
17
+ "lintfix": "eslint --fix src",
18
+ "lintreport": "eslint ./src",
19
+ "preview": "vite preview",
20
+ "reset": "rm -rf ./node_modules package-lock.json .cache dist && npm i && npm run watch",
21
+ "test-ct": "npx playwright test -c playwright-ct.config.js",
22
+ "test:unit": "vitest",
23
+ "test:unit:coverage": "vitest --coverage",
24
+ "vue": "vue",
25
+ "watch": "nodemon -e js,vue,html,json -x yalc publish --push"
9
26
  },
10
27
  "dependencies": {
11
28
  "axios": "^1.6.8",
12
29
  "gsap": "^3.12.5",
13
30
  "idb": "^8.0.0",
31
+ "mathjs": "^15.1.0",
14
32
  "mobile-detect": "^1.4.5",
15
33
  "pinia": "^3.0.3",
16
34
  "tiny-emitter": "^2.1.0",
@@ -19,14 +37,21 @@
19
37
  "devDependencies": {
20
38
  "@eslint/js": "^9.38.0",
21
39
  "@pinia/testing": "^1.0.3",
22
- "@playwright/experimental-ct-vue": "^1.56.1",
23
- "@playwright/test": "^1.56.1",
40
+ "@playwright/experimental-ct-vue": "^1.50.1",
41
+ "@playwright/test": "^1.50.1",
42
+ "@semantic-release/changelog": "^6.0.3",
43
+ "@semantic-release/commit-analyzer": "^13.0.1",
44
+ "@semantic-release/git": "^10.0.1",
45
+ "@semantic-release/gitlab": "^13.3.2",
46
+ "@semantic-release/npm": "^12.0.2",
47
+ "@semantic-release/release-notes-generator": "^14.1.0",
24
48
  "@testing-library/jest-dom": "^6.9.1",
25
- "@types/node": "^24.10.0",
49
+ "@types/node": "^22.10.0",
26
50
  "@vitejs/plugin-vue": "^6.0.1",
27
- "@vitest/coverage-v8": "^4.0.15",
51
+ "@vitest/coverage-v8": "^3.0.0",
28
52
  "@vue/eslint-config-prettier": "^10.2.0",
29
53
  "@vue/test-utils": "^2.4.6",
54
+ "esbuild": "0.25.12",
30
55
  "eslint": "^9.38.0",
31
56
  "eslint-plugin-cypress": "^5.1.0",
32
57
  "eslint-plugin-vue": "~10.3.0",
@@ -36,35 +61,24 @@
36
61
  "nodemon": "^3.1.0",
37
62
  "prettier": "^3.6.2",
38
63
  "sass-embedded": "^1.91.0",
64
+ "vite": "^6.0.1",
39
65
  "vitepress": "^1.6.3",
40
- "vitest": "^4.0.15",
66
+ "vitest": "^3.0.0",
41
67
  "vue-i18n": "^11.1.12",
42
68
  "vue-router": "^4.4.5",
43
69
  "vuetify": "^3.10.10"
44
70
  },
45
- "engines": {
46
- "node": ">0.11.9"
71
+ "overrides": {
72
+ "esbuild": "0.25.12",
73
+ "vite": "^6.0.1",
74
+ "@vitejs/plugin-vue": "^6.0.1"
47
75
  },
48
- "main": "./src/main.js",
49
- "name": "fcad-core-dragon",
50
- "private": false,
51
- "scripts": {
52
- "build": "vite build",
53
- "dev": "vite",
54
- "docs:build": "vitepress build documentation",
55
- "docs:dev": "vitepress dev documentation",
56
- "docs:preview": "vitepress preview documentation",
57
- "format": "prettier --write src/",
58
- "lintfix": "eslint --fix src",
59
- "lintreport": "eslint ./src",
60
- "preview": "vite preview",
61
- "reset": "rm -rf ./node_modules package-lock.json .cache dist && npm i && npm run watch",
62
- "test-ct": "playwright test -c playwright-ct.config.js",
63
- "test:unit": "vitest",
64
- "test:unit:coverage": "vitest --coverage",
65
- "vue": "vue",
66
- "watch": "nodemon -e js,vue,html,json -x yalc publish --push"
67
- },
68
- "type": "module",
69
- "version": "2.2.0"
76
+ "browserslist": [
77
+ "> 1%",
78
+ "last 2 versions",
79
+ "not dead"
80
+ ],
81
+ "config": {
82
+ "projname": ""
83
+ }
70
84
  }
@@ -131,6 +131,7 @@ export default {
131
131
  'getRouteHistory',
132
132
  'getBookmarkEnabled',
133
133
  'getAppDebugMode',
134
+ 'getLessonPosition',
134
135
  'getApplicationSettings'
135
136
  ]),
136
137
  appDebugMode() {
@@ -373,6 +374,10 @@ export default {
373
374
 
374
375
  setInitialLoadingDone() {
375
376
  this.initialLoading = false
377
+ if (this.bookmarkActive) {
378
+ const bookmark = this.getLessonPosition[0]
379
+ this.$router.push({ name: bookmark })
380
+ } // navigate to menu to start the app
376
381
  },
377
382
  /**
378
383
  * @description set the desired language for the app default is french
@@ -774,6 +779,14 @@ export default {
774
779
 
775
780
  return history.toReversed()
776
781
  })(),
782
+ savedPoint: (() =>
783
+ this.$route.name == 'menu'
784
+ ? this.$helper.getRoutesFromVueRouter().meta.children[0]
785
+ ._namedRoute
786
+ : this.$route.name)(),
787
+ playbarValues: {
788
+ ...this.getMediaPlaybarValues()
789
+ },
777
790
  ...lessonsData
778
791
  }
779
792
  }
@@ -783,21 +796,7 @@ export default {
783
796
 
784
797
  const endStmt = { ...stmt }
785
798
  endStmt.verb = 'terminated'
786
- //================================STATEMENT FOR THE PLAYBAR ===============================================
787
- //Creating custom statement
788
- const stmtPlaybar = {
789
- verb: 'played',
790
- definition: text,
791
- description: text,
792
- extensions: [
793
- {
794
- id: 'playbar-values',
795
- content: {
796
- ...this.getMediaPlaybarValues()
797
- }
798
- }
799
- ]
800
- }
799
+
801
800
  //================================STATEMENT FOR THE SETTINGS ===============================================
802
801
 
803
802
  //Creating custom statement
@@ -815,19 +814,12 @@ export default {
815
814
  content: {
816
815
  ...this.getApplicationSettings
817
816
  }
818
- // content: {
819
- // bookmark: false
820
- // } //for testing
821
817
  }
822
818
  ]
823
819
  }
824
820
  //================================END STATEMENT ===============================================
825
821
 
826
- this.sendXapiStatements(
827
- [stmtPlaybar, stmtUserSettings, stmt, endStmt],
828
- null,
829
- option
830
- ) //send xapi statement
822
+ this.sendXapiStatements([stmtUserSettings, stmt, endStmt], null, option) //send xapi statement
831
823
 
832
824
  if (this.appTimer.getTimerState() === 'started')
833
825
  setTimeout(() => this.stopAppTimer(), 0) //clear the timer
@@ -881,14 +873,6 @@ export default {
881
873
  ...baseStmt,
882
874
  verb: 'terminated',
883
875
  extensions: [
884
- {
885
- id: 'ending-point',
886
- content: (() =>
887
- this.$route.name == 'menu'
888
- ? this.$helper.getRoutesFromVueRouter().meta.children[0]
889
- ._namedRoute
890
- : this.$route.name)()
891
- },
892
876
  {
893
877
  id: 'user-data',
894
878
  content: new Object()
@@ -926,51 +910,21 @@ export default {
926
910
  const fetchData = async () => {
927
911
  //funtion that will make a multiple request on the server
928
912
  const requests = async () => {
929
- const _url = new URL(activityId)
930
- const parentID = `${_url.origin}/${this.getModuleInfo.courseID}` // redefining activity id for statement
931
-
932
913
  const lessonProgressParam = { email: actorMbox, activityId }
933
914
  const lessonStateParam = {
934
915
  email: actorMbox,
935
916
  activityId,
936
917
  verb: 'suspended'
937
918
  }
938
- const lessonPosionParam = {
939
- email: actorMbox,
940
- activityId
941
- }
942
- const playbarParam = {
943
- email: actorMbox,
944
- activityId,
945
- verb: 'played'
946
- }
947
- const preferencesParam = {
948
- email: actorMbox,
949
- activityId: parentID,
950
- verb: 'preferred'
951
- }
952
919
 
953
- const fetchParams = [
954
- lessonProgressParam,
955
- lessonStateParam,
956
- lessonPosionParam,
957
- playbarParam,
958
- preferencesParam
959
- ]
920
+ const fetchParams = [lessonProgressParam, lessonStateParam]
960
921
 
961
- // Using Promise.all to make parallel requests
962
- const {
963
- userData,
964
- savedPoint,
965
- preferredSettings,
966
- playbarValues,
967
- lessonStatus
968
- } = await this.$xapi._getBulkData(fetchParams)
922
+ const { userData, savedPoint, playbarValues, lessonStatus } =
923
+ await this.$xapi._getBulkData(fetchParams)
969
924
 
970
925
  return {
971
926
  userData,
972
927
  savedPoint,
973
- preferredSettings,
974
928
  playbarValues,
975
929
  lessonStatus
976
930
  }
@@ -29,8 +29,6 @@
29
29
  />
30
30
  </nav>
31
31
  <base-module :m-data="$data">
32
-
33
-
34
32
  <v-container
35
33
  id="wrapper-content"
36
34
  fluid
@@ -440,7 +438,6 @@ export default {
440
438
  this.getConnectionInfo.remote
441
439
  ) {
442
440
  const lessonPosition = this.getLessonPosition
443
-
444
441
  const lastReached = lessonPosition.length ? lessonPosition[0] : ''
445
442
 
446
443
  //only Send savepoint statement when 3 navigation happen and the route is different from last saved
@@ -1067,17 +1064,15 @@ export default {
1067
1064
  this.nextOnboarding('message_1')
1068
1065
  } catch (e) {
1069
1066
  //fetch default values for popups
1070
- this.onboardingMessages = import(
1071
- '../assets/data/onboardingMessages.json'
1072
- )
1067
+ this.onboardingMessages =
1068
+ import('../assets/data/onboardingMessages.json')
1073
1069
  this.nextOnboarding('message_1')
1074
1070
  }
1075
1071
  }
1076
1072
  } else {
1077
1073
  if (this.getOnboardingEnabled) {
1078
- this.onboardingMessages = import(
1079
- '../assets/data/onboardingMessages.json'
1080
- )
1074
+ this.onboardingMessages =
1075
+ import('../assets/data/onboardingMessages.json')
1081
1076
  this.nextOnboarding('message_1')
1082
1077
  }
1083
1078
  }
@@ -1421,7 +1416,21 @@ export default {
1421
1416
  {
1422
1417
  id: 'user-data',
1423
1418
  content: {
1424
- routeHistory: this.getRouteHistory,
1419
+ routeHistory: (() => {
1420
+ const history = this.getRouteHistory.toReversed() //get the route history from the last
1421
+
1422
+ history[0] = this.$route.meta // change the last recored route to the current route
1423
+
1424
+ return history.toReversed()
1425
+ })(),
1426
+ savedPoint: (() =>
1427
+ this.$route.name == 'menu'
1428
+ ? this.$helper.getRoutesFromVueRouter().meta.children[0]
1429
+ ._namedRoute
1430
+ : this.$route.name)(),
1431
+ playbarValues: {
1432
+ ...this.getMediaPlaybarValues()
1433
+ },
1425
1434
  ...lessonsData
1426
1435
  }
1427
1436
  }
@@ -1469,7 +1478,21 @@ export default {
1469
1478
  {
1470
1479
  id: 'user-data',
1471
1480
  content: {
1472
- routeHistory: this.getRouteHistory,
1481
+ routeHistory: (() => {
1482
+ const history = this.getRouteHistory.toReversed() //get the route history from the last
1483
+
1484
+ history[0] = this.$route.meta // change the last recored route to the current route
1485
+
1486
+ return history.toReversed()
1487
+ })(),
1488
+ savedPoint: (() =>
1489
+ this.$route.name == 'menu'
1490
+ ? this.$helper.getRoutesFromVueRouter().meta.children[0]
1491
+ ._namedRoute
1492
+ : this.$route.name)(),
1493
+ playbarValues: {
1494
+ ...this.getMediaPlaybarValues()
1495
+ },
1473
1496
  ...lessonsData
1474
1497
  }
1475
1498
  }