@saooti/octopus-sdk 36.0.2 → 36.0.3
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 +10 -7
- 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 +52 -25
- 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 +75 -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
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="page-box">
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<div class="
|
|
3
|
+
<template v-if="loaded && !error" >
|
|
4
|
+
<div class="page-element-title-container">
|
|
5
|
+
<div class="page-element-title">
|
|
6
|
+
<h1>{{ $t('Emission') }}</h1>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="page-element-bg" :style="backgroundDisplay"></div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="d-flex flex-column page-element">
|
|
11
|
+
<div class="module-box">
|
|
12
|
+
<div class="mb-5 descriptionText">
|
|
13
|
+
<img
|
|
14
|
+
v-lazy="proxyImageUrl(imageUrl, '330')"
|
|
15
|
+
width="330"
|
|
16
|
+
height="330"
|
|
17
|
+
:alt="$t('Emission name image', { name: name })"
|
|
18
|
+
class="img-box float-start me-3 mb-3"
|
|
19
|
+
>
|
|
20
|
+
<h2>{{ name }}</h2>
|
|
21
|
+
<!-- eslint-disable vue/no-v-html -->
|
|
22
|
+
<p
|
|
23
|
+
class="html-wysiwyg-content"
|
|
24
|
+
v-html="urlify(description)"
|
|
25
|
+
/>
|
|
26
|
+
<!-- eslint-enable -->
|
|
27
|
+
</div>
|
|
9
28
|
<EditBox
|
|
10
29
|
v-if="editRight && pageParameters.isEditBox"
|
|
11
30
|
:emission="emission"
|
|
@@ -13,67 +32,44 @@
|
|
|
13
32
|
:ftp-emission="ftpEmission"
|
|
14
33
|
@isUpdated="getEmissionDetails"
|
|
15
34
|
/>
|
|
16
|
-
<div class="module-box">
|
|
17
|
-
<h2>
|
|
18
|
-
{{ name }}
|
|
19
|
-
</h2>
|
|
20
|
-
<div class="mb-5 mt-3 descriptionText">
|
|
21
|
-
<img
|
|
22
|
-
v-lazy="proxyImageUrl(imageUrl, '260')"
|
|
23
|
-
width="260"
|
|
24
|
-
height="260"
|
|
25
|
-
:alt="$t('Emission name image', { name: name })"
|
|
26
|
-
class="img-box shadow-element float-start me-3 mb-3"
|
|
27
|
-
>
|
|
28
|
-
<!-- eslint-disable vue/no-v-html -->
|
|
29
|
-
<p
|
|
30
|
-
class="html-wysiwyg-content"
|
|
31
|
-
v-html="urlify(description)"
|
|
32
|
-
/>
|
|
33
|
-
<!-- eslint-enable -->
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
<SubscribeButtons
|
|
37
|
-
v-if="pageParameters.isShareButtons && countLink >= 1"
|
|
38
|
-
:emission="emission"
|
|
39
|
-
/>
|
|
40
35
|
</div>
|
|
41
|
-
<
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
:is-education="isEducation"
|
|
49
|
-
/>
|
|
50
|
-
<ShareButtons
|
|
51
|
-
v-if="pageParameters.isShareButtons"
|
|
52
|
-
:emission="emission"
|
|
53
|
-
:is-vertical="!authenticated && !notExclusive"
|
|
54
|
-
/>
|
|
55
|
-
</div>
|
|
56
|
-
</div>
|
|
57
|
-
<div v-if="editRight">
|
|
58
|
-
<ShareDistribution
|
|
59
|
-
v-if="pageParameters.isShareDistribution"
|
|
60
|
-
:emission-id="emissionId"
|
|
36
|
+
<SharePlayer
|
|
37
|
+
v-if="pageParameters.isSharePlayer && (authenticated || notExclusive)"
|
|
38
|
+
:emission="emission"
|
|
39
|
+
:exclusive="exclusive"
|
|
40
|
+
:not-exclusive="notExclusive"
|
|
41
|
+
:organisation-id="myOrganisationId"
|
|
42
|
+
:is-education="isEducation"
|
|
61
43
|
/>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
44
|
+
<ShareButtons
|
|
45
|
+
v-if="pageParameters.isShareButtons"
|
|
46
|
+
:emission="emission"
|
|
47
|
+
/>
|
|
48
|
+
<SubscribeButtons
|
|
49
|
+
v-if="pageParameters.isShareButtons && countLink >= 1"
|
|
50
|
+
:emission="emission"
|
|
67
51
|
/>
|
|
68
|
-
<
|
|
69
|
-
|
|
52
|
+
<ShareDistribution
|
|
53
|
+
v-if="editRight && pageParameters.isShareDistribution"
|
|
70
54
|
:emission-id="emissionId"
|
|
71
|
-
:category-filter="false"
|
|
72
|
-
:edit-right="editRight"
|
|
73
|
-
:productor-id="emission.orga.id"
|
|
74
55
|
/>
|
|
75
|
-
|
|
76
|
-
|
|
56
|
+
<template v-if="pageParameters.isDisplayPodcasts">
|
|
57
|
+
<LiveHorizontalList
|
|
58
|
+
v-if="!isPodcastmaker"
|
|
59
|
+
class="mx-2"
|
|
60
|
+
:emission-id="emissionId"
|
|
61
|
+
/>
|
|
62
|
+
<PodcastFilterList
|
|
63
|
+
class="mx-2"
|
|
64
|
+
:show-count="true"
|
|
65
|
+
:emission-id="emissionId"
|
|
66
|
+
:category-filter="false"
|
|
67
|
+
:edit-right="editRight"
|
|
68
|
+
:productor-id="emission.orga.id"
|
|
69
|
+
/>
|
|
70
|
+
</template>
|
|
71
|
+
</div>
|
|
72
|
+
</template>
|
|
77
73
|
<ClassicLoading
|
|
78
74
|
:loading-text="!loaded?$t('Loading content ...'):undefined"
|
|
79
75
|
:error-text="error?$t(`Emission doesn't exist`):undefined"
|
|
@@ -169,6 +165,12 @@ export default defineComponent({
|
|
|
169
165
|
}
|
|
170
166
|
return count;
|
|
171
167
|
},
|
|
168
|
+
backgroundDisplay():string{
|
|
169
|
+
if(!this.emission){
|
|
170
|
+
return "";
|
|
171
|
+
}
|
|
172
|
+
return `background-image: url('${this.emission.imageUrl}');`;
|
|
173
|
+
},
|
|
172
174
|
},
|
|
173
175
|
watch: {
|
|
174
176
|
emissionId: {
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="page-box">
|
|
3
|
-
<h1>{{ titleDisplay }}</h1>
|
|
4
3
|
<ProductorSearch
|
|
5
|
-
v-if="isProductorSearch"
|
|
6
4
|
v-model:organisationId="organisationId"
|
|
7
5
|
v-model:search-pattern="searchPattern"
|
|
8
6
|
type="emission"
|
|
@@ -11,7 +9,6 @@
|
|
|
11
9
|
:is-education="isEducation"
|
|
12
10
|
:reset-rubriquage="resetRubriquage"
|
|
13
11
|
:is-emission="true"
|
|
14
|
-
:is-search-bar="isProductorSearch"
|
|
15
12
|
:sort-criteria="sortEmission"
|
|
16
13
|
:organisation-id="organisationId"
|
|
17
14
|
:include-hidden="includeHidden"
|
|
@@ -85,12 +82,6 @@ export default defineComponent({
|
|
|
85
82
|
|
|
86
83
|
computed: {
|
|
87
84
|
...mapState(useFilterStore, ['filterIab', 'filterRubrique']),
|
|
88
|
-
titleDisplay(): string{
|
|
89
|
-
return state.emissionsPage.titlePage??this.$t('All emissions');
|
|
90
|
-
},
|
|
91
|
-
isProductorSearch(): boolean{
|
|
92
|
-
return (state.podcastsPage.ProductorSearch as boolean);
|
|
93
|
-
},
|
|
94
85
|
organisationRight(): boolean {
|
|
95
86
|
return (true===this.authenticated && this.myOrganisationId === this.organisationId) ||
|
|
96
87
|
true===state.generalParameters.isAdmin
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
height="200"
|
|
16
16
|
:title="$t('Animator image')"
|
|
17
17
|
:alt="$t('Animator image')"
|
|
18
|
-
class="img-box
|
|
18
|
+
class="img-box mb-3"
|
|
19
19
|
>
|
|
20
20
|
<h2 class="text-capitalize">
|
|
21
21
|
{{ name }}
|
|
@@ -26,20 +26,18 @@
|
|
|
26
26
|
v-html="urlify(description)"
|
|
27
27
|
/>
|
|
28
28
|
<!-- eslint-enable -->
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/>
|
|
42
|
-
</div>
|
|
29
|
+
<EditBox
|
|
30
|
+
v-if="editRight && pageParameters.isEditBox"
|
|
31
|
+
:participant="participant"
|
|
32
|
+
class="w-100"
|
|
33
|
+
@participantUpdate="updateParticipant"
|
|
34
|
+
/>
|
|
35
|
+
<ShareButtons
|
|
36
|
+
v-if="pageParameters.isShareButtons"
|
|
37
|
+
class="w-100"
|
|
38
|
+
:participant-id="participantId"
|
|
39
|
+
:organisation-id="participant.orga.id"
|
|
40
|
+
/>
|
|
43
41
|
</div>
|
|
44
42
|
<PodcastFilterList
|
|
45
43
|
v-if="!pageParameters.lightStyle"
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="page-box">
|
|
3
|
-
<h1>{{ titleDisplay }}</h1>
|
|
4
3
|
<ProductorSearch
|
|
5
4
|
v-model:organisation-id="organisationId"
|
|
6
5
|
v-model:search-pattern="searchPattern"
|
|
@@ -20,7 +19,6 @@
|
|
|
20
19
|
import { orgaComputed } from '../mixins/orgaComputed';
|
|
21
20
|
import ParticipantList from '../display/participant/ParticipantList.vue';
|
|
22
21
|
import ProductorSearch from '../display/filter/ProductorSearch.vue';
|
|
23
|
-
import { state } from '../../stores/ParamSdkStore';
|
|
24
22
|
import { defineComponent } from 'vue'
|
|
25
23
|
export default defineComponent({
|
|
26
24
|
components: {
|
|
@@ -39,11 +37,6 @@ export default defineComponent({
|
|
|
39
37
|
organisationId: undefined as string | undefined,
|
|
40
38
|
};
|
|
41
39
|
},
|
|
42
|
-
computed: {
|
|
43
|
-
titleDisplay(): string{
|
|
44
|
-
return state.intervenantsPage.titlePage ?? this.$t('All participants');
|
|
45
|
-
},
|
|
46
|
-
},
|
|
47
40
|
created() {
|
|
48
41
|
this.organisationId = this.productor ?this.productor: this.filterOrgaId;
|
|
49
42
|
},
|
|
@@ -1,50 +1,50 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="page-box">
|
|
3
|
-
<
|
|
3
|
+
<template
|
|
4
4
|
v-if="loaded && !error"
|
|
5
5
|
>
|
|
6
|
-
<
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
6
|
+
<div class="page-element-title-container">
|
|
7
|
+
<div class="page-element-title">
|
|
8
|
+
<h1>{{ $t('Playlist') }}</h1>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="page-element-bg" :style="backgroundDisplay"></div>
|
|
11
|
+
</div>
|
|
12
|
+
<div class="d-flex flex-column page-element">
|
|
13
|
+
<div class="module-box">
|
|
14
|
+
<div class="mb-5 mt-3 descriptionText">
|
|
15
|
+
<img
|
|
16
|
+
v-lazy="proxyImageUrl(imageUrl, '330')"
|
|
17
|
+
width="330"
|
|
18
|
+
height="330"
|
|
19
|
+
:alt="$t('Playlist name image', { name: name })"
|
|
20
|
+
class="img-box float-start me-3 mb-3"
|
|
21
|
+
>
|
|
14
22
|
<h2>{{ name }}</h2>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class="img-box shadow-element float-start me-3 mb-3"
|
|
22
|
-
>
|
|
23
|
-
<!-- eslint-disable vue/no-v-html -->
|
|
24
|
-
<p
|
|
25
|
-
class="html-wysiwyg-content"
|
|
26
|
-
v-html="urlify(description)"
|
|
27
|
-
/>
|
|
28
|
-
<!-- eslint-enable -->
|
|
29
|
-
</div>
|
|
23
|
+
<!-- eslint-disable vue/no-v-html -->
|
|
24
|
+
<p
|
|
25
|
+
class="html-wysiwyg-content"
|
|
26
|
+
v-html="urlify(description)"
|
|
27
|
+
/>
|
|
28
|
+
<!-- eslint-enable -->
|
|
30
29
|
</div>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<SharePlayer
|
|
34
|
-
v-if="pageParameters.isSharePlayer && authenticated"
|
|
35
|
-
:playlist="playlist"
|
|
36
|
-
:organisation-id="myOrganisationId"
|
|
37
|
-
:is-education="isEducation"
|
|
38
|
-
/>
|
|
39
|
-
<ShareButtons
|
|
40
|
-
v-if="pageParameters.isShareButtons"
|
|
30
|
+
<EditBox
|
|
31
|
+
v-if="editRight && pageParameters.isEditBox"
|
|
41
32
|
:playlist="playlist"
|
|
42
|
-
:is-vertical="!(pageParameters.isSharePlayer && authenticated)"
|
|
43
33
|
/>
|
|
44
34
|
</div>
|
|
35
|
+
<SharePlayer
|
|
36
|
+
v-if="pageParameters.isSharePlayer && authenticated"
|
|
37
|
+
:playlist="playlist"
|
|
38
|
+
:organisation-id="myOrganisationId"
|
|
39
|
+
:is-education="isEducation"
|
|
40
|
+
/>
|
|
41
|
+
<ShareButtons
|
|
42
|
+
v-if="pageParameters.isShareButtons"
|
|
43
|
+
:playlist="playlist"
|
|
44
|
+
/>
|
|
45
|
+
<PodcastList :playlist="playlist" />
|
|
45
46
|
</div>
|
|
46
|
-
|
|
47
|
-
</div>
|
|
47
|
+
</template>
|
|
48
48
|
<ClassicLoading
|
|
49
49
|
:loading-text="!loaded?$t('Loading content ...'):undefined"
|
|
50
50
|
:error-text="error?$t(`Playlist doesn't exist`):undefined"
|
|
@@ -112,6 +112,12 @@ export default defineComponent({
|
|
|
112
112
|
this.myOrganisationId === this.playlist?.organisation?.id) ||
|
|
113
113
|
true ===state.generalParameters.isAdmin
|
|
114
114
|
},
|
|
115
|
+
backgroundDisplay():string{
|
|
116
|
+
if(!this.playlist){
|
|
117
|
+
return "";
|
|
118
|
+
}
|
|
119
|
+
return `background-image: url('${this.playlist.imageUrl}');`;
|
|
120
|
+
},
|
|
115
121
|
},
|
|
116
122
|
watch: {
|
|
117
123
|
playlistId: {
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="page-box">
|
|
3
|
-
<h1>{{ $t('All playlists') }}</h1>
|
|
4
3
|
<router-link
|
|
5
4
|
v-if="editRight && !isPodcastmaker"
|
|
6
5
|
to="/main/priv/edit/playlist"
|
|
@@ -11,7 +10,6 @@
|
|
|
11
10
|
</div>
|
|
12
11
|
</router-link>
|
|
13
12
|
<ProductorSearch
|
|
14
|
-
v-if="isProductorSearch"
|
|
15
13
|
v-model:organisationId="organisationId"
|
|
16
14
|
v-model:search-pattern="searchPattern"
|
|
17
15
|
type="playlist"
|
|
@@ -52,9 +50,6 @@ export default defineComponent({
|
|
|
52
50
|
},
|
|
53
51
|
|
|
54
52
|
computed: {
|
|
55
|
-
isProductorSearch(): boolean {
|
|
56
|
-
return (state.podcastsPage.ProductorSearch as boolean);
|
|
57
|
-
},
|
|
58
53
|
isPodcastmaker(): boolean {
|
|
59
54
|
return (state.generalParameters.podcastmaker as boolean);
|
|
60
55
|
},
|
|
@@ -1,88 +1,66 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="page-box">
|
|
3
3
|
<template v-if="loaded && !error">
|
|
4
|
-
<div class="page-
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
</div>
|
|
11
|
-
<div class="d-flex page-podcast">
|
|
12
|
-
<div class="d-flex flex-column flex-super-grow">
|
|
13
|
-
<RecordingItemButton
|
|
14
|
-
v-if="
|
|
15
|
-
!!fetchConference &&
|
|
16
|
-
isLiveReadyToRecord &&
|
|
17
|
-
!isNotRecorded &&
|
|
18
|
-
isOctopusAndAnimator
|
|
19
|
-
"
|
|
20
|
-
class="module-box text-center-mobile flex-grow-0"
|
|
21
|
-
:podcast="podcast"
|
|
22
|
-
:live="true"
|
|
23
|
-
:recording="fetchConference"
|
|
24
|
-
@deleteItem="removeDeleted"
|
|
25
|
-
@validatePodcast="updatePodcast"
|
|
26
|
-
/>
|
|
27
|
-
<EditBox
|
|
28
|
-
v-else-if="editRight && pageParameters.isEditBox"
|
|
29
|
-
:podcast="podcast"
|
|
30
|
-
@validatePodcast="updatePodcast"
|
|
31
|
-
/>
|
|
32
|
-
<PodcastModuleBox
|
|
33
|
-
:playing-podcast="playingPodcast"
|
|
34
|
-
:podcast="podcast"
|
|
35
|
-
:fetch-conference="fetchConference"
|
|
36
|
-
/>
|
|
37
|
-
<SubscribeButtons
|
|
38
|
-
v-if="pageParameters.isShareButtons && countLink >= 1"
|
|
39
|
-
:emission="podcast.emission"
|
|
40
|
-
/>
|
|
41
|
-
</div>
|
|
42
|
-
<div
|
|
43
|
-
class="d-flex flex-column flex-grow-mobile"
|
|
44
|
-
>
|
|
45
|
-
<SharePlayer
|
|
46
|
-
v-if="pageParameters.isSharePlayer && (authenticated || notExclusive)"
|
|
47
|
-
:podcast="podcast"
|
|
48
|
-
:emission="podcast.emission"
|
|
49
|
-
:exclusive="exclusive"
|
|
50
|
-
:not-exclusive="notExclusive"
|
|
51
|
-
:organisation-id="myOrganisationId"
|
|
52
|
-
:is-education="isEducation"
|
|
53
|
-
/>
|
|
54
|
-
<ShareButtons
|
|
55
|
-
v-if="pageParameters.isShareButtons"
|
|
56
|
-
:podcast="podcast"
|
|
57
|
-
:is-vertical="!authenticated && !notExclusive"
|
|
4
|
+
<div class="page-element-title-container">
|
|
5
|
+
<div class="page-element-title">
|
|
6
|
+
<h1>{{ titlePage }}</h1>
|
|
7
|
+
<Countdown
|
|
8
|
+
v-if="isCounter"
|
|
9
|
+
:time-remaining="timeRemaining"
|
|
58
10
|
/>
|
|
59
11
|
</div>
|
|
12
|
+
<div class="page-element-bg" :style="backgroundDisplay"></div>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="d-flex flex-column page-element">
|
|
15
|
+
<PodcastModuleBox
|
|
16
|
+
:playing-podcast="playingPodcast"
|
|
17
|
+
:podcast="podcast"
|
|
18
|
+
:fetch-conference="fetchConference"
|
|
19
|
+
@updatePodcast="updatePodcast"
|
|
20
|
+
/>
|
|
21
|
+
<SharePlayer
|
|
22
|
+
v-if="pageParameters.isSharePlayer && (authenticated || notExclusive)"
|
|
23
|
+
:podcast="podcast"
|
|
24
|
+
:emission="podcast.emission"
|
|
25
|
+
:exclusive="exclusive"
|
|
26
|
+
:not-exclusive="notExclusive"
|
|
27
|
+
:organisation-id="myOrganisationId"
|
|
28
|
+
:is-education="isEducation"
|
|
29
|
+
/>
|
|
30
|
+
<ShareButtons
|
|
31
|
+
v-if="pageParameters.isShareButtons"
|
|
32
|
+
:podcast="podcast"
|
|
33
|
+
/>
|
|
34
|
+
<SubscribeButtons
|
|
35
|
+
v-if="pageParameters.isShareButtons && countLink >= 1"
|
|
36
|
+
:emission="podcast.emission"
|
|
37
|
+
/>
|
|
38
|
+
<CommentSection
|
|
39
|
+
v-if="!isPodcastmaker"
|
|
40
|
+
ref="commentSection"
|
|
41
|
+
:podcast="podcast"
|
|
42
|
+
:fetch-conference="fetchConference"
|
|
43
|
+
/>
|
|
44
|
+
<PodcastInlineList
|
|
45
|
+
class="mt-4"
|
|
46
|
+
:emission-id="podcast.emission.emissionId"
|
|
47
|
+
:href="'/main/pub/emission/' + podcast.emission.emissionId"
|
|
48
|
+
:title="$t('More episodes of this emission')"
|
|
49
|
+
:button-text="$t('All podcast emission button')"
|
|
50
|
+
/>
|
|
51
|
+
<PodcastInlineList
|
|
52
|
+
:podcast-id="podcastId"
|
|
53
|
+
:title="$t('Suggested listening')"
|
|
54
|
+
/>
|
|
55
|
+
<PodcastInlineList
|
|
56
|
+
v-for="c in categories"
|
|
57
|
+
:key="c.id"
|
|
58
|
+
:iab-id="c.id"
|
|
59
|
+
:href="'/main/pub/category/' + c.id"
|
|
60
|
+
:title="$t('More episodes of this category : ', { name: c.name })"
|
|
61
|
+
:button-text="$t('All podcast button', { name: c.name })"
|
|
62
|
+
/>
|
|
60
63
|
</div>
|
|
61
|
-
<CommentSection
|
|
62
|
-
v-if="!isPodcastmaker"
|
|
63
|
-
ref="commentSection"
|
|
64
|
-
:podcast="podcast"
|
|
65
|
-
:fetch-conference="fetchConference"
|
|
66
|
-
/>
|
|
67
|
-
<PodcastInlineList
|
|
68
|
-
class="mt-4"
|
|
69
|
-
:emission-id="podcast.emission.emissionId"
|
|
70
|
-
:href="'/main/pub/emission/' + podcast.emission.emissionId"
|
|
71
|
-
:title="$t('More episodes of this emission')"
|
|
72
|
-
:button-text="$t('All podcast emission button')"
|
|
73
|
-
/>
|
|
74
|
-
<PodcastInlineList
|
|
75
|
-
:podcast-id="podcastId"
|
|
76
|
-
:title="$t('Suggested listening')"
|
|
77
|
-
/>
|
|
78
|
-
<PodcastInlineList
|
|
79
|
-
v-for="c in categories"
|
|
80
|
-
:key="c.id"
|
|
81
|
-
:iab-id="c.id"
|
|
82
|
-
:href="'/main/pub/category/' + c.id"
|
|
83
|
-
:title="$t('More episodes of this category : ', { name: c.name })"
|
|
84
|
-
:button-text="$t('All podcast button', { name: c.name })"
|
|
85
|
-
/>
|
|
86
64
|
</template>
|
|
87
65
|
<ClassicLoading
|
|
88
66
|
:loading-text="!loaded?$t('Loading content ...'):undefined"
|
|
@@ -104,7 +82,6 @@ import { Podcast } from '@/stores/class/general/podcast';
|
|
|
104
82
|
import { Conference } from '@/stores/class/conference/conference';
|
|
105
83
|
import { handle403 } from '../mixins/handle403';
|
|
106
84
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
107
|
-
import CommentSectionVue from '../display/comments/CommentSection.vue';
|
|
108
85
|
import { CommentPodcast } from '@/stores/class/general/comment';
|
|
109
86
|
import { Category } from '@/stores/class/general/category';
|
|
110
87
|
import { useGeneralStore } from '@/stores/GeneralStore';
|
|
@@ -112,9 +89,7 @@ import { mapState } from 'pinia';
|
|
|
112
89
|
import { AxiosError } from 'axios';
|
|
113
90
|
const ShareButtons = defineAsyncComponent(() => import('../display/sharing/ShareButtons.vue'));
|
|
114
91
|
const SharePlayer = defineAsyncComponent(() => import('../display/sharing/SharePlayer.vue'));
|
|
115
|
-
const EditBox = defineAsyncComponent(() => import('@/components/display/edit/EditBox.vue'));
|
|
116
92
|
const SubscribeButtons = defineAsyncComponent(() => import('../display/sharing/SubscribeButtons.vue'));
|
|
117
|
-
const RecordingItemButton = defineAsyncComponent(() => import('@/components/display/studio/RecordingItemButton.vue'));
|
|
118
93
|
const Countdown = defineAsyncComponent(() => import('../display/live/CountDown.vue'));
|
|
119
94
|
const CommentSection = defineAsyncComponent(() => import('../display/comments/CommentSection.vue'));
|
|
120
95
|
export default defineComponent({
|
|
@@ -123,9 +98,7 @@ export default defineComponent({
|
|
|
123
98
|
PodcastInlineList,
|
|
124
99
|
ShareButtons,
|
|
125
100
|
SharePlayer,
|
|
126
|
-
EditBox,
|
|
127
101
|
SubscribeButtons,
|
|
128
|
-
RecordingItemButton,
|
|
129
102
|
Countdown,
|
|
130
103
|
CommentSection,
|
|
131
104
|
PodcastModuleBox,
|
|
@@ -156,12 +129,17 @@ export default defineComponent({
|
|
|
156
129
|
|
|
157
130
|
computed: {
|
|
158
131
|
...mapState(useGeneralStore, ['storedCategories']),
|
|
132
|
+
backgroundDisplay():string{
|
|
133
|
+
if(!this.podcast){
|
|
134
|
+
return "";
|
|
135
|
+
}
|
|
136
|
+
return `background-image: url('${this.podcast.imageUrl}');`;
|
|
137
|
+
},
|
|
159
138
|
isPodcastmaker(): boolean {
|
|
160
139
|
return (state.generalParameters.podcastmaker as boolean);
|
|
161
140
|
},
|
|
162
141
|
pageParameters(){
|
|
163
142
|
return {
|
|
164
|
-
isEditBox : (state.podcastPage.EditBox as boolean),
|
|
165
143
|
isShareButtons: (state.podcastPage.ShareButtons as boolean),
|
|
166
144
|
isSharePlayer: (state.podcastPage.SharePlayer as boolean),
|
|
167
145
|
};
|
|
@@ -212,13 +190,6 @@ export default defineComponent({
|
|
|
212
190
|
'PENDING' === this.fetchConference.status)
|
|
213
191
|
);
|
|
214
192
|
},
|
|
215
|
-
isNotRecorded(): boolean {
|
|
216
|
-
return (
|
|
217
|
-
this.isLiveReadyToRecord &&
|
|
218
|
-
undefined!==this.fetchConference &&
|
|
219
|
-
'DEBRIEFING' === this.fetchConference.status
|
|
220
|
-
);
|
|
221
|
-
},
|
|
222
193
|
isOctopusAndAnimator(): boolean {
|
|
223
194
|
return (
|
|
224
195
|
!this.isPodcastmaker &&
|
|
@@ -317,15 +288,9 @@ export default defineComponent({
|
|
|
317
288
|
this.initError();
|
|
318
289
|
}
|
|
319
290
|
},
|
|
320
|
-
|
|
321
|
-
if (window.history.length > 1) {
|
|
322
|
-
this.$router.go(-1);
|
|
323
|
-
} else {
|
|
324
|
-
this.$router.push('/');
|
|
325
|
-
}
|
|
326
|
-
},
|
|
291
|
+
|
|
327
292
|
receiveCommentEvent(event:{type: string; comment: CommentPodcast; oldStatus?:string } ): void {
|
|
328
|
-
(this.$refs.commentSection as InstanceType<typeof
|
|
293
|
+
(this.$refs.commentSection as InstanceType<typeof CommentSection>).receiveCommentEvent(event);
|
|
329
294
|
},
|
|
330
295
|
},
|
|
331
296
|
})
|