@saooti/octopus-sdk 37.1.0 → 37.1.2

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.
Files changed (26) hide show
  1. package/package.json +1 -1
  2. package/src/components/display/comments/CommentSection.vue +2 -6
  3. package/src/components/display/emission/EmissionInlineList.vue +6 -2
  4. package/src/components/display/emission/EmissionList.vue +8 -3
  5. package/src/components/display/emission/EmissionPlayerItem.vue +5 -1
  6. package/src/components/display/live/LiveItem.vue +4 -1
  7. package/src/components/display/live/LiveList.vue +7 -7
  8. package/src/components/display/participant/ParticipantList.vue +7 -2
  9. package/src/components/display/playlist/PlaylistList.vue +7 -2
  10. package/src/components/display/playlist/PodcastList.vue +8 -3
  11. package/src/components/display/podcasts/PodcastItemInfo.vue +6 -1
  12. package/src/components/display/podcasts/PodcastList.vue +8 -3
  13. package/src/components/display/podcasts/PodcastModuleBox.vue +5 -4
  14. package/src/components/display/sharing/PlayerParameters.vue +7 -7
  15. package/src/components/display/sharing/ShareButtonsIntern.vue +8 -6
  16. package/src/components/display/sharing/ShareDistribution.vue +7 -3
  17. package/src/components/display/sharing/SharePlayer.vue +11 -9
  18. package/src/components/form/ClassicDatePicker.vue +8 -8
  19. package/src/components/misc/ClassicLazy.vue +2 -2
  20. package/src/components/misc/FooterSection.vue +6 -1
  21. package/src/components/misc/player/PlayerComponent.vue +6 -2
  22. package/src/components/pages/EmissionPage.vue +5 -2
  23. package/src/components/pages/HomePage.vue +25 -11
  24. package/src/components/pages/PlaylistPage.vue +4 -1
  25. package/src/components/pages/PodcastPage.vue +13 -10
  26. package/src/components/pages/RadioPage.vue +4 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "37.1.0",
3
+ "version": "37.1.2",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -36,12 +36,8 @@ import { useCommentStore } from "@/stores/CommentStore";
36
36
  import { mapState, mapActions } from "pinia";
37
37
  import { defineAsyncComponent, defineComponent } from "vue";
38
38
  import { CommentPodcast } from "@/stores/class/general/comment";
39
- const CommentList = defineAsyncComponent(
40
- () => import("./CommentList.vue"),
41
- );
42
- const CommentInput = defineAsyncComponent(
43
- () => import("./CommentInput.vue"),
44
- );
39
+ const CommentList = defineAsyncComponent(() => import("./CommentList.vue"));
40
+ const CommentInput = defineAsyncComponent(() => import("./CommentInput.vue"));
45
41
  export default defineComponent({
46
42
  name: "CommentSection",
47
43
  components: {
@@ -3,7 +3,11 @@
3
3
  <ClassicLoading
4
4
  :loading-text="loading ? $t('Loading emissions ...') : undefined"
5
5
  />
6
- <SwiperList v-if="(displayRubriquage && rubriques) || !(displayRubriquage && loaded)" :sizeItemOverload="itemSize" :list-object="allEmissions">
6
+ <SwiperList
7
+ v-if="(displayRubriquage && rubriques) || !(displayRubriquage && loaded)"
8
+ :size-item-overload="itemSize"
9
+ :list-object="allEmissions"
10
+ >
7
11
  <template #octopusSlide="{ option }">
8
12
  <EmissionPlayerItem
9
13
  class="flex-shrink-0 item-phone-margin"
@@ -43,7 +47,7 @@ export default defineComponent({
43
47
  components: {
44
48
  EmissionPlayerItem,
45
49
  ClassicLoading,
46
- SwiperList
50
+ SwiperList,
47
51
  },
48
52
 
49
53
  mixins: [handle403, imageProxy, resizePhone],
@@ -19,13 +19,18 @@
19
19
  class="emission-list"
20
20
  :class="smallItems ? 'three-emissions' : 'two-emissions'"
21
21
  >
22
- <ClassicLazy v-for="e in displayArray" :key="e.emissionId" :minHeight="250" :unrender="true">
22
+ <ClassicLazy
23
+ v-for="e in displayArray"
24
+ :key="e.emissionId"
25
+ :min-height="250"
26
+ :unrender="true"
27
+ >
23
28
  <EmissionItem v-if="0 !== e.emissionId" :emission="e" />
24
29
  <template #preview>
25
30
  <router-link
26
31
  :to="{
27
32
  name: 'emission',
28
- params: { emissionId: e.emissionId }
33
+ params: { emissionId: e.emissionId },
29
34
  }"
30
35
  >
31
36
  {{ e.name }}
@@ -78,7 +83,7 @@ export default defineComponent({
78
83
  EmissionItem,
79
84
  EmissionPlayerItem,
80
85
  ListPaginate,
81
- ClassicLazy
86
+ ClassicLazy,
82
87
  },
83
88
 
84
89
  mixins: [handle403],
@@ -59,7 +59,11 @@
59
59
  {{ p.title }}
60
60
  </div>
61
61
  </router-link>
62
- <PodcastPlayBar v-else :podcast-id="p.podcastId" :duration="p.duration" />
62
+ <PodcastPlayBar
63
+ v-else
64
+ :podcast-id="p.podcastId"
65
+ :duration="p.duration"
66
+ />
63
67
  </div>
64
68
  <button
65
69
  v-if="
@@ -13,7 +13,10 @@ import crudApi from "@/api/classicCrud";
13
13
  import displayMethods from "../../mixins/displayMethods";
14
14
  import { Podcast } from "@/stores/class/general/podcast";
15
15
  import { defineComponent } from "vue";
16
- import { Conference, ConferencePublicInfo } from "@/stores/class/conference/conference";
16
+ import {
17
+ Conference,
18
+ ConferencePublicInfo,
19
+ } from "@/stores/class/conference/conference";
17
20
  export default defineComponent({
18
21
  name: "LiveItem",
19
22
 
@@ -1,8 +1,5 @@
1
1
  <template>
2
- <div
3
- v-if="displayLiveList"
4
- class="d-flex flex-column align-items-start mt-3"
5
- >
2
+ <div v-if="displayLiveList" class="d-flex flex-column align-items-start mt-3">
6
3
  <div
7
4
  class="d-flex justify-content-between flex-grow-1 mb-3 w-100 align-items-center"
8
5
  >
@@ -90,9 +87,12 @@ export default defineComponent({
90
87
  computed: {
91
88
  ...mapState(useFilterStore, ["filterOrgaId"]),
92
89
  ...mapState(useAuthStore, ["authOrganisation"]),
93
- displayLiveList(): boolean{
94
- return (undefined!==this.filterOrgaId || undefined!==this.organisationId) &&
95
- (!this.hideIfEmpty || (this.hideIfEmpty && 0!==this.lives.length) ) ;
90
+ displayLiveList(): boolean {
91
+ return (
92
+ (undefined !== this.filterOrgaId ||
93
+ undefined !== this.organisationId) &&
94
+ (!this.hideIfEmpty || (this.hideIfEmpty && 0 !== this.lives.length))
95
+ );
96
96
  },
97
97
  filterOrgaUsed(): string | undefined {
98
98
  return this.filterOrgaId ? this.filterOrgaId : this.organisationId;
@@ -17,7 +17,12 @@
17
17
  >
18
18
  <template #list>
19
19
  <div class="podcast-list">
20
- <ClassicLazy v-for="p in displayArray" :key="p.participantId" :minHeight="360" :unrender="true">
20
+ <ClassicLazy
21
+ v-for="p in displayArray"
22
+ :key="p.participantId"
23
+ :min-height="360"
24
+ :unrender="true"
25
+ >
21
26
  <ParticipantItem v-if="0 !== p.participantId" :participant="p" />
22
27
  <template #preview>
23
28
  <router-link
@@ -55,7 +60,7 @@ export default defineComponent({
55
60
  components: {
56
61
  ParticipantItem,
57
62
  ListPaginate,
58
- ClassicLazy
63
+ ClassicLazy,
59
64
  },
60
65
 
61
66
  mixins: [handle403],
@@ -15,7 +15,12 @@
15
15
  >
16
16
  <template #list>
17
17
  <div class="emission-list two-emissions">
18
- <ClassicLazy v-for="p in displayArray" :key="p.playlistId" :minHeight="250" :unrender="true">
18
+ <ClassicLazy
19
+ v-for="p in displayArray"
20
+ :key="p.playlistId"
21
+ :min-height="250"
22
+ :unrender="true"
23
+ >
19
24
  <PlaylistItem v-if="0 !== p.playlistId" :playlist="p" />
20
25
  <template #preview>
21
26
  <router-link
@@ -50,7 +55,7 @@ export default defineComponent({
50
55
  components: {
51
56
  PlaylistItem,
52
57
  ListPaginate,
53
- ClassicLazy
58
+ ClassicLazy,
54
59
  },
55
60
 
56
61
  mixins: [handle403],
@@ -31,13 +31,18 @@
31
31
  >
32
32
  <template #list>
33
33
  <div class="podcast-list">
34
- <ClassicLazy v-for="p in podcastsDisplay" :key="p.podcastId" :minHeight="410" :unrender="true">
34
+ <ClassicLazy
35
+ v-for="p in podcastsDisplay"
36
+ :key="p.podcastId"
37
+ :min-height="410"
38
+ :unrender="true"
39
+ >
35
40
  <PodcastItem v-if="0 !== p.podcastId" :podcast="p" />
36
41
  <template #preview>
37
42
  <router-link
38
43
  :to="{
39
44
  name: 'podcast',
40
- params: { podcastId: p.podcastId }
45
+ params: { podcastId: p.podcastId },
41
46
  }"
42
47
  >
43
48
  {{ p.title }}
@@ -70,7 +75,7 @@ export default defineComponent({
70
75
  PodcastItem,
71
76
  ClassicSearch,
72
77
  ListPaginate,
73
- ClassicLazy
78
+ ClassicLazy,
74
79
  },
75
80
 
76
81
  mixins: [handle403, orgaComputed],
@@ -13,7 +13,12 @@
13
13
  >
14
14
  {{ title }}
15
15
  </router-link>
16
- <PodcastPlayBar v-if="isProgressBar" :podcast-id="podcastId" :duration="duration" class="mx-2" />
16
+ <PodcastPlayBar
17
+ v-if="isProgressBar"
18
+ :podcast-id="podcastId"
19
+ :duration="duration"
20
+ class="mx-2"
21
+ />
17
22
 
18
23
  <div class="mx-2 d-flex align-items-center justify-content-between mt-2">
19
24
  <div v-if="isPodcastmaker" class="useless-div-for-podcastmaker" />
@@ -21,13 +21,18 @@
21
21
  >
22
22
  <template #list>
23
23
  <div class="podcast-list">
24
- <ClassicLazy v-for="p in displayArray" :key="p.podcastId" :minHeight="410" :unrender="true">
24
+ <ClassicLazy
25
+ v-for="p in displayArray"
26
+ :key="p.podcastId"
27
+ :min-height="410"
28
+ :unrender="true"
29
+ >
25
30
  <PodcastItem v-if="0 !== p.podcastId" :podcast="p" />
26
31
  <template #preview>
27
32
  <router-link
28
33
  :to="{
29
34
  name: 'podcast',
30
- params: { podcastId: p.podcastId }
35
+ params: { podcastId: p.podcastId },
31
36
  }"
32
37
  >
33
38
  {{ p.title }}
@@ -59,7 +64,7 @@ export default defineComponent({
59
64
  components: {
60
65
  PodcastItem,
61
66
  ListPaginate,
62
- ClassicLazy
67
+ ClassicLazy,
63
68
  },
64
69
 
65
70
  mixins: [handle403],
@@ -125,7 +125,10 @@
125
125
  :display-studio-access="isDebriefing"
126
126
  @validate-podcast="$emit('updatePodcast', $event)"
127
127
  />
128
- <TagList v-if="undefined !== podcast.tags && 0 !== podcast.tags.length" :tag-list="podcast.tags" />
128
+ <TagList
129
+ v-if="undefined !== podcast.tags && 0 !== podcast.tags.length"
130
+ :tag-list="podcast.tags"
131
+ />
129
132
  </div>
130
133
  </template>
131
134
 
@@ -154,9 +157,7 @@ const EditBox = defineAsyncComponent(
154
157
  const PodcastPlayBar = defineAsyncComponent(
155
158
  () => import("./PodcastPlayBar.vue"),
156
159
  );
157
- const TagList = defineAsyncComponent(
158
- () => import("./TagList.vue"),
159
- );
160
+ const TagList = defineAsyncComponent(() => import("./TagList.vue"));
160
161
  export default defineComponent({
161
162
  name: "PodcastModuleBox",
162
163
  components: {
@@ -42,43 +42,43 @@
42
42
  </div>
43
43
  <ClassicCheckbox
44
44
  :text-init="proceedReading"
45
- @update:text-init="$emit('update:proceedReading', $event)"
46
45
  id-checkbox="proceed-reading-checkbox"
47
46
  :label="$t('Proceed reading')"
47
+ @update:text-init="$emit('update:proceedReading', $event)"
48
48
  />
49
49
  <ClassicCheckbox
50
50
  :text-init="isVisible"
51
- @update:text-init="$emit('update:isVisible', $event)"
52
51
  id-checkbox="is-visible-checkbox"
53
52
  :label="$t('Podcasts still available')"
53
+ @update:text-init="$emit('update:isVisible', $event)"
54
54
  />
55
55
  </template>
56
56
  <ClassicCheckbox
57
57
  v-if="displayArticleParam"
58
58
  :text-init="displayArticle"
59
- @update:text-init="$emit('update:displayArticle', $event)"
60
59
  id-checkbox="display-article-checkbox"
61
60
  :label="$t('Display associated article')"
61
+ @update:text-init="$emit('update:displayArticle', $event)"
62
62
  />
63
63
  <ClassicCheckbox
64
64
  v-if="displayTranscriptParam"
65
65
  :text-init="displayTranscript"
66
- @update:text-init="$emit('update:displayTranscript', $event)"
67
66
  id-checkbox="display-transcript-checkbox"
68
67
  :label="$t('If the transcript is available, show it')"
68
+ @update:text-init="$emit('update:displayTranscript', $event)"
69
69
  />
70
70
  <ClassicCheckbox
71
71
  v-if="displayWaveParam"
72
72
  :text-init="displayWave"
73
- @update:text-init="$emit('update:displayWave', $event)"
74
73
  id-checkbox="display-wave-checkbox"
75
74
  :label="$t('Show animated wave')"
75
+ @update:text-init="$emit('update:displayWave', $event)"
76
76
  />
77
77
  <ClassicCheckbox
78
78
  :text-init="playerAutoPlay"
79
- @update:text-init="$emit('update:playerAutoPlay', $event)"
80
79
  id-checkbox="player-autoplay-checkbox"
81
80
  :label="$t('Trigger automatic reading if this is possible')"
81
+ @update:text-init="$emit('update:playerAutoPlay', $event)"
82
82
  />
83
83
  </template>
84
84
 
@@ -110,7 +110,7 @@ export default defineComponent({
110
110
  "update:displayArticle",
111
111
  "update:displayTranscript",
112
112
  "update:displayWave",
113
- "update:playerAutoPlay"
113
+ "update:playerAutoPlay",
114
114
  ],
115
115
 
116
116
  data() {
@@ -100,7 +100,11 @@
100
100
  :url-page="urlPage"
101
101
  @close="qrCode = false"
102
102
  />
103
- <SnackBar v-if="lazyLoadingSnackbar" ref="snackbar" position="bottom-left" />
103
+ <SnackBar
104
+ v-if="lazyLoadingSnackbar"
105
+ ref="snackbar"
106
+ position="bottom-left"
107
+ />
104
108
  </div>
105
109
  </template>
106
110
 
@@ -123,9 +127,7 @@ const NewsletterModal = defineAsyncComponent(
123
127
  const QrCodeModal = defineAsyncComponent(
124
128
  () => import("../../misc/modal/QrCodeModal.vue"),
125
129
  );
126
- const SnackBar = defineAsyncComponent(
127
- () => import("../../misc/SnackBar.vue"),
128
- );
130
+ const SnackBar = defineAsyncComponent(() => import("../../misc/SnackBar.vue"));
129
131
  export default defineComponent({
130
132
  components: {
131
133
  ClipboardModal,
@@ -240,12 +242,12 @@ export default defineComponent({
240
242
  this.dataRSSSave = !this.dataRSSSave;
241
243
  },
242
244
  afterCopy(): void {
243
- if(!this.lazyLoadingSnackbar){
245
+ if (!this.lazyLoadingSnackbar) {
244
246
  this.lazyLoadingSnackbar = true;
245
247
  setTimeout(() => {
246
248
  this.afterCopy();
247
249
  }, 500);
248
- }else{
250
+ } else {
249
251
  (this.$refs.snackbar as InstanceType<typeof SnackBar>).open(
250
252
  this.$t("Link in clipboard"),
251
253
  );
@@ -27,7 +27,11 @@
27
27
  <span :class="platform.icon" />{{ platform.title }}
28
28
  </router-link>
29
29
  </div>
30
- <SnackBar v-if="lazyLoadingSnackbar" ref="snackbar" position="bottom-left" />
30
+ <SnackBar
31
+ v-if="lazyLoadingSnackbar"
32
+ ref="snackbar"
33
+ position="bottom-left"
34
+ />
31
35
  </div>
32
36
  </template>
33
37
 
@@ -129,12 +133,12 @@ export default defineComponent({
129
133
  this.rss = `${state.octopusApi.url}rss/emission/${this.emissionId}.rss`;
130
134
  },
131
135
  afterCopy(): void {
132
- if(!this.lazyLoadingSnackbar){
136
+ if (!this.lazyLoadingSnackbar) {
133
137
  this.lazyLoadingSnackbar = true;
134
138
  setTimeout(() => {
135
139
  this.afterCopy();
136
140
  }, 500);
137
- }else{
141
+ } else {
138
142
  (this.$refs.snackbar as InstanceType<typeof SnackBar>).open(
139
143
  this.$t("Link in clipboard"),
140
144
  );
@@ -46,18 +46,20 @@
46
46
  :label="titleStillAvailable"
47
47
  />
48
48
  <PlayerParameters
49
- :is-visible="isVisible"
50
- :chose-number-episode="displayChoiceAllEpisodes || isLargeSuggestion"
51
- :display-choice-all-episodes="displayChoiceAllEpisodes"
52
- :display-transcript-param="displayTranscriptParam"
53
- :display-article-param="displayArticleParam"
54
- :display-wave-param="displayWaveParam"
55
49
  v-model:display-article="displayArticle"
56
50
  v-model:display-transcript="displayTranscript"
57
51
  v-model:display-wave="displayWave"
58
52
  v-model:proceed-reading="proceedReading"
59
53
  v-model:is-visible="isVisible"
54
+ :is-visible="isVisible"
60
55
  v-model:player-auto-play="playerAutoPlay"
56
+ :chose-number-episode="
57
+ displayChoiceAllEpisodes || isLargeSuggestion
58
+ "
59
+ :display-choice-all-episodes="displayChoiceAllEpisodes"
60
+ :display-transcript-param="displayTranscriptParam"
61
+ :display-article-param="displayArticleParam"
62
+ :display-wave-param="displayWaveParam"
61
63
  @i-frame-number="iFrameNumber = $event"
62
64
  @episode-numbers="episodeNumbers = $event"
63
65
  />
@@ -153,7 +155,7 @@ export default defineComponent({
153
155
  computed: {
154
156
  ...mapState(useAuthStore, ["authOrganisation"]),
155
157
  displayWaveParam(): boolean {
156
- return 'default'===this.iFrameModel || 'emission'===this.iFrameModel;
158
+ return "default" === this.iFrameModel || "emission" === this.iFrameModel;
157
159
  },
158
160
  displayArticleParam(): boolean {
159
161
  return (
@@ -360,8 +362,8 @@ export default defineComponent({
360
362
  if (!this.displayWave) {
361
363
  url.push("&wave=false");
362
364
  }
363
- if(this.playerAutoPlay){
364
- url.push('&autoplay=true');
365
+ if (this.playerAutoPlay) {
366
+ url.push("&autoplay=true");
365
367
  }
366
368
  if (this.isVisible) {
367
369
  url.push("&key=" + window.btoa(this.dataTitle.toString()));
@@ -22,8 +22,8 @@
22
22
  :month-picker="monthPicker"
23
23
  @update:model-value="$emit('updateDate', $event)"
24
24
  >
25
- <template v-if="time" #input-icon>
26
- <div class="ms-2 saooti-clock"/>
25
+ <template v-if="time" #input-icon>
26
+ <div class="ms-2 saooti-clock" />
27
27
  </template>
28
28
  </VueDatePicker>
29
29
  </template>
@@ -61,7 +61,7 @@ export default defineComponent({
61
61
  seconds?: number | string;
62
62
  },
63
63
  },
64
- monthPicker:{ default: false, type: Boolean },
64
+ monthPicker: { default: false, type: Boolean },
65
65
  },
66
66
 
67
67
  emits: ["updateDate", "update:date"],
@@ -78,16 +78,16 @@ export default defineComponent({
78
78
  };
79
79
  },
80
80
  modelVal() {
81
- if(this.time){
81
+ if (this.time) {
82
82
  return this.time;
83
83
  }
84
- if(this.range){
84
+ if (this.range) {
85
85
  return this.range;
86
86
  }
87
- if(this.date && this.monthPicker){
87
+ if (this.date && this.monthPicker) {
88
88
  return {
89
89
  month: this.date.getMonth(),
90
- year: this.date.getFullYear()
90
+ year: this.date.getFullYear(),
91
91
  };
92
92
  }
93
93
  return this.date;
@@ -97,7 +97,7 @@ export default defineComponent({
97
97
  },
98
98
  format() {
99
99
  let timeString = "";
100
- if(this.monthPicker){
100
+ if (this.monthPicker) {
101
101
  return "MM/yyyy";
102
102
  }
103
103
  if (this.displayTimePicker || this.isTimePicker) {
@@ -47,7 +47,7 @@ export default {
47
47
  // if we're dealing underndering lets add a waiting period of 200ms before rendering. If a component enters the viewport and also leaves it within 200ms it will not render at all. This saves work and improves performance when user scrolls very fast
48
48
  renderTimer = setTimeout(
49
49
  () => (shouldRender.value = true),
50
- props.unrender ? 200 : 0
50
+ props.unrender ? 200 : 0,
51
51
  );
52
52
  shouldRender.value = true;
53
53
  if (!props.unrender) {
@@ -64,7 +64,7 @@ export default {
64
64
  },
65
65
  {
66
66
  rootMargin: "600px",
67
- }
67
+ },
68
68
  );
69
69
 
70
70
  if (props.renderOnIdle) {
@@ -153,7 +153,12 @@ export default defineComponent({
153
153
  },
154
154
  changeLanguage(): void {
155
155
  this.setCookie("octopus-language", this.language);
156
- loadLocaleMessages(this.$i18n, this.language, this.authenticated, this.platformEducation);
156
+ loadLocaleMessages(
157
+ this.$i18n,
158
+ this.language,
159
+ this.authenticated,
160
+ this.platformEducation,
161
+ );
157
162
  octopusApi
158
163
  .fetchDataWithParams<Array<Category>>(
159
164
  0,
@@ -55,8 +55,12 @@ import { usePlayerStore } from "@/stores/PlayerStore";
55
55
  import { mapState, mapActions } from "pinia";
56
56
  import { defineComponent, defineAsyncComponent } from "vue";
57
57
  const PlayerVideo = defineAsyncComponent(() => import("./PlayerVideo.vue"));
58
- const PlayerCompact = defineAsyncComponent(() => import("../player/PlayerCompact.vue"));
59
- const PlayerLarge = defineAsyncComponent(() => import("../player/PlayerLarge.vue"));
58
+ const PlayerCompact = defineAsyncComponent(
59
+ () => import("../player/PlayerCompact.vue"),
60
+ );
61
+ const PlayerLarge = defineAsyncComponent(
62
+ () => import("../player/PlayerLarge.vue"),
63
+ );
60
64
  export default defineComponent({
61
65
  name: "PlayerComponent",
62
66
 
@@ -116,7 +116,7 @@ export default defineComponent({
116
116
  EditBox,
117
117
  SubscribeButtons,
118
118
  LiveHorizontalList,
119
- ClassicLoading
119
+ ClassicLoading,
120
120
  },
121
121
  mixins: [displayMethods, handle403, orgaComputed, imageProxy],
122
122
  props: {
@@ -193,7 +193,10 @@ export default defineComponent({
193
193
  if (!this.emission) {
194
194
  return "";
195
195
  }
196
- return `background-image: url('${this.proxyImageUrl(this.emission.imageUrl, '250')}');`;
196
+ return `background-image: url('${this.proxyImageUrl(
197
+ this.emission.imageUrl,
198
+ "250",
199
+ )}');`;
197
200
  },
198
201
  },
199
202
  watch: {
@@ -1,10 +1,10 @@
1
1
  <template>
2
2
  <div class="page-box">
3
3
  <template v-if="0 === rubriquageFilter.length">
4
- <ClassicLazy
4
+ <ClassicLazy
5
5
  v-for="c in categories"
6
6
  :key="c.id"
7
- :minHeight="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
- <ClassicLazy
21
+ <ClassicLazy
19
22
  v-for="r in rubriqueToShow"
20
23
  :key="r.rubriqueId"
21
- :minHeight="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
@@ -72,7 +78,7 @@ export default defineComponent({
72
78
  name: "HomePage",
73
79
  components: {
74
80
  PodcastInlineList,
75
- ClassicLazy
81
+ ClassicLazy,
76
82
  },
77
83
  data() {
78
84
  return {
@@ -81,7 +87,7 @@ export default defineComponent({
81
87
  };
82
88
  },
83
89
  computed: {
84
- ...mapState(useGeneralStore, ["storedCategories"]),
90
+ ...mapState(useGeneralStore, ["storedCategories", "storedCategoriesOrga"]),
85
91
  ...mapState(useFilterStore, [
86
92
  "filterRubriquage",
87
93
  "filterOrgaId",
@@ -121,15 +127,23 @@ export default defineComponent({
121
127
  return this.filterRubrique;
122
128
  },
123
129
  categories(): Array<Category> {
130
+ let arrayCategories: Array<Category> = [];
124
131
  if (this.filterIab) {
125
132
  return [this.filterIab];
126
133
  }
127
- return this.storedCategories.filter((c: Category) => {
128
- if (state.generalParameters.podcastmaker)
134
+ if (this.filterOrgaId) {
135
+ arrayCategories = this.storedCategoriesOrga.filter((c: Category) => {
129
136
  return c.podcastOrganisationCount;
130
- return c.podcastCount;
131
- });
132
- },
137
+ });
138
+ } else {
139
+ arrayCategories = this.storedCategories.filter((c: Category) => {
140
+ if (state.generalParameters.podcastmaker) return c.podcastOrganisationCount;
141
+ return c.podcastCount;
142
+ });
143
+ }
144
+ this.$emit("categoriesLength", arrayCategories.length);
145
+ return arrayCategories;
146
+ }
133
147
  },
134
148
  watch: {
135
149
  rubriqueFilter: {
@@ -128,7 +128,10 @@ export default defineComponent({
128
128
  if (!this.playlist) {
129
129
  return "";
130
130
  }
131
- return `background-image: url('${this.proxyImageUrl(this.playlist.imageUrl, '250')}');`;
131
+ return `background-image: url('${this.proxyImageUrl(
132
+ this.playlist.imageUrl,
133
+ "250",
134
+ )}');`;
132
135
  },
133
136
  },
134
137
  watch: {
@@ -46,10 +46,7 @@
46
46
  :title="$t('More episodes of this emission')"
47
47
  :button-text="$t('All podcast emission button')"
48
48
  />
49
- <ClassicLazy
50
- :min-height="550"
51
- :unrender="true"
52
- >
49
+ <ClassicLazy :min-height="550" :unrender="true">
53
50
  <PodcastInlineList
54
51
  :podcast-id="podcastId"
55
52
  :title="$t('Suggested listening')"
@@ -93,7 +90,10 @@ import crudApi from "@/api/classicCrud";
93
90
  import { state } from "../../stores/ParamSdkStore";
94
91
  import dayjs from "dayjs";
95
92
  import { Podcast } from "@/stores/class/general/podcast";
96
- import { Conference, ConferencePublicInfo } from "@/stores/class/conference/conference";
93
+ import {
94
+ Conference,
95
+ ConferencePublicInfo,
96
+ } from "@/stores/class/conference/conference";
97
97
  import { handle403 } from "../mixins/handle403";
98
98
  import { defineComponent, defineAsyncComponent } from "vue";
99
99
  import { CommentPodcast } from "@/stores/class/general/comment";
@@ -154,7 +154,7 @@ export default defineComponent({
154
154
 
155
155
  computed: {
156
156
  ...mapState(useGeneralStore, ["storedCategories"]),
157
- isComments(): boolean {
157
+ isComments(): boolean {
158
158
  if (!this.podcast) return true;
159
159
  let podcastComment = "INHERIT";
160
160
  if (this.podcast.annotations && this.podcast.annotations.COMMENTS) {
@@ -179,7 +179,10 @@ export default defineComponent({
179
179
  if (!this.podcast) {
180
180
  return "";
181
181
  }
182
- return `background-image: url('${this.proxyImageUrl(this.podcast.imageUrl, '270')}');`;
182
+ return `background-image: url('${this.proxyImageUrl(
183
+ this.podcast.imageUrl,
184
+ "270",
185
+ )}');`;
183
186
  },
184
187
  isPodcastmaker(): boolean {
185
188
  return state.generalParameters.podcastmaker as boolean;
@@ -306,9 +309,9 @@ export default defineComponent({
306
309
  this.fetchConference = {
307
310
  ...data,
308
311
  ...{
309
- conferenceId: this.podcast?.conferenceId??0,
310
- title: ""
311
- }
312
+ conferenceId: this.podcast?.conferenceId ?? 0,
313
+ title: "",
314
+ },
312
315
  };
313
316
  },
314
317
  async initConference() {
@@ -99,7 +99,10 @@ export default defineComponent({
99
99
  backgroundDisplay(): string {
100
100
  return !this.radio
101
101
  ? ""
102
- : `background-image: url('${this.proxyImageUrl(this.radio.imageUrl, '270')}');`;
102
+ : `background-image: url('${this.proxyImageUrl(
103
+ this.radio.imageUrl,
104
+ "270",
105
+ )}');`;
103
106
  },
104
107
  },
105
108
  watch: {