@saooti/octopus-sdk 37.1.1 → 37.2.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "37.1.1",
3
+ "version": "37.2.0",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -16,35 +16,35 @@
16
16
  "dependencies": {
17
17
  "@popperjs/core": "^2.11.8",
18
18
  "@saooti/octopus-api": "^0.36.0",
19
- "@tiptap/extension-link": "^2.1.11",
20
- "@tiptap/extension-underline": "^2.1.11",
21
- "@tiptap/pm": "^2.1.11",
22
- "@tiptap/starter-kit": "^2.1.11",
23
- "@tiptap/vue-3": "^2.1.11",
19
+ "@tiptap/extension-link": "^2.1.12",
20
+ "@tiptap/extension-underline": "^2.1.12",
21
+ "@tiptap/pm": "^2.1.12",
22
+ "@tiptap/starter-kit": "^2.1.12",
23
+ "@tiptap/vue-3": "^2.1.12",
24
24
  "@vue/cli": "^5.0.8",
25
- "@vue/compat": "^3.3.4",
26
- "@vuepic/vue-datepicker": "^7.0.0",
25
+ "@vue/compat": "^3.3.7",
26
+ "@vuepic/vue-datepicker": "^7.2.0",
27
27
  "@vueuse/core": "^10.5.0",
28
28
  "autoprefixer": "^10.4.16",
29
- "axios": "^1.5.1",
29
+ "axios": "^1.6.0",
30
30
  "dayjs": "^1.11.10",
31
31
  "eslint-config-prettier": "^9.0.0",
32
- "eslint-plugin-prettier": "^5.0.0",
32
+ "eslint-plugin-prettier": "^5.0.1",
33
33
  "express": "^4.18.2",
34
34
  "hls.js": "^1.4.12",
35
35
  "humanize-duration": "^3.30.0",
36
36
  "jest": "^29.7.0",
37
- "pinia": "^2.1.6",
37
+ "pinia": "^2.1.7",
38
38
  "qrcode.vue": "^3.4.1",
39
- "sass": "^1.68.0",
39
+ "sass": "^1.69.5",
40
40
  "sonarqube-scanner": "^3.1.0",
41
- "swiper": "^10.3.1",
42
- "video.js": "^7.21.5",
43
- "videojs-contrib-quality-levels": "^2.2.1",
41
+ "swiper": "^11.0.3",
42
+ "video.js": "^8.6.1",
43
+ "videojs-contrib-quality-levels": "^4.0.0",
44
44
  "videojs-hls-quality-selector": "^1.1.4",
45
- "vite": "^4.4.9",
46
- "vue": "^3.3.4",
47
- "vue-i18n": "^9.5.0",
45
+ "vite": "^4.5.0",
46
+ "vue": "^3.3.7",
47
+ "vue-i18n": "^9.6.4",
48
48
  "vue-recaptcha": "^2.0.3",
49
49
  "vue-router": "^4.2.5",
50
50
  "vue-select": "^4.0.0-beta.6",
@@ -52,16 +52,16 @@
52
52
  "vue3-swatches": "^1.2.3"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/videojs-contrib-quality-levels": "^2.0.2",
56
- "@types/videojs-hls-quality-selector": "^1.1.1",
57
- "@types/vue-select": "^3.16.3",
58
- "@typescript-eslint/eslint-plugin": "^6.7.3",
59
- "@typescript-eslint/parser": "^6.7.3",
60
- "@vitejs/plugin-vue": "^4.3.4",
61
- "@vue/compiler-sfc": "^3.3.4",
55
+ "@types/videojs-contrib-quality-levels": "^2.0.3",
56
+ "@types/videojs-hls-quality-selector": "^1.1.2",
57
+ "@types/vue-select": "^3.16.6",
58
+ "@typescript-eslint/eslint-plugin": "^6.9.1",
59
+ "@typescript-eslint/parser": "^6.9.1",
60
+ "@vitejs/plugin-vue": "^4.4.0",
61
+ "@vue/compiler-sfc": "^3.3.7",
62
62
  "@vue/eslint-config-typescript": "^12.0.0",
63
- "eslint": "^8.50.0",
64
- "eslint-plugin-vue": "^9.15.1",
63
+ "eslint": "^8.52.0",
64
+ "eslint-plugin-vue": "^9.18.1",
65
65
  "typescript": "^5.1.6"
66
66
  },
67
67
  "eslintConfig": {
package/src/App.vue CHANGED
@@ -8,11 +8,7 @@
8
8
  />
9
9
  <CategoryFilter v-if="firstDisplayCategoryFilter" />
10
10
  <router-view />
11
- <ClassicLazy
12
- v-if="pageFullyLoad"
13
- :min-height="125"
14
- :unrender="true"
15
- >
11
+ <ClassicLazy v-if="pageFullyLoad" :min-height="125" :unrender="true">
16
12
  <FooterOctopus />
17
13
  </ClassicLazy>
18
14
  <PlayerComponent />
@@ -51,7 +47,7 @@ export default defineComponent({
51
47
  CategoryFilter,
52
48
  FooterOctopus,
53
49
  PlayerComponent,
54
- ClassicLazy
50
+ ClassicLazy,
55
51
  },
56
52
 
57
53
  mixins: [initSDK],
@@ -76,11 +72,20 @@ export default defineComponent({
76
72
  deep: true,
77
73
  immediate: true,
78
74
  async handler() {
79
- if(this.firstDisplayCategoryFilter){
75
+ if (this.firstDisplayCategoryFilter) {
80
76
  return;
81
77
  }
82
- const namesRouteWithCategoryFilter = ["homePriv", "home", "podcasts", "emissions", "participants", "playlists"];
83
- this.firstDisplayCategoryFilter = namesRouteWithCategoryFilter.includes(this.$route.name?.toString()?? "");
78
+ const namesRouteWithCategoryFilter = [
79
+ "homePriv",
80
+ "home",
81
+ "podcasts",
82
+ "emissions",
83
+ "participants",
84
+ "playlists",
85
+ ];
86
+ this.firstDisplayCategoryFilter = namesRouteWithCategoryFilter.includes(
87
+ this.$route.name?.toString() ?? "",
88
+ );
84
89
  },
85
90
  },
86
91
  "$i18n.locale"() {
@@ -90,9 +95,9 @@ export default defineComponent({
90
95
  },
91
96
  async created() {
92
97
  await this.initApp();
93
- setTimeout(()=>{
98
+ setTimeout(() => {
94
99
  this.pageFullyLoad = true;
95
- }, 2000)
100
+ }, 2000);
96
101
  },
97
102
  methods: {
98
103
  ...mapActions(useFilterStore, ["filterUpdateIab", "filterUpdateRubrique"]),
@@ -51,8 +51,8 @@
51
51
  v-model:display-wave="displayWave"
52
52
  v-model:proceed-reading="proceedReading"
53
53
  v-model:is-visible="isVisible"
54
- :is-visible="isVisible"
55
54
  v-model:player-auto-play="playerAutoPlay"
55
+ :is-visible="isVisible"
56
56
  :chose-number-episode="
57
57
  displayChoiceAllEpisodes || isLargeSuggestion
58
58
  "
@@ -25,7 +25,10 @@ export default {
25
25
  props: {
26
26
  renderOnIdle: Boolean,
27
27
  unrender: Boolean,
28
- minHeight: Number,
28
+ minHeight: {
29
+ type: Number,
30
+ default: 0,
31
+ },
29
32
  unrenderDelay: {
30
33
  type: Number,
31
34
  default: 10000,
@@ -4,7 +4,7 @@
4
4
  <ClassicLazy
5
5
  v-for="c in categories"
6
6
  :key="c.id"
7
- :min-height="650"
7
+ :min-height="0"
8
8
  :unrender="true"
9
9
  >
10
10
  <PodcastInlineList
@@ -12,13 +12,16 @@
12
12
  :title="c.name"
13
13
  :button-text="$t('All podcast button', { name: c.name })"
14
14
  />
15
+ <template #preview>
16
+ <div style="min-height: 650px"></div>
17
+ </template>
15
18
  </ClassicLazy>
16
19
  </template>
17
20
  <template v-else>
18
21
  <ClassicLazy
19
22
  v-for="r in rubriqueToShow"
20
23
  :key="r.rubriqueId"
21
- :min-height="650"
24
+ :min-height="0"
22
25
  :unrender="true"
23
26
  >
24
27
  <PodcastInlineList
@@ -26,6 +29,9 @@
26
29
  :title="r.name"
27
30
  :button-text="$t('All podcast button', { name: r.name })"
28
31
  />
32
+ <template #preview>
33
+ <div style="min-height: 650px"></div>
34
+ </template>
29
35
  </ClassicLazy>
30
36
  <template v-if="rubriqueDisplay && rubriqueDisplay.length > 0">
31
37
  <PodcastInlineList
@@ -74,6 +80,7 @@ export default defineComponent({
74
80
  PodcastInlineList,
75
81
  ClassicLazy,
76
82
  },
83
+ emits: ["categoriesLength"],
77
84
  data() {
78
85
  return {
79
86
  rubriqueId: [] as Array<number>,
@@ -81,7 +88,7 @@ export default defineComponent({
81
88
  };
82
89
  },
83
90
  computed: {
84
- ...mapState(useGeneralStore, ["storedCategories"]),
91
+ ...mapState(useGeneralStore, ["storedCategories", "storedCategoriesOrga"]),
85
92
  ...mapState(useFilterStore, [
86
93
  "filterRubriquage",
87
94
  "filterOrgaId",
@@ -121,14 +128,23 @@ export default defineComponent({
121
128
  return this.filterRubrique;
122
129
  },
123
130
  categories(): Array<Category> {
131
+ let arrayCategories: Array<Category> = [];
124
132
  if (this.filterIab) {
125
133
  return [this.filterIab];
126
134
  }
127
- return this.storedCategories.filter((c: Category) => {
128
- if (state.generalParameters.podcastmaker)
135
+ if (this.filterOrgaId) {
136
+ arrayCategories = this.storedCategoriesOrga.filter((c: Category) => {
129
137
  return c.podcastOrganisationCount;
130
- return c.podcastCount;
131
- });
138
+ });
139
+ } else {
140
+ arrayCategories = this.storedCategories.filter((c: Category) => {
141
+ if (state.generalParameters.podcastmaker)
142
+ return c.podcastOrganisationCount;
143
+ return c.podcastCount;
144
+ });
145
+ }
146
+ this.$emit("categoriesLength", arrayCategories.length);
147
+ return arrayCategories;
132
148
  },
133
149
  },
134
150
  watch: {
@@ -12,7 +12,7 @@ const state: ParamStore = {
12
12
  isPlaylist: false,
13
13
  isProduction: false,
14
14
  isContribution: false,
15
- ApiUri: "https://api.dev2.saooti.org/",
15
+ ApiUri: "https://api.staging.saooti.org/",
16
16
  podcastmaker: false,
17
17
  buttonPlus: true,
18
18
  allCategories: [],
@@ -26,8 +26,8 @@ const state: ParamStore = {
26
26
  SharePlayer: true,
27
27
  ShareButtons: true,
28
28
  ShareDistribution: true,
29
- MiniplayerUri: "https://playerbeta.dev2.saooti.org/",
30
- hlsUri: "https://hls.live.dev2.saooti.org/",
29
+ MiniplayerUri: "https://playerbeta.staging.saooti.org/",
30
+ hlsUri: "https://hls.live.staging.saooti.org/",
31
31
  mainRubrique: 0,
32
32
  resourceUrl: undefined,
33
33
  podcastItemShowEmission: false,
@@ -79,13 +79,13 @@ const state: ParamStore = {
79
79
  userName: "",
80
80
  },
81
81
  octopusApi: {
82
- url: "https://api.dev2.saooti.org/",
83
- commentsUrl: "https://comments.dev2.saooti.org/",
84
- imageUrl: "https://imageproxy.dev2.saooti.org/",
85
- studioUrl: "https://studio.dev2.saooti.org/",
86
- playerUrl: "https://playerbeta.dev2.saooti.org/",
87
- speechToTextUrl: "https://speech2text.dev2.saooti.org/",
88
- recoUrl: "https://reco.dev2.saooti.org/",
82
+ url: "https://api.staging.saooti.org/",
83
+ commentsUrl: "https://comments.staging.saooti.org/",
84
+ imageUrl: "https://imageproxy.staging.saooti.org/",
85
+ studioUrl: "https://studio.staging.saooti.org/",
86
+ playerUrl: "https://playerbeta.staging.saooti.org/",
87
+ speechToTextUrl: "https://speech2text.staging.saooti.org/",
88
+ recoUrl: "https://reco.staging.saooti.org/",
89
89
  organisationId: undefined,
90
90
  rubriqueIdFilter: undefined,
91
91
  },