@saooti/octopus-sdk 33.2.8 → 33.2.9

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": "33.2.8",
3
+ "version": "33.2.9",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -18,17 +18,13 @@
18
18
  :alt="$t('Emission name image', {name:emission.name})"
19
19
  >
20
20
  <div class="emission-item-text">
21
- <div class="d-flex align-items-center">
21
+ <div class="d-flex align-items-center emission-name">
22
22
  <span
23
23
  v-if="!activeEmission && !isPodcastmaker && editRight"
24
24
  :title="$t('Emission have not podcasts')"
25
25
  class="saooti-warning text-danger me-1"
26
26
  />
27
- <div
28
- class="emission-name"
29
- >
30
- {{ emission.name }}
31
- </div>
27
+ {{ emission.name }}
32
28
  </div>
33
29
  <div
34
30
  ref="descriptionEmissionContainer"
@@ -41,18 +37,16 @@
41
37
  />
42
38
  <!-- eslint-enable -->
43
39
  </div>
44
- <div class="flex-grow-1" />
45
40
  <router-link
46
41
  v-if="!isPodcastmaker"
42
+ class="emission-producer mt-auto"
47
43
  :to="{
48
44
  name: 'productor',
49
45
  params: { productorId: emission.orga.id },
50
46
  query: { productor: filterOrga },
51
47
  }"
52
48
  >
53
- <div class="emission-producer">
54
- © {{ emission.orga.name }}
55
- </div>
49
+ © {{ emission.orga.name }}
56
50
  </router-link>
57
51
  </div>
58
52
  </router-link>
@@ -18,15 +18,13 @@
18
18
  :alt="$t('Animator image')"
19
19
  class="img-box-circle"
20
20
  >
21
- <div class="d-flex align-items-center">
21
+ <div class="d-flex align-items-center participant-name">
22
22
  <span
23
23
  v-if="!activeParticipant && !isPodcastmaker && editRight"
24
24
  :title="$t('Participant have not podcasts')"
25
25
  class="saooti-warning text-danger me-1"
26
26
  />
27
- <div class="participant-name">
28
- {{ name }}
29
- </div>
27
+ {{ name }}
30
28
  </div>
31
29
  <div
32
30
  ref="descriptionParticipantContainer"
@@ -19,15 +19,13 @@
19
19
  class="img-box"
20
20
  >
21
21
  <div class="emission-item-text">
22
- <div class="d-flex align-items-center">
22
+ <div class="d-flex align-items-center emission-name">
23
23
  <span
24
24
  v-if="!activePlaylist && !isPodcastmaker"
25
25
  :title="$t('Playlist have not podcasts')"
26
26
  class="saooti-warning text-danger me-1"
27
27
  />
28
- <div class="emission-name">
29
- {{ name }}
30
- </div>
28
+ {{ name }}
31
29
  </div>
32
30
  <div
33
31
  ref="descriptionPlaylistContainer"
@@ -40,7 +38,6 @@
40
38
  />
41
39
  <!-- eslint-enable -->
42
40
  </div>
43
- <div class="flex-grow-1" />
44
41
  <router-link
45
42
  v-if="!isPodcastmaker && playlist.organisation"
46
43
  :to="{
@@ -48,11 +45,9 @@
48
45
  params: { productorId: playlist.organisation.id },
49
46
  query: { productor: $store.state.filter.organisationId },
50
47
  }"
51
- class="text-dark"
48
+ class="emission-producer text-primary mt-auto"
52
49
  >
53
- <div class="emission-producer text-primary">
54
- © {{ playlist.organisation.name }}
55
- </div>
50
+ © {{ playlist.organisation.name }}
56
51
  </router-link>
57
52
  </div>
58
53
  </router-link>
@@ -10,10 +10,9 @@
10
10
  query: { productor: $store.state.filter.organisationId },
11
11
  }"
12
12
  :title="$t('Participant')"
13
+ class="podcast-item-animator text-dark"
13
14
  >
14
- <div class="podcast-item-animator text-dark">
15
- {{ animatorName }}
16
- </div>
15
+ {{ animatorName }}
17
16
  </router-link>
18
17
  </div>
19
18
  </template>
@@ -38,10 +37,6 @@ export default defineComponent({
38
37
  <style lang="scss">
39
38
  .octopus-app{
40
39
  .podcast-item-animator {
41
- display: flex;
42
- align-items: flex-start;
43
- justify-content: center;
44
-
45
40
  font-size: 0.55rem;
46
41
  font-weight: 300;
47
42
  text-transform: capitalize;
@@ -36,37 +36,21 @@
36
36
  @click="play"
37
37
  >
38
38
  <div
39
- v-if="!isLiveToBeRecorded"
39
+ :title="!playingPodcast? $t('Play') : textVisible"
40
40
  class="icon-container"
41
+ :class="{
42
+ 'saooti-play text-primary': !playingPodcast,
43
+ 'special-icon-play-button': !classicPodcastPlay,
44
+ iconName:!classicPodcastPlay || isLiveToBeRecorded,
45
+ 'bloc-paddle':playingPodcast,
46
+ 'error-icon':isLiveToBeRecorded
47
+ }"
41
48
  >
42
- <div
43
- v-show="!playingPodcast"
44
- :title="$t('Play')"
45
- class="saooti-play text-primary"
46
- />
47
- <div
48
- v-if="!classicPodcastPlay"
49
- class="special-icon-play-button"
50
- :class="iconName"
51
- />
52
- <div
53
- v-show="playingPodcast"
54
- class="bloc-paddle"
55
- >
49
+ <template v-if="playingPodcast">
56
50
  <span class="paddle1" />
57
51
  <span class="paddle2" />
58
52
  <span class="paddle3" />
59
- </div>
60
- </div>
61
- <div
62
- v-else
63
- class="icon-container error-icon"
64
- >
65
- <div
66
- :title="textVisible"
67
- class="big-icon-error"
68
- :class="iconName"
69
- />
53
+ </template>
70
54
  </div>
71
55
  <div
72
56
  v-if="!classicPodcastPlay"
@@ -343,13 +327,14 @@ export default defineComponent({
343
327
  }
344
328
 
345
329
  .icon-container {
346
- background: #00000050;
330
+ background: #00000050 !important;
347
331
  border-radius: 50%;
348
332
  height: 3rem;
349
333
  width: 3rem;
350
334
  display: flex;
351
335
  align-items: center;
352
336
  justify-content: center;
337
+ z-index: 2;
353
338
  &.error-icon {
354
339
  background: #00000050 !important;
355
340
  cursor: default !important;
@@ -357,16 +342,11 @@ export default defineComponent({
357
342
  &:hover {
358
343
  background: #00000030;
359
344
  }
360
- > .saooti-play {
345
+ &.saooti-play {
361
346
  font-size: 2em;
362
347
  position: relative;
363
348
  right: -0.2rem;
364
349
  }
365
- .big-icon-error {
366
- font-size: 2em;
367
- position: relative;
368
- }
369
- z-index: 2;
370
350
  }
371
351
  }
372
352
  }
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <div
3
+ id="podcast-item-container"
3
4
  class="podcast-item-container"
4
5
  :class="[
5
6
  podcastShadow ? 'shadow-element' : '',
@@ -10,18 +11,18 @@
10
11
  >
11
12
  <PodcastImage
12
13
  :podcast="podcast"
13
- :hide-play="!podcastItemDescription || (podcastItemDescription && (!hover || !description))"
14
+ :hide-play="!podcastItemDescription || (podcastItemDescription && (!hoverDesc || !description))"
14
15
  :display-description="0!==description.length && podcastItemDescription"
15
16
  :arrow-direction="arrowDirection"
16
17
  @hideDescription="hideDescription"
17
18
  @showDescription="showDescription"
18
19
  />
19
20
  <div
20
- v-if="podcastItemDescription"
21
+ v-if="podcastItemDescription && hoverDesc"
21
22
  ref="descriptionPodcastContainer"
22
23
  class="description-podcast-item html-wysiwyg-content"
23
24
  :class="[
24
- hover && ''!==description ? 'visible' : 'invisible',
25
+ hoverDesc && ''!==description ? 'visible' : 'invisible',
25
26
  isDescriptionBig ? 'after-podcast-description' : '',
26
27
  ]"
27
28
  >
@@ -67,7 +68,8 @@ export default defineComponent({
67
68
 
68
69
  data() {
69
70
  return {
70
- hover: false as boolean,
71
+ firstDisplayDesc : false as boolean,
72
+ hoverDesc: false as boolean,
71
73
  arrowDirection: 'up' as string,
72
74
  isDescriptionBig: false as boolean,
73
75
  };
@@ -91,24 +93,28 @@ export default defineComponent({
91
93
  },
92
94
  },
93
95
 
94
- mounted() {
95
- if(!this.podcastItemDescription){return}
96
- const podcastDesc = (this.$refs.descriptionPodcast as HTMLElement);
97
- const podcastDescContainer = (this.$refs.descriptionPodcastContainer as HTMLElement);
98
- if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {
99
- this.isDescriptionBig = true;
100
- }
101
- },
102
96
  methods: {
97
+ initDescription():void{
98
+ if(this.firstDisplayDesc){return;}
99
+ const podcastDesc = (this.$refs.descriptionPodcast as HTMLElement);
100
+ const podcastDescContainer = (this.$refs.descriptionPodcastContainer as HTMLElement);
101
+ if (podcastDesc?.clientHeight > podcastDescContainer?.clientHeight) {
102
+ this.isDescriptionBig = true;
103
+ }
104
+ this.firstDisplayDesc=true;
105
+ },
103
106
  showDescription(): void {
104
107
  if(!this.podcastItemDescription){return}
105
108
  this.arrowDirection = 'down';
106
- this.hover = true;
109
+ this.hoverDesc = true;
110
+ this.$nextTick(() => {
111
+ this.initDescription();
112
+ });
107
113
  },
108
114
  hideDescription(): void {
109
115
  if(!this.podcastItemDescription){return}
110
116
  this.arrowDirection = 'up';
111
- this.hover = false;
117
+ this.hoverDesc = false;
112
118
  },
113
119
  },
114
120
  })
@@ -1,51 +1,47 @@
1
1
  <template>
2
- <div class="d-contents podcast-item-info">
3
- <div class="d-flex justify-content-between flex-wrap text-secondary mb-3">
4
- <div class="me-3 h6">
5
- {{ date }}
6
- </div>
7
- <div
8
- v-if="0 !== durationString.length"
9
- class="h6"
10
- >
11
- {{ durationString }}
12
- </div>
2
+ <div class="d-flex justify-content-between flex-wrap text-secondary m-2 mb-3">
3
+ <div class="me-3 h6">
4
+ {{ date }}
13
5
  </div>
14
- <AnimatorsItem
15
- v-if="animators && 0!==animators.length"
16
- :animator="animators[0]"
17
- />
6
+ <div
7
+ v-if="0 !== durationString.length"
8
+ class="h6"
9
+ >
10
+ {{ durationString }}
11
+ </div>
12
+ </div>
13
+ <AnimatorsItem
14
+ v-if="animators && 0!==animators.length"
15
+ :animator="animators[0]"
16
+ />
17
+ <router-link
18
+ :to="{
19
+ name: 'podcast',
20
+ params: { podcastId: podcastId },
21
+ query: { productor: filterOrga },
22
+ }"
23
+ class="text-dark flex-grow-1 title-podcast-item"
24
+ >
25
+ {{ title }}
26
+ </router-link>
27
+ <PodcastPlayBar
28
+ :podcast-id="podcastId"
29
+ :duration="duration"
30
+ class="mx-2"
31
+ />
32
+ <div class="d-flex justify-content-between">
33
+ <div v-if="isPodcastmaker" class="useless-div-for-podcastmaker" />
18
34
  <router-link
35
+ v-if="!isPodcastmaker"
19
36
  :to="{
20
- name: 'podcast',
21
- params: { podcastId: podcastId },
37
+ name: 'productor',
38
+ params: { productorId: podcastOrganisationId },
22
39
  query: { productor: filterOrga },
23
40
  }"
24
- class="text-dark d-flex flex-column flex-grow-1"
41
+ class="text-dark producer-podcast-item"
25
42
  >
26
- <div class="title-podcast-item">
27
- {{ title }}
28
- </div>
43
+ {{ '© ' + podcastOrganisationName }}
29
44
  </router-link>
30
- <PodcastPlayBar
31
- :podcast-id="podcastId"
32
- :duration="duration"
33
- class="mx-2"
34
- />
35
- <div class="d-flex justify-content-between">
36
- <div class="useless-div-for-podcastmaker" />
37
- <router-link
38
- v-if="!isPodcastmaker"
39
- :to="{
40
- name: 'productor',
41
- params: { productorId: podcastOrganisationId },
42
- query: { productor: filterOrga },
43
- }"
44
- class="text-dark producer-podcast-item"
45
- >
46
- <div>{{ '© ' + podcastOrganisationName }}</div>
47
- </router-link>
48
- </div>
49
45
  </div>
50
46
  </template>
51
47
 
@@ -130,13 +126,6 @@ export default defineComponent({
130
126
 
131
127
  <style lang="scss">
132
128
  .octopus-app{
133
- .podcast-item-info {
134
- .text-secondary {
135
- margin: 0.5rem !important;
136
- }
137
- .saooti-pin {
138
- font-size: 22px;
139
- }
140
129
  .title-podcast-item {
141
130
  font-weight: 700;
142
131
  margin: 0.25rem 0.5rem 0.5rem;
@@ -155,7 +144,7 @@ export default defineComponent({
155
144
  margin: 0.2rem 0.5rem 0.5rem;
156
145
  font-size: 0.55rem;
157
146
  color: #666;
147
+ margin-left: auto;
158
148
  }
159
149
  }
160
- }
161
150
  </style>