@saooti/octopus-sdk 36.0.2 → 36.0.4
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/public/css/fonts/icomoon.eot +0 -0
- package/public/css/fonts/icomoon.svg +21 -12
- package/public/css/fonts/icomoon.ttf +0 -0
- package/public/css/fonts/icomoon.woff +0 -0
- package/public/css/fonts/style.css +32 -5
- package/public/img/header-emissions.webp +0 -0
- package/public/img/header-home.webp +0 -0
- package/public/img/header-intervenants.webp +0 -0
- package/public/img/header-playlists.webp +0 -0
- package/public/img/header-podcasts.webp +0 -0
- package/src/assets/bootstrap.scss +26 -12
- package/src/assets/form.scss +2 -2
- package/src/assets/general.scss +16 -26
- package/src/assets/live.scss +0 -18
- package/src/assets/multiselect.scss +15 -25
- package/src/assets/share.scss +47 -12
- package/src/components/display/categories/CategoryChooser.vue +1 -1
- package/src/components/display/categories/CategoryFilter.vue +109 -62
- package/src/components/display/categories/CategoryList.vue +9 -20
- package/src/components/display/emission/EmissionChooser.vue +1 -1
- package/src/components/display/emission/EmissionInlineList.vue +1 -1
- package/src/components/display/emission/EmissionItem.vue +5 -5
- package/src/components/display/emission/EmissionPlayerItem.vue +15 -11
- package/src/components/display/filter/MonetizableFilter.vue +1 -1
- package/src/components/display/filter/ProductorSearch.vue +1 -1
- package/src/components/display/filter/RubriqueChoice.vue +1 -1
- package/src/components/display/list/ListPaginate.vue +14 -25
- package/src/components/display/list/Paginate.vue +71 -104
- package/src/components/display/list/PaginateParams.vue +66 -0
- package/src/components/display/live/CountDown.vue +1 -1
- package/src/components/display/live/LiveItem.vue +0 -7
- package/src/components/display/organisation/OrganisationChooser.vue +1 -1
- package/src/components/display/participant/ParticipantItem.vue +6 -12
- package/src/components/display/participant/ParticipantList.vue +2 -24
- package/src/components/display/playlist/PlaylistItem.vue +10 -10
- package/src/components/display/podcasts/AnimatorsItem.vue +1 -2
- package/src/components/display/podcasts/ParticipantDescription.vue +0 -30
- package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
- package/src/components/display/podcasts/PodcastImage.vue +19 -13
- package/src/components/display/podcasts/PodcastInlineListClassic.vue +1 -1
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +14 -12
- package/src/components/display/podcasts/PodcastItem.vue +15 -9
- package/src/components/display/podcasts/PodcastItemInfo.vue +18 -55
- package/src/components/display/podcasts/PodcastModuleBox.vue +54 -26
- package/src/components/display/podcasts/PodcastSwiperList.vue +20 -10
- package/src/components/display/podcasts/TagList.vue +7 -2
- package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
- package/src/components/display/rubriques/RubriqueList.vue +11 -19
- package/src/components/display/sharing/PlayerParameters.vue +59 -75
- package/src/components/display/sharing/ShareButtons.vue +20 -37
- package/src/components/display/sharing/ShareButtonsIntern.vue +74 -83
- package/src/components/display/sharing/ShareDistribution.vue +3 -2
- package/src/components/display/sharing/SharePlayer.vue +50 -50
- package/src/components/display/sharing/SharePlayerColors.vue +4 -4
- package/src/components/display/sharing/SharePlayerTypes.vue +25 -27
- package/src/components/display/sharing/SubscribeButtons.vue +2 -2
- package/src/components/form/ClassicCheckbox.vue +1 -1
- package/src/components/form/ClassicSearch.vue +2 -1
- package/src/components/misc/Footer.vue +19 -15
- package/src/components/misc/HomeDropdown.vue +14 -14
- package/src/components/misc/Popover.vue +2 -1
- package/src/components/misc/ProgressBar.vue +1 -1
- package/src/components/misc/TopBar.vue +54 -44
- package/src/components/misc/modal/ClassicModal.vue +2 -2
- package/src/components/misc/modal/NewsletterModal.vue +0 -1
- package/src/components/misc/player/Player.vue +5 -14
- package/src/components/misc/player/PlayerCompact.vue +2 -1
- package/src/components/pages/Emission.vue +64 -62
- package/src/components/pages/Emissions.vue +0 -9
- package/src/components/pages/Participant.vue +13 -15
- package/src/components/pages/Participants.vue +0 -7
- package/src/components/pages/Playlist.vue +43 -37
- package/src/components/pages/Playlists.vue +0 -5
- package/src/components/pages/Podcast.vue +65 -100
- package/src/components/pages/Podcasts.vue +1 -37
- package/src/locale/de.ts +6 -1
- package/src/locale/en.ts +6 -1
- package/src/locale/es.ts +6 -1
- package/src/locale/fr.ts +6 -1
- package/src/locale/it.ts +6 -1
- package/src/locale/sl.ts +6 -1
- package/src/sass/_variables.scss +6 -1
- package/src/stores/ParamSdkStore.ts +14 -22
- package/src/stores/PlayerStore.ts +11 -0
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
>
|
|
12
12
|
<template #list>
|
|
13
13
|
<div
|
|
14
|
-
class="
|
|
14
|
+
class="podcast-list"
|
|
15
15
|
>
|
|
16
16
|
<template
|
|
17
17
|
v-for="p in displayArray"
|
|
@@ -138,26 +138,4 @@ export default defineComponent({
|
|
|
138
138
|
},
|
|
139
139
|
},
|
|
140
140
|
})
|
|
141
|
-
</script>
|
|
142
|
-
|
|
143
|
-
<style lang="scss">
|
|
144
|
-
.octopus-app{
|
|
145
|
-
.participant-list {
|
|
146
|
-
align-self: stretch;
|
|
147
|
-
flex-grow: 1;
|
|
148
|
-
margin: 0;
|
|
149
|
-
padding: 0;
|
|
150
|
-
display: grid; /* 1 */
|
|
151
|
-
grid-template-columns: repeat(auto-fill, 14rem); /* 2 */
|
|
152
|
-
grid-gap: 2rem; /* 3 */
|
|
153
|
-
justify-content: space-between; /* 4 */
|
|
154
|
-
}
|
|
155
|
-
/** PHONES*/
|
|
156
|
-
@media (max-width: 655px) {
|
|
157
|
-
.participant-list {
|
|
158
|
-
align-self: auto;
|
|
159
|
-
grid-gap: 0;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
</style>
|
|
141
|
+
</script>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
v-if="editRight || activePlaylist"
|
|
4
|
-
class="emission-item-container
|
|
4
|
+
class="emission-item-container"
|
|
5
5
|
>
|
|
6
6
|
<router-link
|
|
7
7
|
:to="{
|
|
@@ -12,14 +12,6 @@
|
|
|
12
12
|
:title="$t('Playlist')"
|
|
13
13
|
class="d-flex flex-grow-1 text-dark"
|
|
14
14
|
>
|
|
15
|
-
<img
|
|
16
|
-
v-lazy="proxyImageUrl(playlist.imageUrl, '260')"
|
|
17
|
-
width="260"
|
|
18
|
-
height="260"
|
|
19
|
-
:title="$t('Playlist name image', {name:name})"
|
|
20
|
-
:alt="$t('Playlist name image', {name:name})"
|
|
21
|
-
class="img-box"
|
|
22
|
-
>
|
|
23
15
|
<div class="emission-item-text">
|
|
24
16
|
<div class="d-flex align-items-center emission-name">
|
|
25
17
|
<span
|
|
@@ -47,11 +39,19 @@
|
|
|
47
39
|
params: { productorId: playlist.organisation.id },
|
|
48
40
|
query: { productor: filterOrgaId },
|
|
49
41
|
}"
|
|
50
|
-
class="
|
|
42
|
+
class="text-primary mt-auto"
|
|
51
43
|
>
|
|
52
44
|
© {{ playlist.organisation.name }}
|
|
53
45
|
</router-link>
|
|
54
46
|
</div>
|
|
47
|
+
<img
|
|
48
|
+
v-lazy="proxyImageUrl(playlist.imageUrl, '330')"
|
|
49
|
+
width="330"
|
|
50
|
+
height="330"
|
|
51
|
+
:title="$t('Playlist name image', {name:name})"
|
|
52
|
+
:alt="$t('Playlist name image', {name:name})"
|
|
53
|
+
class="img-box"
|
|
54
|
+
>
|
|
55
55
|
</router-link>
|
|
56
56
|
</div>
|
|
57
57
|
</template>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
query: { productor: filterOrgaId },
|
|
11
11
|
}"
|
|
12
12
|
:title="$t('Participant')"
|
|
13
|
-
class="podcast-item-animator text-
|
|
13
|
+
class="podcast-item-animator text-truncate"
|
|
14
14
|
>
|
|
15
15
|
{{ animatorName }}
|
|
16
16
|
</router-link>
|
|
@@ -43,7 +43,6 @@ export default defineComponent({
|
|
|
43
43
|
font-size: 0.55rem;
|
|
44
44
|
font-weight: 300;
|
|
45
45
|
text-transform: capitalize;
|
|
46
|
-
margin: 00.25rem 0.5rem 0;
|
|
47
46
|
}
|
|
48
47
|
}
|
|
49
48
|
</style>
|
|
@@ -4,39 +4,11 @@
|
|
|
4
4
|
class="comma"
|
|
5
5
|
>
|
|
6
6
|
{{ title }}
|
|
7
|
-
<span
|
|
8
|
-
:id="idPopover"
|
|
9
|
-
role="button"
|
|
10
|
-
tabindex="0"
|
|
11
|
-
class="saooti-help m-0"
|
|
12
|
-
:title="title"
|
|
13
|
-
/>
|
|
14
7
|
<span class="mx-1">:</span>
|
|
15
|
-
<Popover
|
|
16
|
-
:title="$t('Animated by')"
|
|
17
|
-
:target="idPopover"
|
|
18
|
-
>
|
|
19
|
-
<div
|
|
20
|
-
v-for="participant in participants"
|
|
21
|
-
:key="'desc-'+participant.participantId"
|
|
22
|
-
class="d-flex flex-column align-items-center"
|
|
23
|
-
>
|
|
24
|
-
<strong><em>{{ getName(participant) }}</em></strong>
|
|
25
|
-
<!-- eslint-disable vue/no-v-html -->
|
|
26
|
-
<div
|
|
27
|
-
v-if="participant.description"
|
|
28
|
-
class="participant-desc html-wysiwyg-content"
|
|
29
|
-
v-html="participant.description"
|
|
30
|
-
/>
|
|
31
|
-
<!-- eslint-enable -->
|
|
32
|
-
<hr>
|
|
33
|
-
</div>
|
|
34
|
-
</Popover>
|
|
35
8
|
<router-link
|
|
36
9
|
v-for="participant in participants"
|
|
37
10
|
:key="participant.participantId"
|
|
38
11
|
:title="$t('Participant')"
|
|
39
|
-
class="fw-bold"
|
|
40
12
|
:to="{
|
|
41
13
|
name: 'participant',
|
|
42
14
|
params: { participantId: participant.participantId },
|
|
@@ -51,7 +23,6 @@
|
|
|
51
23
|
</template>
|
|
52
24
|
|
|
53
25
|
<script lang="ts">
|
|
54
|
-
import Popover from '../../misc/Popover.vue';
|
|
55
26
|
import { Participant } from '@/stores/class/general/participant';
|
|
56
27
|
import { useFilterStore } from '@/stores/FilterStore';
|
|
57
28
|
import { mapState } from 'pinia';
|
|
@@ -60,7 +31,6 @@ export default defineComponent({
|
|
|
60
31
|
name: 'ParticipantDescription',
|
|
61
32
|
|
|
62
33
|
components:{
|
|
63
|
-
Popover
|
|
64
34
|
},
|
|
65
35
|
|
|
66
36
|
props: {
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
class="img-box mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start"
|
|
5
5
|
>
|
|
6
6
|
<img
|
|
7
|
-
v-lazy="proxyImageUrl(podcast.imageUrl,'
|
|
8
|
-
width="
|
|
9
|
-
height="
|
|
7
|
+
v-lazy="proxyImageUrl(podcast.imageUrl,'330')"
|
|
8
|
+
width="330"
|
|
9
|
+
height="330"
|
|
10
10
|
class="img-box"
|
|
11
11
|
:alt="$t('Episode name image', {name:podcast.title})"
|
|
12
12
|
>
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<div
|
|
45
45
|
v-if="!playingPodcast"
|
|
46
46
|
:title="$t('Play')"
|
|
47
|
-
class="saooti-play
|
|
47
|
+
class="saooti-play"
|
|
48
48
|
/>
|
|
49
49
|
<div
|
|
50
50
|
v-if="!classicPodcastPlay"
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
<span class="paddle2" />
|
|
60
60
|
<span class="paddle3" />
|
|
61
61
|
</div>
|
|
62
|
+
<div class="ms-2">{{durationString}}</div>
|
|
62
63
|
</div>
|
|
63
64
|
<div
|
|
64
65
|
v-else
|
|
@@ -88,6 +89,7 @@
|
|
|
88
89
|
</template>
|
|
89
90
|
|
|
90
91
|
<script lang="ts">
|
|
92
|
+
import DurationHelper from '../../../helper/duration';
|
|
91
93
|
import { state } from '../../../stores/ParamSdkStore';
|
|
92
94
|
import { Podcast } from '@/stores/class/general/podcast';
|
|
93
95
|
import { Conference } from '@/stores/class/conference/conference';
|
|
@@ -233,6 +235,9 @@ export default defineComponent({
|
|
|
233
235
|
clickPlayGoPage():boolean{
|
|
234
236
|
return (state.podcastPage.clickPlayGoPage as boolean);
|
|
235
237
|
},
|
|
238
|
+
durationString(): string {
|
|
239
|
+
return DurationHelper.formatDuration(Math.round(this.podcast.duration/1000));
|
|
240
|
+
},
|
|
236
241
|
},
|
|
237
242
|
watch: {
|
|
238
243
|
arrowDirection(): void {
|
|
@@ -286,6 +291,7 @@ export default defineComponent({
|
|
|
286
291
|
|
|
287
292
|
|
|
288
293
|
<style lang="scss">
|
|
294
|
+
@import '@scss/_variables.scss';
|
|
289
295
|
.octopus-app{
|
|
290
296
|
.live-image-status {
|
|
291
297
|
text-align: center;
|
|
@@ -316,8 +322,7 @@ export default defineComponent({
|
|
|
316
322
|
.podcast-image-play-button{
|
|
317
323
|
position: absolute;
|
|
318
324
|
display: flex;
|
|
319
|
-
|
|
320
|
-
justify-content: center;
|
|
325
|
+
justify-content: flex-end;
|
|
321
326
|
top: 0;
|
|
322
327
|
left: 0;
|
|
323
328
|
right: 0;
|
|
@@ -332,10 +337,11 @@ export default defineComponent({
|
|
|
332
337
|
}
|
|
333
338
|
|
|
334
339
|
.icon-container {
|
|
335
|
-
background:
|
|
336
|
-
border-radius:
|
|
337
|
-
|
|
338
|
-
|
|
340
|
+
background: $primaryColorLessTransparent !important;
|
|
341
|
+
border-radius: 2rem;
|
|
342
|
+
color: white;
|
|
343
|
+
padding: 0.5rem;
|
|
344
|
+
margin: 0.5rem;
|
|
339
345
|
display: flex;
|
|
340
346
|
align-items: center;
|
|
341
347
|
justify-content: center;
|
|
@@ -348,12 +354,12 @@ export default defineComponent({
|
|
|
348
354
|
background: #00000030;
|
|
349
355
|
}
|
|
350
356
|
.saooti-play {
|
|
351
|
-
font-size:
|
|
357
|
+
font-size: 1.2rem;
|
|
352
358
|
position: relative;
|
|
353
|
-
|
|
359
|
+
color: white;
|
|
354
360
|
}
|
|
355
361
|
.big-icon-error {
|
|
356
|
-
font-size:
|
|
362
|
+
font-size: 1rem;
|
|
357
363
|
position: relative;
|
|
358
364
|
}
|
|
359
365
|
}
|
|
@@ -1,21 +1,14 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="
|
|
3
|
+
class="podcast-inline-container"
|
|
4
4
|
>
|
|
5
5
|
<div
|
|
6
6
|
class="d-flex align-items-center"
|
|
7
7
|
:class="podcastId?'mb-4':'mb-2'"
|
|
8
8
|
>
|
|
9
|
-
<h2 class="mb-0">
|
|
9
|
+
<h2 class="mb-0 big-h2">
|
|
10
10
|
{{ title }}
|
|
11
11
|
</h2>
|
|
12
|
-
<router-link
|
|
13
|
-
v-if="isButtonNextTitle"
|
|
14
|
-
class="btn admin-button m-1 fw-bold saooti-right"
|
|
15
|
-
:title="buttonText"
|
|
16
|
-
:to="refTo"
|
|
17
|
-
@click="handleSeeMoreButton"
|
|
18
|
-
/>
|
|
19
12
|
</div>
|
|
20
13
|
<div
|
|
21
14
|
v-if="!podcastId"
|
|
@@ -57,7 +50,7 @@
|
|
|
57
50
|
</div>
|
|
58
51
|
<slot name="list-inline" />
|
|
59
52
|
<router-link
|
|
60
|
-
v-if="
|
|
53
|
+
v-if="buttonText"
|
|
61
54
|
class="btn btn-primary align-self-center width-fit-content m-4"
|
|
62
55
|
:to="refTo"
|
|
63
56
|
@click="handleSeeMoreButton"
|
|
@@ -96,7 +89,6 @@ export default defineComponent({
|
|
|
96
89
|
iabId: { default: undefined, type: Number},
|
|
97
90
|
rubriqueId: { default: () => [], type: Array as ()=> Array<number> },
|
|
98
91
|
noRubriquageId: { default: () => [], type: Array as ()=> Array<number> },
|
|
99
|
-
isButtonNextTitle: {default: false, type:Boolean},
|
|
100
92
|
podcastId: { default: undefined, type: Number},
|
|
101
93
|
},
|
|
102
94
|
emits:['sortChrono','sortPopular', 'displayPrevious', 'displayNext'],
|
|
@@ -175,4 +167,14 @@ export default defineComponent({
|
|
|
175
167
|
},
|
|
176
168
|
},
|
|
177
169
|
})
|
|
178
|
-
</script>
|
|
170
|
+
</script>
|
|
171
|
+
<style lang="scss">
|
|
172
|
+
.octopus-app .podcast-inline-container {
|
|
173
|
+
display: flex;
|
|
174
|
+
flex-direction: column;
|
|
175
|
+
padding: 1rem;
|
|
176
|
+
@media (max-width: 450px) {
|
|
177
|
+
padding: 1rem 0;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
</style>
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
<div
|
|
3
3
|
class="podcast-item-container"
|
|
4
4
|
:class="[
|
|
5
|
-
podcastShadow ? 'shadow-element' : '',
|
|
6
5
|
podcastBorderBottom ? 'border-bottom' : '',
|
|
7
6
|
]"
|
|
8
7
|
:data-pubdate="displayDate"
|
|
@@ -78,9 +77,6 @@ export default defineComponent({
|
|
|
78
77
|
},
|
|
79
78
|
|
|
80
79
|
computed: {
|
|
81
|
-
podcastShadow(): boolean {
|
|
82
|
-
return (state.podcastsPage.podcastShadow as boolean);
|
|
83
|
-
},
|
|
84
80
|
podcastBorderBottom(): boolean {
|
|
85
81
|
return (state.podcastsPage.podcastBorderBottom as boolean);
|
|
86
82
|
},
|
|
@@ -123,30 +119,32 @@ export default defineComponent({
|
|
|
123
119
|
</script>
|
|
124
120
|
|
|
125
121
|
<style lang="scss">
|
|
122
|
+
@import '@scss/_variables.scss';
|
|
126
123
|
.octopus-app{
|
|
127
124
|
.podcast-item-container {
|
|
128
|
-
border-radius:
|
|
125
|
+
border-radius: $octopus-borderradius;
|
|
129
126
|
list-style: none;
|
|
130
127
|
position: relative;
|
|
131
|
-
width:
|
|
132
|
-
height:
|
|
128
|
+
width: $octopus-item-size;
|
|
129
|
+
height: 23.5rem;
|
|
133
130
|
overflow: hidden;
|
|
134
131
|
display: flex;
|
|
135
132
|
flex-direction: column;
|
|
136
133
|
text-align: left;
|
|
137
134
|
background: #fff;
|
|
138
135
|
flex-shrink: 0;
|
|
136
|
+
border: 2px solid #eee;
|
|
139
137
|
|
|
140
138
|
.description-podcast-item {
|
|
141
139
|
padding: 1rem;
|
|
142
140
|
color: #333;
|
|
143
141
|
background-color: rgba(255, 255, 255, 0.92);
|
|
144
|
-
height:
|
|
142
|
+
height: $octopus-item-size;
|
|
145
143
|
overflow: hidden;
|
|
146
144
|
text-overflow: ellipsis;
|
|
147
145
|
font-size: 0.9em;
|
|
148
146
|
position: absolute;
|
|
149
|
-
width:
|
|
147
|
+
width: $octopus-item-size;
|
|
150
148
|
word-break: break-word;
|
|
151
149
|
&.after-podcast-description:after {
|
|
152
150
|
content: '...';
|
|
@@ -164,6 +162,14 @@ export default defineComponent({
|
|
|
164
162
|
@media (max-width: 960px) {
|
|
165
163
|
margin: 0.5rem !important;
|
|
166
164
|
}
|
|
165
|
+
@media (max-width: 450px) {
|
|
166
|
+
width: $octopus-mobile-item-size;
|
|
167
|
+
height: 18.8rem;
|
|
168
|
+
.description-podcast-item{
|
|
169
|
+
height: $octopus-mobile-item-size;
|
|
170
|
+
width: $octopus-mobile-item-size;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
167
173
|
}
|
|
168
174
|
}
|
|
169
175
|
</style>
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="
|
|
3
|
-
|
|
4
|
-
{{ date }}
|
|
5
|
-
</div>
|
|
6
|
-
<div
|
|
7
|
-
v-if="0 !== durationString.length"
|
|
8
|
-
class="h6"
|
|
9
|
-
>
|
|
10
|
-
{{ durationString }}
|
|
11
|
-
</div>
|
|
2
|
+
<div class="text-secondary h6 ms-2">
|
|
3
|
+
{{ date }}
|
|
12
4
|
</div>
|
|
13
|
-
<AnimatorsItem
|
|
14
|
-
v-if="animators && 0!==animators.length"
|
|
15
|
-
:animator="animators[0]"
|
|
16
|
-
/>
|
|
17
5
|
<router-link
|
|
18
6
|
:to="{
|
|
19
7
|
name: 'podcast',
|
|
@@ -29,11 +17,17 @@
|
|
|
29
17
|
:duration="duration"
|
|
30
18
|
class="mx-2"
|
|
31
19
|
/>
|
|
32
|
-
|
|
20
|
+
|
|
21
|
+
<div class="mx-2 d-flex align-items-center justify-content-between mt-2">
|
|
33
22
|
<div
|
|
34
23
|
v-if="isPodcastmaker"
|
|
35
24
|
class="useless-div-for-podcastmaker"
|
|
36
25
|
/>
|
|
26
|
+
<AnimatorsItem
|
|
27
|
+
v-if="animators && 0!==animators.length"
|
|
28
|
+
class="w-0 flex-grow-1"
|
|
29
|
+
:animator="animators[0]"
|
|
30
|
+
/>
|
|
37
31
|
<router-link
|
|
38
32
|
v-if="!isPodcastmaker"
|
|
39
33
|
:to="{
|
|
@@ -43,7 +37,7 @@
|
|
|
43
37
|
}"
|
|
44
38
|
class="text-dark producer-podcast-item"
|
|
45
39
|
>
|
|
46
|
-
{{ '© ' +
|
|
40
|
+
{{ '© ' + orgaNameDisplay }}
|
|
47
41
|
</router-link>
|
|
48
42
|
</div>
|
|
49
43
|
</template>
|
|
@@ -53,8 +47,6 @@ import AnimatorsItem from './AnimatorsItem.vue';
|
|
|
53
47
|
import { state } from '../../../stores/ParamSdkStore';
|
|
54
48
|
import { orgaComputed } from '../../mixins/orgaComputed';
|
|
55
49
|
import dayjs from 'dayjs';
|
|
56
|
-
// @ts-ignore
|
|
57
|
-
import humanizeDuration from 'humanize-duration';
|
|
58
50
|
import PodcastPlayBar from './PodcastPlayBar.vue';
|
|
59
51
|
import { defineComponent } from 'vue'
|
|
60
52
|
import { Participant } from '@/stores/class/general/participant';
|
|
@@ -89,40 +81,12 @@ export default defineComponent({
|
|
|
89
81
|
return (true===this.authenticated && this.myOrganisationId === this.podcastOrganisationId) ||
|
|
90
82
|
true===state.generalParameters.isAdmin
|
|
91
83
|
},
|
|
92
|
-
|
|
93
|
-
if
|
|
94
|
-
|
|
95
|
-
return humanizeDuration(this.duration, {
|
|
96
|
-
language: 'short',
|
|
97
|
-
largest: 1,
|
|
98
|
-
round: true,
|
|
99
|
-
languages: {
|
|
100
|
-
short: {
|
|
101
|
-
y: () => 'years',
|
|
102
|
-
mo: () => 'months',
|
|
103
|
-
w: () => 'weeks',
|
|
104
|
-
d: () => 'days',
|
|
105
|
-
h: () => 'h',
|
|
106
|
-
m: () => 'min',
|
|
107
|
-
s: () => 'sec',
|
|
108
|
-
ms: () => 'ms',
|
|
109
|
-
},
|
|
110
|
-
},
|
|
111
|
-
});
|
|
84
|
+
orgaNameDisplay():string{
|
|
85
|
+
if(this.podcastOrganisationName.length > 30){
|
|
86
|
+
return this.podcastOrganisationName.substring(0, 30) + '...';
|
|
112
87
|
}
|
|
113
|
-
return
|
|
114
|
-
|
|
115
|
-
largest: 2,
|
|
116
|
-
round: true,
|
|
117
|
-
languages: {
|
|
118
|
-
short: {
|
|
119
|
-
m: () => 'min',
|
|
120
|
-
s: () => 'sec',
|
|
121
|
-
ms: () => 'ms',
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
});
|
|
125
|
-
},
|
|
88
|
+
return this.podcastOrganisationName;
|
|
89
|
+
}
|
|
126
90
|
},
|
|
127
91
|
})
|
|
128
92
|
</script>
|
|
@@ -130,12 +94,12 @@ export default defineComponent({
|
|
|
130
94
|
<style lang="scss">
|
|
131
95
|
.octopus-app{
|
|
132
96
|
.title-podcast-item {
|
|
133
|
-
font-weight:
|
|
97
|
+
font-weight: 400;
|
|
134
98
|
margin: 0.25rem 0.5rem 0.5rem;
|
|
135
99
|
overflow: hidden;
|
|
136
100
|
display: -webkit-box;
|
|
137
101
|
flex-grow: 1;
|
|
138
|
-
font-size: 0.
|
|
102
|
+
font-size: 0.9rem;
|
|
139
103
|
-webkit-line-clamp: 3;
|
|
140
104
|
-webkit-box-orient: vertical;
|
|
141
105
|
min-height: 3rem;
|
|
@@ -144,10 +108,9 @@ export default defineComponent({
|
|
|
144
108
|
}
|
|
145
109
|
|
|
146
110
|
.producer-podcast-item {
|
|
147
|
-
margin: 0.2rem 0.5rem 0.5rem;
|
|
148
111
|
font-size: 0.55rem;
|
|
149
112
|
color: #666;
|
|
150
|
-
|
|
113
|
+
flex-shrink: 0;
|
|
151
114
|
}
|
|
152
115
|
}
|
|
153
116
|
</style>
|