@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.
- package/package.json +1 -1
- package/src/components/display/categories/CategoryChooser.vue +2 -0
- package/src/components/display/categories/CategoryFilter.vue +8 -3
- package/src/components/display/comments/CommentInput.vue +2 -7
- package/src/components/display/comments/CommentPlayer.vue +1 -1
- package/src/components/display/comments/like/LikeButton.vue +0 -1
- package/src/components/display/emission/EmissionInlineList.vue +1 -1
- package/src/components/display/emission/EmissionItem.vue +5 -5
- package/src/components/display/emission/EmissionList.vue +2 -1
- package/src/components/display/emission/EmissionPlayerItem.vue +3 -3
- package/src/components/display/emission/EmissionPresentationItem.vue +7 -7
- package/src/components/display/emission/EmissionPresentationList.vue +4 -8
- package/src/components/display/filter/AdvancedSearch.vue +19 -4
- package/src/components/display/filter/ProductorSearch.vue +0 -1
- package/src/components/display/filter/SearchOrder.vue +3 -1
- package/src/components/display/list/ListPaginate.vue +1 -6
- package/src/components/display/list/SwiperList.vue +1 -3
- package/src/components/display/live/LiveHorizontalList.vue +1 -1
- package/src/components/display/live/RadioCurrently.vue +7 -9
- package/src/components/display/live/RadioImage.vue +11 -15
- package/src/components/display/live/RadioItem.vue +3 -3
- package/src/components/display/live/RadioPlanning.vue +8 -6
- package/src/components/display/participant/ParticipantInlineList.vue +1 -1
- package/src/components/display/participant/ParticipantItem.vue +9 -54
- package/src/components/display/participant/ParticipantList.vue +1 -1
- package/src/components/display/playlist/PlaylistItem.vue +30 -5
- package/src/components/display/playlist/PlaylistList.vue +2 -1
- package/src/components/display/playlist/PodcastList.vue +2 -13
- package/src/components/display/podcasts/AnimatorsItem.vue +4 -6
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +1 -1
- package/src/components/display/podcasts/PodcastItem.vue +10 -35
- package/src/components/display/podcasts/PodcastItemInfo.vue +1 -5
- package/src/components/display/podcasts/PodcastList.vue +1 -1
- package/src/components/display/podcasts/PodcastModuleBox.vue +1 -1
- package/src/components/display/podcasts/PodcastPlayButton.vue +0 -2
- package/src/components/display/podcasts/TagList.vue +0 -2
- package/src/components/display/sharing/ChooseEpisodesNumber.vue +58 -0
- package/src/components/display/sharing/PlayerParameters.vue +98 -115
- package/src/components/display/sharing/SharePlayer.vue +12 -17
- package/src/components/display/sharing/SharePlayerRadio.vue +1 -1
- package/src/components/form/ClassicContentEditable.vue +0 -1
- package/src/components/form/ClassicInputText.vue +3 -4
- package/src/components/form/ClassicMultiselect.vue +6 -1
- package/src/components/form/ClassicRadio.vue +1 -1
- package/src/components/form/ClassicRadioLabel.vue +4 -3
- package/src/components/form/ClassicSearch.vue +1 -2
- package/src/components/form/ClassicSelect.vue +3 -4
- package/src/components/form/ClassicWysiwyg.vue +16 -11
- package/src/components/misc/ClassicAccordion.vue +1 -2
- package/src/components/misc/ClassicLazy.vue +1 -1
- package/src/components/misc/ClassicNav.vue +8 -6
- package/src/components/misc/ClassicPopover.vue +5 -9
- package/src/components/misc/TopBarMainContent.vue +1 -0
- package/src/components/misc/modal/ClassicModal.vue +1 -1
- package/src/components/misc/modal/ClassicModalInBody.vue +2 -2
- package/src/components/misc/player/PlayerCompact.vue +8 -12
- package/src/components/misc/player/PlayerLarge.vue +2 -2
- package/src/components/misc/player/chaptering/ChapteringModal.vue +2 -5
- package/src/components/misc/player/chaptering/PlayerChaptering.vue +2 -4
- package/src/components/misc/player/elements/PlayerImage.vue +21 -24
- package/src/components/misc/player/elements/PlayerSpeedButton.vue +0 -1
- package/src/components/misc/player/radio/RadioProgressBar.vue +0 -3
- package/src/components/pages/HomePage.vue +10 -1
- package/src/components/pages/VideoPage.vue +1 -1
- package/src/style/_utilities.scss +11 -114
- package/src/style/_variables.scss +21 -0
- package/src/style/bootstrap.scss +133 -180
- package/src/style/form.scss +42 -11
- package/src/style/general.scss +62 -121
- package/src/style/live.scss +3 -1
- package/src/style/progressbar.scss +6 -14
- package/src/style/share.scss +127 -186
- package/src/style/transition.scss +64 -93
package/package.json
CHANGED
|
@@ -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
|
|
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="
|
|
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
|
-
|
|
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-
|
|
201
|
-
|
|
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
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<article class="
|
|
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="
|
|
21
|
-
<div class="d-flex align-items-center
|
|
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="
|
|
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-
|
|
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="
|
|
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
|
|
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
|
|
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
|
|
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="
|
|
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="
|
|
26
|
-
<div class="
|
|
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="
|
|
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-
|
|
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
|
-
.
|
|
104
|
+
.element-description {
|
|
105
105
|
height: 0;
|
|
106
106
|
flex-grow: 1;
|
|
107
107
|
max-height: unset;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
.
|
|
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
|
|
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
|
-
.
|
|
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
|
|
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
|
-
<
|
|
16
|
-
<
|
|
15
|
+
<fieldset class="d-flex flex-column flex-grow-3">
|
|
16
|
+
<legend class="text-primary mb-2">
|
|
17
17
|
{{ $t("Filter") }}
|
|
18
|
-
</
|
|
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
|
-
</
|
|
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>
|
|
@@ -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
|
-
|
|
156
|
-
bottom: 0;
|
|
154
|
+
inset-block:0;
|
|
157
155
|
margin: 0;
|
|
158
156
|
width: 40px;
|
|
159
157
|
background: var(--octopus-background);
|
|
@@ -107,14 +107,12 @@ export default defineComponent({
|
|
|
107
107
|
});
|
|
108
108
|
</script>
|
|
109
109
|
<style lang="scss">
|
|
110
|
-
.octopus-app {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
|
9
|
+
class="text-dark classic-element-text"
|
|
10
10
|
:title="$t('Radio name page', { name: radio.name })"
|
|
11
11
|
>
|
|
12
|
-
<div class="
|
|
12
|
+
<div class="element-name mb-2 basic-line-clamp">
|
|
13
13
|
{{ radio.name }}
|
|
14
14
|
</div>
|
|
15
|
-
<div v-if="radio.description" class="
|
|
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="
|
|
12
|
-
:class="day.date == daySelected ? 'bg-primary
|
|
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
|
-
|
|
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
|
-
&.
|
|
375
|
-
color:
|
|
376
|
+
&.bg-primary{
|
|
377
|
+
color: var(--octopus-color-on-primary) !important;
|
|
376
378
|
}
|
|
377
379
|
|
|
378
380
|
&:hover {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
</div>
|
|
29
29
|
<div
|
|
30
30
|
ref="descriptionParticipantContainer"
|
|
31
|
-
class="
|
|
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="
|
|
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-
|
|
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
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<article class="
|
|
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="
|
|
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
|
|
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="
|
|
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-
|
|
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
|
+
|