@saooti/octopus-sdk 39.4.9 → 39.4.11

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 (73) hide show
  1. package/package.json +1 -1
  2. package/src/components/display/categories/CategoryChooser.vue +2 -0
  3. package/src/components/display/categories/CategoryFilter.vue +8 -3
  4. package/src/components/display/comments/CommentInput.vue +2 -7
  5. package/src/components/display/comments/CommentPlayer.vue +1 -1
  6. package/src/components/display/comments/like/LikeButton.vue +0 -1
  7. package/src/components/display/emission/EmissionInlineList.vue +1 -1
  8. package/src/components/display/emission/EmissionItem.vue +5 -5
  9. package/src/components/display/emission/EmissionList.vue +2 -1
  10. package/src/components/display/emission/EmissionPlayerItem.vue +3 -3
  11. package/src/components/display/emission/EmissionPresentationItem.vue +7 -7
  12. package/src/components/display/emission/EmissionPresentationList.vue +4 -8
  13. package/src/components/display/filter/AdvancedSearch.vue +19 -4
  14. package/src/components/display/filter/ProductorSearch.vue +0 -1
  15. package/src/components/display/filter/SearchOrder.vue +3 -1
  16. package/src/components/display/list/ListPaginate.vue +1 -6
  17. package/src/components/display/list/SwiperList.vue +1 -3
  18. package/src/components/display/live/LiveHorizontalList.vue +1 -1
  19. package/src/components/display/live/RadioCurrently.vue +7 -9
  20. package/src/components/display/live/RadioImage.vue +11 -15
  21. package/src/components/display/live/RadioItem.vue +3 -3
  22. package/src/components/display/live/RadioPlanning.vue +8 -6
  23. package/src/components/display/participant/ParticipantInlineList.vue +1 -1
  24. package/src/components/display/participant/ParticipantItem.vue +9 -54
  25. package/src/components/display/participant/ParticipantList.vue +1 -1
  26. package/src/components/display/playlist/PlaylistItem.vue +30 -5
  27. package/src/components/display/playlist/PlaylistList.vue +2 -1
  28. package/src/components/display/playlist/PodcastList.vue +2 -13
  29. package/src/components/display/podcasts/AnimatorsItem.vue +4 -6
  30. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +1 -1
  31. package/src/components/display/podcasts/PodcastItem.vue +10 -35
  32. package/src/components/display/podcasts/PodcastItemInfo.vue +1 -5
  33. package/src/components/display/podcasts/PodcastList.vue +1 -1
  34. package/src/components/display/podcasts/PodcastModuleBox.vue +1 -1
  35. package/src/components/display/podcasts/PodcastPlayButton.vue +0 -2
  36. package/src/components/display/podcasts/TagList.vue +0 -2
  37. package/src/components/display/sharing/ChooseEpisodesNumber.vue +58 -0
  38. package/src/components/display/sharing/PlayerParameters.vue +98 -115
  39. package/src/components/display/sharing/SharePlayer.vue +12 -17
  40. package/src/components/display/sharing/SharePlayerRadio.vue +1 -1
  41. package/src/components/form/ClassicContentEditable.vue +0 -1
  42. package/src/components/form/ClassicInputText.vue +3 -4
  43. package/src/components/form/ClassicMultiselect.vue +6 -1
  44. package/src/components/form/ClassicRadio.vue +1 -1
  45. package/src/components/form/ClassicRadioLabel.vue +4 -3
  46. package/src/components/form/ClassicSearch.vue +1 -2
  47. package/src/components/form/ClassicSelect.vue +3 -4
  48. package/src/components/form/ClassicWysiwyg.vue +16 -11
  49. package/src/components/misc/ClassicAccordion.vue +1 -2
  50. package/src/components/misc/ClassicLazy.vue +1 -1
  51. package/src/components/misc/ClassicNav.vue +8 -6
  52. package/src/components/misc/ClassicPopover.vue +5 -9
  53. package/src/components/misc/TopBarMainContent.vue +1 -0
  54. package/src/components/misc/modal/ClassicModal.vue +1 -1
  55. package/src/components/misc/modal/ClassicModalInBody.vue +2 -2
  56. package/src/components/misc/player/PlayerCompact.vue +8 -12
  57. package/src/components/misc/player/PlayerLarge.vue +2 -2
  58. package/src/components/misc/player/chaptering/ChapteringModal.vue +2 -5
  59. package/src/components/misc/player/chaptering/PlayerChaptering.vue +2 -4
  60. package/src/components/misc/player/elements/PlayerImage.vue +21 -24
  61. package/src/components/misc/player/elements/PlayerSpeedButton.vue +0 -1
  62. package/src/components/misc/player/radio/RadioProgressBar.vue +0 -3
  63. package/src/components/pages/HomePage.vue +10 -1
  64. package/src/components/pages/VideoPage.vue +1 -1
  65. package/src/style/_utilities.scss +11 -114
  66. package/src/style/_variables.scss +21 -0
  67. package/src/style/bootstrap.scss +133 -180
  68. package/src/style/form.scss +42 -11
  69. package/src/style/general.scss +62 -121
  70. package/src/style/live.scss +3 -1
  71. package/src/style/progressbar.scss +6 -14
  72. package/src/style/share.scss +127 -186
  73. package/src/style/transition.scss +64 -93
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "39.4.9",
3
+ "version": "39.4.11",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -15,6 +15,7 @@
15
15
  :width="width"
16
16
  :is-disabled="isDisabled"
17
17
  :no-deselect="noDeselect"
18
+ :display-required="displayRequired"
18
19
  @on-search="onSearchCategory"
19
20
  @selected="onCategorySelected"
20
21
  />
@@ -50,6 +51,7 @@ export default defineComponent({
50
51
  label:{default: undefined, type: String },
51
52
  displayLabel: { default: false, type: Boolean },
52
53
  textDanger :{ default: undefined, type: String },
54
+ displayRequired: { default: false, type: Boolean },
53
55
  },
54
56
  emits: [
55
57
  "update:categorySelected",
@@ -13,7 +13,7 @@
13
13
  >
14
14
  <ol
15
15
  v-if="filterIab || filterRubrique.length"
16
- class="octopus-breadcrumb d-flex align-items-center justify-content-center flex-wrap"
16
+ class="octopus-breadcrumb"
17
17
  >
18
18
  <li class="octopus-breadcrumb-li">
19
19
  <a href="#" @click="removeFilter(-1, $event)">{{ $t("All") }}</a>
@@ -24,7 +24,7 @@
24
24
  <li
25
25
  v-for="(filter, index) in filterRubrique"
26
26
  :key="filter.rubriqueId"
27
- class="d-flex align-items-center octopus-breadcrumb-li"
27
+ class="octopus-breadcrumb-li"
28
28
  :class="filterRubrique.length - 1 === index ? 'active' : ''"
29
29
  >
30
30
  <a
@@ -289,10 +289,15 @@ export default defineComponent({
289
289
  }
290
290
 
291
291
  .octopus-breadcrumb {
292
- padding: 1rem;
292
+ display: flex;
293
293
  align-items: center;
294
+ justify-content: center;
295
+ flex-wrap: wrap;
296
+ padding: 1rem;
294
297
 
295
298
  .octopus-breadcrumb-li {
299
+ display: flex;
300
+ align-items: center;
296
301
  list-style: none;
297
302
  color: white !important;
298
303
 
@@ -197,13 +197,8 @@ export default defineComponent({
197
197
  <style lang="scss">
198
198
  .octopus-app .comment-input-container {
199
199
  .comment-input {
200
- border-top: 0;
201
- border-right: 0;
202
- border-left: 0;
203
- border-bottom: 0.1rem solid var(--octopus-border-default) !important;
204
- overflow: hidden !important;
205
- box-shadow: unset !important;
206
- background: transparent !important;
200
+ border-bottom: 0.1rem solid var(--octopus-border-default);
201
+ overflow: hidden;
207
202
  min-height: 36px;
208
203
  resize: none;
209
204
  }
@@ -98,7 +98,7 @@ export default defineComponent({
98
98
  @media (width <= 960px) {
99
99
  display: none;
100
100
  }
101
-
101
+
102
102
  .comment-border {
103
103
  width: auto;
104
104
  position: absolute;
@@ -81,7 +81,6 @@ export default defineComponent({
81
81
  });
82
82
  </script>
83
83
  <style lang="scss">
84
-
85
84
  @use "sass:color";
86
85
 
87
86
  .octopus-app .btn-like-comment {
@@ -20,7 +20,7 @@
20
20
  </SwiperList>
21
21
  <router-link
22
22
  :to="href"
23
- class="btn btn-primary align-self-center width-fit-content m-4"
23
+ class="btn btn-primary align-self-center w-fit-content m-4"
24
24
  >
25
25
  {{ buttonText }}
26
26
  </router-link>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <article class="mt-3 emission-item-container">
2
+ <article class="classic-element-container">
3
3
  <router-link
4
4
  :to="{
5
5
  name: 'emission',
@@ -17,8 +17,8 @@
17
17
  alt=""
18
18
  :title="$t('Emission name image', { name: emission.name })"
19
19
  />
20
- <div class="emission-item-text">
21
- <div class="d-flex align-items-center emission-name">
20
+ <div class="classic-element-text">
21
+ <div class="d-flex align-items-center element-name basic-line-clamp">
22
22
  <AlertIcon
23
23
  v-if="!activeEmission && !isPodcastmaker && editRight"
24
24
  :size="16"
@@ -29,7 +29,7 @@
29
29
  </div>
30
30
  <div
31
31
  ref="descriptionEmissionContainer"
32
- class="emission-description htms-wysiwyg-content"
32
+ class="element-description htms-wysiwyg-content"
33
33
  >
34
34
  <!-- eslint-disable vue/no-v-html -->
35
35
  <div
@@ -103,7 +103,7 @@ export default defineComponent({
103
103
  null !== emissionDescContainer &&
104
104
  emissionDesc.clientHeight > emissionDescContainer.clientHeight
105
105
  ) {
106
- emissionDescContainer.classList.add("after-emission-description");
106
+ emissionDescContainer.classList.add("after-element-description");
107
107
  }
108
108
  },
109
109
  methods: {
@@ -15,11 +15,12 @@
15
15
  :player-responsive="true"
16
16
  >
17
17
  <template #list>
18
- <div v-if="!itemPlayer" class="emission-list two-emissions">
18
+ <div v-if="!itemPlayer" class="octopus-element-list two-items-list">
19
19
  <ClassicLazy
20
20
  v-for="e in displayArray"
21
21
  :key="e.emissionId"
22
22
  :min-height="250"
23
+ class="d-flex flex-column flex-grow-1"
23
24
  >
24
25
  <EmissionItem v-if="0 !== e.emissionId" :emission="e" />
25
26
  <template #preview>
@@ -11,7 +11,7 @@
11
11
  <div v-if="rubriqueName" class="emission-player-item-info">
12
12
  {{ rubriqueName }}
13
13
  </div>
14
- <div class="img-box rounded-0">
14
+ <div class="img-box">
15
15
  <img
16
16
  v-lazy="proxyImageUrl(emission.imageUrl, '330')"
17
17
  width="330"
@@ -19,7 +19,7 @@
19
19
  role="presentation"
20
20
  alt=""
21
21
  :title="$t('Emission name image', { name: emission.name })"
22
- class="img-box rounded-0"
22
+ class="img-box"
23
23
  />
24
24
  </div>
25
25
  <div class="fw-bold text-uppercase text-truncate p-2">
@@ -38,7 +38,7 @@
38
38
  params: { podcastId: p.podcastId },
39
39
  }"
40
40
  :title="$t('Episode name page', { name: p.title })"
41
- class="text-dark fw-bold two-line-clamp"
41
+ class="text-dark fw-bold basic-line-clamp"
42
42
  >
43
43
  {{ p.title }}
44
44
  </router-link>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <article
3
- class="emission-item-container emission-presentation-container mt-3"
3
+ class="classic-element-container emission-presentation-container mt-3"
4
4
  :class="isVertical ? 'emission-vertical-item' : ''"
5
5
  >
6
6
  <router-link
@@ -22,14 +22,14 @@
22
22
  alt=""
23
23
  :title="$t('Emission name image', { name: emission.name })"
24
24
  />
25
- <div class="emission-item-text">
26
- <div class="emission-name mb-2">
25
+ <div class="classic-element-text">
26
+ <div class="element-name mb-2 basic-line-clamp">
27
27
  {{ emission.name }}
28
28
  </div>
29
29
  <div
30
30
  v-if="!isPhone && isDescription"
31
31
  ref="descriptionEmissionContainer"
32
- class="emission-description htms-wysiwyg-content"
32
+ class="element-description htms-wysiwyg-content"
33
33
  >
34
34
  <!-- eslint-disable vue/no-v-html -->
35
35
  <div
@@ -85,7 +85,7 @@ export default defineComponent({
85
85
  emissionDescContainer &&
86
86
  emissionDesc.clientHeight > emissionDescContainer.clientHeight
87
87
  ) {
88
- emissionDescContainer.classList.add("after-emission-description");
88
+ emissionDescContainer.classList.add("after-element-description");
89
89
  }
90
90
  });
91
91
  },
@@ -101,14 +101,14 @@ export default defineComponent({
101
101
  margin-right: 0.5rem;
102
102
  }
103
103
 
104
- .emission-description {
104
+ .element-description {
105
105
  height: 0;
106
106
  flex-grow: 1;
107
107
  max-height: unset;
108
108
  }
109
109
  }
110
110
 
111
- .emission-item-container.emission-vertical-item {
111
+ .classic-element-container.emission-vertical-item {
112
112
  flex-grow: 0;
113
113
  width: 400px;
114
114
  flex-shrink: 0;
@@ -48,7 +48,7 @@
48
48
  <router-link
49
49
  v-if="buttonText && href"
50
50
  :to="href"
51
- class="btn btn-primary align-self-center width-fit-content m-4"
51
+ class="btn btn-primary align-self-center w-fit-content m-4"
52
52
  >
53
53
  {{ buttonText }}
54
54
  </router-link>
@@ -135,7 +135,7 @@ export default defineComponent({
135
135
  overflow-y: auto;
136
136
  scroll-snap-type: x mandatory;
137
137
 
138
- .emission-item-container{
138
+ .classic-element-container{
139
139
  scroll-snap-align: center;
140
140
  }
141
141
  }
@@ -166,12 +166,8 @@ export default defineComponent({
166
166
  .show-emission-column {
167
167
  display: flex;
168
168
 
169
- @media (width <= 1550px) {
170
- display: none !important;
171
- }
172
-
173
- @media (width <= 960px) {
174
- display: flex !important;
169
+ @media (width <= 1550px) and (width > 960px) {
170
+ display: none;
175
171
  }
176
172
  }
177
173
  }
@@ -12,10 +12,10 @@
12
12
  v-show="showFilters"
13
13
  class="advanced-search-container"
14
14
  >
15
- <div class="d-flex flex-column">
16
- <div class="text-primary mb-2">
15
+ <fieldset class="d-flex flex-column flex-grow-3">
16
+ <legend class="text-primary mb-2">
17
17
  {{ $t("Filter") }}
18
- </div>
18
+ </legend>
19
19
  <MonetizableFilter
20
20
  v-if="!isPodcastmaker && !platformEducation"
21
21
  :is-emission="isEmission"
@@ -63,7 +63,7 @@
63
63
  :label="$t('Show only episodes with video')"
64
64
  @update:text-init="updateOnlyVideo"
65
65
  />
66
- </div>
66
+ </fieldset>
67
67
  <SearchOrder
68
68
  :is-emission="isEmission"
69
69
  :sort="sort"
@@ -268,3 +268,18 @@ export default defineComponent({
268
268
  },
269
269
  });
270
270
  </script>
271
+ <style lang="scss">
272
+ .octopus-app {
273
+ .advanced-search-container {
274
+ background: var(--octopus-background);
275
+ display: flex;
276
+ width: 100%;
277
+ margin-bottom: 1rem;
278
+ justify-content: space-around;
279
+
280
+ @media (width <= 720px) {
281
+ flex-wrap: wrap;
282
+ }
283
+ }
284
+ }
285
+ </style>
@@ -145,7 +145,6 @@ export default defineComponent({
145
145
 
146
146
  <style lang="scss">
147
147
 
148
-
149
148
  .octopus-app {
150
149
  .filter-speech-bubble {
151
150
  position: absolute;
@@ -5,10 +5,11 @@
5
5
  :options="optionsArray"
6
6
  :radio-label="$t('Sort')"
7
7
  class-label="text-primary mb-2"
8
+ :type-tag="typeTag"
9
+ class="flex-grow-1"
8
10
  @update:text-init="$emit('update:sort', $event)"
9
11
  />
10
12
  </template>
11
-
12
13
  <script lang="ts">
13
14
  import ClassicRadioLabel from "../../form/ClassicRadioLabel.vue";
14
15
  import { defineComponent } from "vue";
@@ -19,6 +20,7 @@ export default defineComponent({
19
20
  props: {
20
21
  isEmission: { default: false, type: Boolean },
21
22
  sort: { default: "DATE", type: String },
23
+ typeTag: { default: "fieldset", type: String },
22
24
  },
23
25
 
24
26
  emits: ["update:sort"],
@@ -33,12 +33,7 @@
33
33
  <button
34
34
  v-show="first + rowsPerPage < totalCount && (isPhone || justSizeChosen)"
35
35
  :disabled="loading"
36
- class="btn"
37
- :class="
38
- buttonPlus
39
- ? 'btn-primary align-self-center width-fit-content m-4'
40
- : 'btn-more'
41
- "
36
+ class="btn btn-primary align-self-center w-fit-content m-4"
42
37
  :title="$t('See more')"
43
38
  @click="fetchMore"
44
39
  >
@@ -138,7 +138,6 @@ export default defineComponent({
138
138
  </script>
139
139
  <style lang="scss">
140
140
 
141
-
142
141
  :root {
143
142
  --swiper-navigation-sides-offset: 0;
144
143
  }
@@ -152,8 +151,7 @@ export default defineComponent({
152
151
  .swiper-button-prev {
153
152
  color: var(--octopus-primary) !important;
154
153
  height: 100%;
155
- top: 0;
156
- bottom: 0;
154
+ inset-block:0;
157
155
  margin: 0;
158
156
  width: 40px;
159
157
  background: var(--octopus-background);
@@ -13,7 +13,7 @@
13
13
  :player-responsive="true"
14
14
  >
15
15
  <template #list>
16
- <div class="podcast-list">
16
+ <div class="octopus-element-list">
17
17
  <template v-for="p in displayArray" :key="p.podcastId">
18
18
  <PodcastItem v-if="0 !== p.podcastId" :podcast="p" />
19
19
  </template>
@@ -107,14 +107,12 @@ export default defineComponent({
107
107
  });
108
108
  </script>
109
109
  <style lang="scss">
110
- .octopus-app {
111
- .small-img-box {
112
- height: 80px;
113
- width: 80px;
114
- border-radius: 0.2rem;
115
- overflow: hidden;
116
- flex-shrink: 0;
117
- margin: 0.5rem;
118
- }
110
+ .octopus-app .small-img-box {
111
+ height: 80px;
112
+ width: 80px;
113
+ border-radius: var(--octopus-border-radius);
114
+ overflow: hidden;
115
+ flex-shrink: 0;
116
+ margin: 0.5rem;
119
117
  }
120
118
  </style>
@@ -81,20 +81,16 @@ export default defineComponent({
81
81
  });
82
82
  </script>
83
83
  <style lang="scss">
84
-
85
-
86
- .octopus-app {
87
- .radio-play-button{
88
- display: flex;
89
- align-items: center;
90
- position: absolute;
91
- bottom: 0;
92
- font-size: 1rem;
93
- color: white;
94
- background-color: var(--octopus-primary-less-transparent);
95
- border-radius: var(--octopus-border-radius);
96
- padding: 0.2rem;
97
- border: 0;
98
- }
84
+ .octopus-app .radio-play-button{
85
+ display: flex;
86
+ align-items: center;
87
+ position: absolute;
88
+ bottom: 0;
89
+ font-size: 1rem;
90
+ color: var(--octopus-color-on-primary);
91
+ background-color: var(--octopus-primary-less-transparent);
92
+ border-radius: var(--octopus-border-radius);
93
+ padding: 0.2rem;
94
+ border: 0;
99
95
  }
100
96
  </style>
@@ -6,13 +6,13 @@
6
6
  name: 'radio',
7
7
  params: { canalId: radio.id },
8
8
  }"
9
- class="text-dark emission-item-text"
9
+ class="text-dark classic-element-text"
10
10
  :title="$t('Radio name page', { name: radio.name })"
11
11
  >
12
- <div class="emission-name mb-2">
12
+ <div class="element-name mb-2 basic-line-clamp">
13
13
  {{ radio.name }}
14
14
  </div>
15
- <div v-if="radio.description" class="ten-line-clamp">
15
+ <div v-if="radio.description" class="basic-line-clamp ten-line">
16
16
  {{ radio.description }}
17
17
  </div>
18
18
  <RadioCurrently :radio="radio" />
@@ -8,8 +8,8 @@
8
8
  <button
9
9
  v-for="day in displayArrayDays"
10
10
  :key="day.date"
11
- class="d-flex flex-column align-items-center flex-grow-1 button-date"
12
- :class="day.date == daySelected ? 'bg-primary text-white' : ''"
11
+ class="button-date border"
12
+ :class="day.date == daySelected ? 'bg-primary' : ''"
13
13
  @click="changeDate(day.date)"
14
14
  >
15
15
  <span class="text-capitalize" >{{ day.dayOfWeek }}</span>
@@ -367,12 +367,14 @@ export default defineComponent({
367
367
  }
368
368
 
369
369
  .button-date {
370
- border: 1px solid var(--octopus-border-default);
370
+ display: flex;
371
+ flex-direction: column;
372
+ align-items: center;
373
+ flex-grow: 1;
371
374
  padding: 0.5rem;
372
- color: black !important;
373
375
 
374
- &.text-white{
375
- color: white !important;
376
+ &.bg-primary{
377
+ color: var(--octopus-color-on-primary) !important;
376
378
  }
377
379
 
378
380
  &:hover {
@@ -18,7 +18,7 @@
18
18
  </SwiperList>
19
19
  <router-link
20
20
  :to="href"
21
- class="btn btn-primary align-self-center width-fit-content m-4"
21
+ class="btn btn-primary align-self-center w-fit-content m-4"
22
22
  >
23
23
  {{ buttonText }}
24
24
  </router-link>
@@ -28,7 +28,7 @@
28
28
  </div>
29
29
  <div
30
30
  ref="descriptionParticipantContainer"
31
- class="participant-description html-wysiwyg-content"
31
+ class="element-description small-description html-wysiwyg-content"
32
32
  >
33
33
  <!-- eslint-disable vue/no-v-html -->
34
34
  <div
@@ -44,7 +44,7 @@
44
44
  name: 'productor',
45
45
  params: { productorId: participant.orga.id },
46
46
  }"
47
- class="participant-producer"
47
+ class="small-text mt-1"
48
48
  >
49
49
  © {{ participant.orga.name }}
50
50
  </router-link>
@@ -102,7 +102,7 @@ export default defineComponent({
102
102
  null !== participantDescContainer &&
103
103
  participantDesc.clientHeight > participantDescContainer.clientHeight
104
104
  ) {
105
- participantDescContainer.classList.add("after-participant-description");
105
+ participantDescContainer.classList.add("after-element-description");
106
106
  }
107
107
  },
108
108
  methods: {
@@ -126,56 +126,11 @@ export default defineComponent({
126
126
  });
127
127
  </script>
128
128
  <style lang="scss">
129
-
130
-
131
- .octopus-app {
132
- .participant-item-container {
133
- list-style: none;
134
- border-radius: var(--octopus-border-radius);
135
- display: flex;
136
- flex-direction: column;
137
- margin: 1rem 0;
138
- align-items: center;
139
- width: var(--octopus-image-size);
140
-
141
- .participant-description {
142
- overflow: hidden;
143
- margin-top: 0.5em;
144
- max-height: 3rem;
145
- position: relative;
146
- text-align: center;
147
-
148
- &.after-participant-description::after {
149
- content: "...";
150
- position: absolute;
151
- padding-left: 1rem;
152
- right: 0;
153
- bottom: 0;
154
- width: 100%;
155
- font-size: 1rem;
156
- font-weight: bolder;
157
- text-align: center;
158
- background: linear-gradient(
159
- to bottom,
160
- var(--octopus-background-transparent),
161
- var(--octopus-background),
162
- );
163
- }
164
- }
165
-
166
- .participant-producer {
167
- font-weight: 300;
168
- font-size: 0.6rem;
169
- margin-top: 0.5rem;
170
- }
171
-
172
- @media (width <= 960px) {
173
- margin: 0;
174
- }
175
-
176
- @media (width <= 450px) {
177
- margin: 1rem 0 0;
178
- }
179
- }
129
+ .octopus-app .participant-item-container {
130
+ display: flex;
131
+ flex-direction: column;
132
+ align-items: center;
133
+ border-radius: var(--octopus-border-radius);
134
+ width: var(--octopus-image-size);
180
135
  }
181
136
  </style>
@@ -17,7 +17,7 @@
17
17
  :player-responsive="true"
18
18
  >
19
19
  <template #list>
20
- <div class="podcast-list">
20
+ <div class="octopus-element-list">
21
21
  <ClassicLazy
22
22
  v-for="p in displayArray"
23
23
  :key="p.participantId"
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <article class="emission-item-container">
2
+ <article class="classic-element-container">
3
3
  <router-link
4
4
  :to="{
5
5
  name: 'playlist',
@@ -8,16 +8,16 @@
8
8
  :title="$t('Playlist name page', { name: name })"
9
9
  class="d-flex flex-grow-1 text-dark"
10
10
  >
11
- <div class="emission-item-text">
11
+ <div class="classic-element-text">
12
12
  <div v-if="!activePlaylist" class="sticker-empty-ressource">
13
13
  {{ $t("Empty playlist") }}
14
14
  </div>
15
- <div class="d-flex align-items-center emission-name">
15
+ <div class="d-flex align-items-center element-name basic-line-clamp">
16
16
  {{ name }}
17
17
  </div>
18
18
  <div
19
19
  ref="descriptionPlaylistContainer"
20
- class="emission-description html-wysiwyg-content"
20
+ class="element-description html-wysiwyg-content"
21
21
  >
22
22
  <!-- eslint-disable vue/no-v-html -->
23
23
  <div ref="descriptionPlaylist" v-html="urlify(description)" />
@@ -84,8 +84,33 @@ export default defineComponent({
84
84
  const playlistDescContainer = this.$refs
85
85
  .descriptionPlaylistContainer as HTMLElement;
86
86
  if (playlistDesc?.clientHeight > playlistDescContainer?.clientHeight) {
87
- playlistDescContainer.classList.add("after-emission-description");
87
+ playlistDescContainer.classList.add("after-element-description");
88
88
  }
89
89
  },
90
90
  });
91
91
  </script>
92
+ <style lang="scss">
93
+ .octopus-app .sticker-empty-ressource{
94
+ position: absolute;
95
+ top: 5px;
96
+ right: 5px;
97
+ align-self: center;
98
+ background: var(--octopus-tertiary);
99
+ padding: 0.5rem;
100
+ transition: all 0.5s ease;
101
+ color: var(--octopus-color-on-primary);
102
+ font-size: 0.6rem;
103
+ font-weight: bold;
104
+ letter-spacing: 1px;
105
+ box-shadow: 10px 10px 34px -15px var(--octopus-shadow);
106
+ border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
107
+ border: solid 2px var(--octopus-color-text);
108
+ cursor: auto;
109
+
110
+ &:hover {
111
+ box-shadow: 2px 8px 4px -6px var(--octopus-shadow);
112
+ background: var(--octopus-primary);
113
+ }
114
+ }
115
+ </style>
116
+