@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,24 +1,26 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div>
|
|
3
|
-
<div class="
|
|
4
|
-
<
|
|
5
|
-
<
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
<div class="module-box overflow-visible">
|
|
3
|
+
<div class="d-flex justify-content-between align-items-center">
|
|
4
|
+
<h2 class="big-h2 mb-3 height-40">{{ $t('Embed') }}</h2>
|
|
5
|
+
<div
|
|
6
|
+
v-if="noAd && !isEducation"
|
|
7
|
+
class="sticker"
|
|
8
|
+
:title="$t('You cannot insert advertising')"
|
|
9
|
+
>
|
|
10
|
+
{{ $t('No advertising') }}
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
<template v-if="!exclusive && (authenticated || notExclusive)">
|
|
14
|
+
<div class="d-flex">
|
|
15
|
+
<iframe
|
|
16
|
+
id="miniplayerIframe"
|
|
17
|
+
title="miniplayer"
|
|
18
|
+
:src="iFrameSrc"
|
|
19
|
+
width="100%"
|
|
20
|
+
:height="iFrameHeight"
|
|
21
|
+
class="max-iframe mx-3"
|
|
22
|
+
/>
|
|
23
|
+
<div class="d-flex flex-column flex-grow-1">
|
|
22
24
|
<SharePlayerTypes
|
|
23
25
|
v-if="!isLiveReadyToRecord"
|
|
24
26
|
v-model:iFrameModel="iFrameModel"
|
|
@@ -37,44 +39,42 @@
|
|
|
37
39
|
id-checkbox="is-visible-checkbox"
|
|
38
40
|
:label="titleStillAvailable"
|
|
39
41
|
/>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
42
|
+
<PlayerParameters
|
|
43
|
+
v-if="isPlayerParameter"
|
|
44
|
+
:is-visible="isVisible"
|
|
45
|
+
:chose-number-episode="displayChoiceAllEpisodes|| isLargeSuggestion"
|
|
46
|
+
:display-choice-all-episodes="displayChoiceAllEpisodes"
|
|
47
|
+
:display-transcript-param="displayTranscriptParam"
|
|
48
|
+
:display-article-param="displayArticleParam"
|
|
49
|
+
@displayArticle="displayArticle = $event"
|
|
50
|
+
@displayTranscript="displayTranscript = $event"
|
|
51
|
+
@episodeNumbers="episodeNumbers = $event"
|
|
52
|
+
@proceedReading="proceedReading = $event"
|
|
53
|
+
@isVisible="isVisible = $event"
|
|
54
|
+
@iFrameNumber="iFrameNumber = $event"
|
|
55
|
+
/>
|
|
56
|
+
<ShareModalPlayer
|
|
57
|
+
v-if="isShareModal"
|
|
58
|
+
:embed-link="iFrame"
|
|
59
|
+
:embedly-link="iFrameSrc"
|
|
60
|
+
:direct-link="podcast"
|
|
61
|
+
@close="isShareModal = false"
|
|
62
|
+
/>
|
|
56
63
|
<button
|
|
57
|
-
class="btn btn-primary
|
|
64
|
+
class="btn btn-primary width-fit-content mt-3"
|
|
58
65
|
@click="isShareModal = true"
|
|
59
66
|
>
|
|
60
67
|
{{ $t('Share the player') }}
|
|
61
68
|
</button>
|
|
62
69
|
</div>
|
|
63
|
-
</template>
|
|
64
|
-
<div v-else-if="exclusive && authenticated">
|
|
65
|
-
{{ $t('Only organisation members can share the content') }}
|
|
66
|
-
</div>
|
|
67
|
-
<div v-else-if="!authenticated">
|
|
68
|
-
{{ $t('Only authenticated members can share the content') }}
|
|
69
70
|
</div>
|
|
71
|
+
</template>
|
|
72
|
+
<div v-else-if="exclusive && authenticated">
|
|
73
|
+
{{ $t('Only organisation members can share the content') }}
|
|
74
|
+
</div>
|
|
75
|
+
<div v-else-if="!authenticated">
|
|
76
|
+
{{ $t('Only authenticated members can share the content') }}
|
|
70
77
|
</div>
|
|
71
|
-
<ShareModalPlayer
|
|
72
|
-
v-if="isShareModal"
|
|
73
|
-
:embed-link="iFrame"
|
|
74
|
-
:embedly-link="iFrameSrc"
|
|
75
|
-
:direct-link="podcast"
|
|
76
|
-
@close="isShareModal = false"
|
|
77
|
-
/>
|
|
78
78
|
</div>
|
|
79
79
|
</template>
|
|
80
80
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="d-flex
|
|
3
|
-
<div class="d-flex flex-column align-items-center flex-shrink-0 me-
|
|
4
|
-
<div>{{ $t('Choose color') }}</div>
|
|
2
|
+
<div class="d-flex mt-3">
|
|
3
|
+
<div class="d-flex flex-column align-items-center flex-shrink-0 me-4">
|
|
4
|
+
<div class="h4 mb-2">{{ $t('Choose color') }}</div>
|
|
5
5
|
<VSwatches
|
|
6
6
|
:model-value="color"
|
|
7
7
|
class="c-hand "
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
/>
|
|
14
14
|
</div>
|
|
15
15
|
<div class="d-flex flex-column align-items-center">
|
|
16
|
-
<div>{{ $t('Choose theme') }}</div>
|
|
16
|
+
<div class="h4 mb-2">{{ $t('Choose theme') }}</div>
|
|
17
17
|
<VSwatches
|
|
18
18
|
:model-value="theme"
|
|
19
19
|
class="c-hand "
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
<label
|
|
3
|
+
for="iframe-select"
|
|
4
|
+
title="select miniplayer"
|
|
5
|
+
/>
|
|
6
|
+
<select
|
|
7
|
+
id="iframe-select"
|
|
8
|
+
:value="iFrameModel"
|
|
9
|
+
class=""
|
|
10
|
+
@change="$emit('update:iFrameModel',$event.target.value)"
|
|
11
|
+
>
|
|
12
|
+
<template
|
|
13
|
+
v-for="option in optionsSelect"
|
|
14
|
+
:key="option.value"
|
|
12
15
|
>
|
|
13
|
-
<template
|
|
14
|
-
v-for="option in optionsSelect"
|
|
15
|
-
:key="option.value"
|
|
16
|
-
>
|
|
17
|
-
<option
|
|
18
|
-
v-if="option.condition"
|
|
19
|
-
:value="option.value"
|
|
20
|
-
>
|
|
21
|
-
{{ option.name }}
|
|
22
|
-
</option>
|
|
23
|
-
</template>
|
|
24
16
|
<option
|
|
25
|
-
v-
|
|
26
|
-
:
|
|
27
|
-
:value="player.customId"
|
|
17
|
+
v-if="option.condition"
|
|
18
|
+
:value="option.value"
|
|
28
19
|
>
|
|
29
|
-
{{
|
|
20
|
+
{{ option.name }}
|
|
30
21
|
</option>
|
|
31
|
-
</
|
|
32
|
-
|
|
22
|
+
</template>
|
|
23
|
+
<option
|
|
24
|
+
v-for="player in customPlayersDisplay"
|
|
25
|
+
:key="player.customId"
|
|
26
|
+
:value="player.customId"
|
|
27
|
+
>
|
|
28
|
+
{{ $t('Custom version') + " «" +player.name+"»" }}
|
|
29
|
+
</option>
|
|
30
|
+
</select>
|
|
33
31
|
</template>
|
|
34
32
|
|
|
35
33
|
<script lang="ts">
|
|
@@ -41,11 +41,12 @@ export default defineComponent({
|
|
|
41
41
|
});
|
|
42
42
|
</script>
|
|
43
43
|
<style lang="scss">
|
|
44
|
+
@import '@scss/_variables.scss';
|
|
44
45
|
.octopus-app{
|
|
45
46
|
.champs-searchPage{
|
|
46
47
|
input {
|
|
47
48
|
border: 2px solid #dee2e6;
|
|
48
|
-
border-radius:
|
|
49
|
+
border-radius: $octopus-borderradius;
|
|
49
50
|
margin: 0 !important;
|
|
50
51
|
}
|
|
51
52
|
.saooti-search,
|
|
@@ -41,21 +41,26 @@
|
|
|
41
41
|
rel="noopener"
|
|
42
42
|
target="_blank"
|
|
43
43
|
>{{ $t('Contact') }}</a>
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
height="44"
|
|
53
|
-
class="acpm_image"
|
|
54
|
-
src="/img/ACPM.webp"
|
|
44
|
+
<div class="d-flex align-items-center">
|
|
45
|
+
<div class="hosted-by">
|
|
46
|
+
{{ $t('Hosted by') }}<span class="ms-1 me-1 text-primary">Saooti</span>
|
|
47
|
+
</div>
|
|
48
|
+
<a
|
|
49
|
+
href="https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts"
|
|
50
|
+
rel="noopener"
|
|
51
|
+
target="_blank"
|
|
55
52
|
:title="$t('Octopus is ACPM Podcast accredited')"
|
|
56
|
-
:alt="$t('Octopus is ACPM Podcast accredited')"
|
|
57
53
|
>
|
|
58
|
-
|
|
54
|
+
<img
|
|
55
|
+
width="44"
|
|
56
|
+
height="44"
|
|
57
|
+
class="acpm_image"
|
|
58
|
+
src="/img/ACPM.webp"
|
|
59
|
+
:title="$t('Octopus is ACPM Podcast accredited')"
|
|
60
|
+
:alt="$t('Octopus is ACPM Podcast accredited')"
|
|
61
|
+
>
|
|
62
|
+
</a>
|
|
63
|
+
</div>
|
|
59
64
|
</div>
|
|
60
65
|
</template>
|
|
61
66
|
|
|
@@ -143,8 +148,7 @@ export default defineComponent({
|
|
|
143
148
|
<style lang="scss">
|
|
144
149
|
.octopus-app{
|
|
145
150
|
#footer{
|
|
146
|
-
font-size: 0.
|
|
147
|
-
position: sticky;
|
|
151
|
+
font-size: 0.6rem;
|
|
148
152
|
bottom: 0;
|
|
149
153
|
z-index: 10;
|
|
150
154
|
background: white;
|
|
@@ -2,13 +2,18 @@
|
|
|
2
2
|
<div
|
|
3
3
|
class="d-flex align-items-center"
|
|
4
4
|
>
|
|
5
|
-
<
|
|
5
|
+
<router-link
|
|
6
6
|
v-if="authenticated"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
:title="$t('My space')"
|
|
8
|
+
to="/main/priv/backoffice"
|
|
9
|
+
class="btn admin-button hide-smallest-screen m-1 saooti-admin-menu"
|
|
10
|
+
/>
|
|
11
|
+
<router-link
|
|
12
|
+
v-if="isContribution"
|
|
13
|
+
:title="$t('Upload')"
|
|
14
|
+
to="/main/priv/upload"
|
|
15
|
+
class="btn admin-button hide-smallest-screen m-1 saooti-upload"
|
|
16
|
+
/>
|
|
12
17
|
<button
|
|
13
18
|
id="home-dropdown"
|
|
14
19
|
class="btn m-1 admin-button saooti-user"
|
|
@@ -112,7 +117,6 @@ export default defineComponent({
|
|
|
112
117
|
},
|
|
113
118
|
routerBackoffice(){
|
|
114
119
|
return [
|
|
115
|
-
{title:this.$t('Upload'),class:"btn btn-primary w-100", path:'/main/priv/upload', condition: (state.generalParameters.isContribution as boolean)},
|
|
116
120
|
{title:this.$t('My space'),class:"show-phone octopus-dropdown-item", path:'/main/priv/backoffice', condition: true},
|
|
117
121
|
{title:this.$t('Edit my profile'),class:"octopus-dropdown-item", path:'/main/priv/edit/profile', condition: true},
|
|
118
122
|
{title:this.$t('Edit my organisation'),class:"octopus-dropdown-item", path:'/main/priv/edit/organisation', condition: (state.generalParameters.isOrganisation as boolean) || 1<this.organisationsAvailable.length}];
|
|
@@ -124,14 +128,10 @@ export default defineComponent({
|
|
|
124
128
|
authenticated(): boolean {
|
|
125
129
|
return state.generalParameters.authenticated??false;
|
|
126
130
|
},
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
methods: {
|
|
130
|
-
goToUrl(url: string): void {
|
|
131
|
-
if (this.authenticated) {
|
|
132
|
-
this.$router.push(url);
|
|
133
|
-
}
|
|
131
|
+
isContribution(): boolean {
|
|
132
|
+
return state.generalParameters.isContribution??false;
|
|
134
133
|
},
|
|
135
134
|
},
|
|
135
|
+
|
|
136
136
|
})
|
|
137
137
|
</script>
|
|
@@ -158,10 +158,11 @@ export default defineComponent({
|
|
|
158
158
|
});
|
|
159
159
|
</script>
|
|
160
160
|
<style lang="scss">
|
|
161
|
+
@import '@scss/_variables.scss';
|
|
161
162
|
.octopus-popover{
|
|
162
163
|
background: white;
|
|
163
164
|
border: 1px solid #ccc;
|
|
164
|
-
border-radius:
|
|
165
|
+
border-radius: $octopus-borderradius;
|
|
165
166
|
position: absolute;
|
|
166
167
|
z-index: 9999;
|
|
167
168
|
&.octopus-dropdown{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
class="top-bar-container"
|
|
4
|
-
:class="{ '
|
|
4
|
+
:class="{ 'scrolled': scrolled }"
|
|
5
5
|
>
|
|
6
6
|
<router-link
|
|
7
7
|
class="top-bar-logo"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
width="auto"
|
|
26
26
|
:defaultanswer="$t('No organisation filter')"
|
|
27
27
|
:value="organisationId"
|
|
28
|
-
class="me-2"
|
|
28
|
+
class="ms-3 me-2"
|
|
29
29
|
:reset="reset"
|
|
30
30
|
@selected="onOrganisationSelected"
|
|
31
31
|
/>
|
|
@@ -40,11 +40,39 @@
|
|
|
40
40
|
name: link.routeName,
|
|
41
41
|
query: getQueriesRouter(link.routeName),
|
|
42
42
|
}"
|
|
43
|
-
class="link-hover p-3
|
|
43
|
+
class="link-hover p-3"
|
|
44
44
|
>
|
|
45
45
|
{{ link.title }}
|
|
46
46
|
</router-link>
|
|
47
47
|
</template>
|
|
48
|
+
<button id="more-dropdown" class="d-flex align-items-center btn-transparent p-3">
|
|
49
|
+
<div class="link-hover">{{$t('More')}}</div>
|
|
50
|
+
<div class="hide-phone ms-1 saooti-down"></div>
|
|
51
|
+
</button>
|
|
52
|
+
<Popover
|
|
53
|
+
target="more-dropdown"
|
|
54
|
+
:only-click="true"
|
|
55
|
+
:is-fixed="true"
|
|
56
|
+
:left-pos="true"
|
|
57
|
+
>
|
|
58
|
+
<div class="d-flex flex-column">
|
|
59
|
+
<template
|
|
60
|
+
v-for="link in routerLinkInsideArray"
|
|
61
|
+
:key="link.routeName"
|
|
62
|
+
>
|
|
63
|
+
<router-link
|
|
64
|
+
v-if="link.condition"
|
|
65
|
+
:to="{
|
|
66
|
+
name: link.routeName,
|
|
67
|
+
query: getQueriesRouter(link.routeName),
|
|
68
|
+
}"
|
|
69
|
+
class="link-hover p-1 octopus-dropdown-item"
|
|
70
|
+
>
|
|
71
|
+
{{ link.title }}
|
|
72
|
+
</router-link>
|
|
73
|
+
</template>
|
|
74
|
+
</div>
|
|
75
|
+
</Popover>
|
|
48
76
|
</div>
|
|
49
77
|
<button
|
|
50
78
|
class="btn-transparent saooti-menu"
|
|
@@ -52,9 +80,7 @@
|
|
|
52
80
|
@click="onDisplayMenu(false)"
|
|
53
81
|
/>
|
|
54
82
|
<div class="d-flex flex-column">
|
|
55
|
-
|
|
56
|
-
{{ $t('Hosted by') }}<span class="ms-1 me-1 text-primary">Saooti</span>
|
|
57
|
-
</div>
|
|
83
|
+
|
|
58
84
|
<div class="d-flex justify-content-end flex-nowrap">
|
|
59
85
|
<HomeDropdown :is-education="isEducation" />
|
|
60
86
|
<router-link
|
|
@@ -79,6 +105,7 @@ import imageProxy from '../mixins/imageProxy';
|
|
|
79
105
|
import { useFilterStore } from '@/stores/FilterStore';
|
|
80
106
|
import { mapState } from 'pinia';
|
|
81
107
|
import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';
|
|
108
|
+
import Popover from '../misc/Popover.vue';
|
|
82
109
|
import { defineComponent,defineAsyncComponent } from 'vue';
|
|
83
110
|
const OrganisationChooserLight = defineAsyncComponent(() => import('../display/organisation/OrganisationChooserLight.vue'));
|
|
84
111
|
export default defineComponent({
|
|
@@ -86,6 +113,7 @@ export default defineComponent({
|
|
|
86
113
|
components: {
|
|
87
114
|
OrganisationChooserLight,
|
|
88
115
|
HomeDropdown,
|
|
116
|
+
Popover
|
|
89
117
|
},
|
|
90
118
|
mixins:[orgaFilter, imageProxy],
|
|
91
119
|
props: {
|
|
@@ -108,7 +136,11 @@ export default defineComponent({
|
|
|
108
136
|
return [
|
|
109
137
|
{title : this.$t('Live'), routeName: 'lives', condition : (state.generalParameters.isLiveTab as boolean) &&((this.filterOrgaId && this.filterLive) || !this.filterOrgaId)},
|
|
110
138
|
{title : this.$t('Podcasts'), routeName: 'podcasts', condition : true},
|
|
111
|
-
{title : this.$t('Emissions'), routeName: 'emissions', condition : true}
|
|
139
|
+
{title : this.$t('Emissions'), routeName: 'emissions', condition : true}
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
routerLinkInsideArray(){
|
|
143
|
+
return [
|
|
112
144
|
{title : this.$t('Speakers'), routeName: 'participants', condition : true},
|
|
113
145
|
{title : this.$t('Playlists'), routeName: 'playlists', condition : true},
|
|
114
146
|
{title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && (!this.filterOrgaId || this.isEducation)}]
|
|
@@ -204,7 +236,7 @@ export default defineComponent({
|
|
|
204
236
|
top: 0;
|
|
205
237
|
background: #fff;
|
|
206
238
|
width: 100%;
|
|
207
|
-
height: 5rem;
|
|
239
|
+
height: 3.5rem;
|
|
208
240
|
z-index: 10;
|
|
209
241
|
padding: 0 1rem;
|
|
210
242
|
display: flex;
|
|
@@ -222,26 +254,19 @@ export default defineComponent({
|
|
|
222
254
|
margin: 0.5rem;
|
|
223
255
|
}
|
|
224
256
|
|
|
225
|
-
.top-bar-logo {
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
height:
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
257
|
+
.top-bar-logo img{
|
|
258
|
+
max-width: 140px !important;
|
|
259
|
+
max-height: 2.5rem;
|
|
260
|
+
height: 2.5rem;
|
|
261
|
+
&.educationLogo {
|
|
262
|
+
height: auto;
|
|
263
|
+
}
|
|
264
|
+
@media (max-width: 650px) {
|
|
265
|
+
height: 2rem;
|
|
234
266
|
}
|
|
235
267
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
position: absolute;
|
|
239
|
-
top: 5px;
|
|
240
|
-
right: 0;
|
|
241
|
-
}
|
|
242
|
-
&.shadow-element {
|
|
243
|
-
height: 3.5rem;
|
|
244
|
-
.link-hover,.hosted-by {
|
|
268
|
+
&.cscrolled{
|
|
269
|
+
.link-hover {
|
|
245
270
|
display: none;
|
|
246
271
|
}
|
|
247
272
|
.saooti-menu {
|
|
@@ -249,30 +274,15 @@ export default defineComponent({
|
|
|
249
274
|
}
|
|
250
275
|
}
|
|
251
276
|
/** PHONES*/
|
|
252
|
-
@media (max-width:
|
|
253
|
-
|
|
254
|
-
.default-multiselect-width, .hosted-by, .link-hover {
|
|
277
|
+
@media (max-width: 960px) {
|
|
278
|
+
.default-multiselect-width, .link-hover {
|
|
255
279
|
display: none;
|
|
256
280
|
}
|
|
257
281
|
.saooti-menu {
|
|
258
282
|
display: block;
|
|
259
283
|
}
|
|
260
284
|
}
|
|
261
|
-
|
|
262
|
-
.top-bar-logo img{
|
|
263
|
-
height: 2rem;
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
@media (max-width: 380px) {
|
|
267
|
-
.top-bar-logo img{
|
|
268
|
-
height: 1rem;
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
@media (max-width: 290px) {
|
|
272
|
-
.top-bar-logo{
|
|
273
|
-
display: none;
|
|
274
|
-
}
|
|
275
|
-
}
|
|
285
|
+
|
|
276
286
|
}
|
|
277
287
|
}
|
|
278
288
|
</style>
|
|
@@ -102,7 +102,7 @@ export default defineComponent({
|
|
|
102
102
|
align-items: center;
|
|
103
103
|
justify-content: space-between;
|
|
104
104
|
border: 0;
|
|
105
|
-
border-radius:
|
|
105
|
+
border-radius: $octopus-borderradius $octopus-borderradius 0 0;
|
|
106
106
|
background: $octopus-primary-color;
|
|
107
107
|
color: white;
|
|
108
108
|
padding: 1rem;
|
|
@@ -122,7 +122,7 @@ export default defineComponent({
|
|
|
122
122
|
outline: 0;
|
|
123
123
|
height: auto !important;
|
|
124
124
|
max-height: initial !important;
|
|
125
|
-
border-radius:
|
|
125
|
+
border-radius: $octopus-borderradius;
|
|
126
126
|
box-shadow: 0 0.2rem 0.5rem rgba(40,40,40,.3);
|
|
127
127
|
}
|
|
128
128
|
.octopus-modal-footer{
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
@seeked="onSeeked"
|
|
18
18
|
/>
|
|
19
19
|
<PlayerCompact
|
|
20
|
-
v-if="!
|
|
20
|
+
v-if="!playerLargeVersion"
|
|
21
21
|
v-model:notListenTime="notListenTime"
|
|
22
22
|
:player-error="playerError"
|
|
23
23
|
:hls-ready="hlsReady"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
:duration-live-position="durationLivePosition"
|
|
28
28
|
:listen-time="listenTime"
|
|
29
29
|
@stopPlayer="stopPlayer"
|
|
30
|
-
@changePlayerLargeVersion="
|
|
30
|
+
@changePlayerLargeVersion="playerUpdateLargeVersion(true)"
|
|
31
31
|
/>
|
|
32
32
|
<PlayerLarge
|
|
33
33
|
v-else
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
:duration-live-position="durationLivePosition"
|
|
41
41
|
:listen-time="listenTime"
|
|
42
42
|
@stopPlayer="stopPlayer"
|
|
43
|
-
@changePlayerLargeVersion="
|
|
43
|
+
@changePlayerLargeVersion="playerUpdateLargeVersion(false)"
|
|
44
44
|
/>
|
|
45
45
|
</template>
|
|
46
46
|
</div>
|
|
@@ -76,23 +76,14 @@ export default defineComponent({
|
|
|
76
76
|
displayAlertBar: false as boolean,
|
|
77
77
|
hlsReady: false as boolean,
|
|
78
78
|
comments: [] as Array<CommentPodcast>,
|
|
79
|
-
showTimeline: false as boolean,
|
|
80
|
-
largeVersion: false as boolean,
|
|
81
79
|
audioUrlToPlay: "" as string
|
|
82
80
|
};
|
|
83
81
|
},
|
|
84
82
|
computed: {
|
|
85
|
-
...mapState(usePlayerStore, ['playerStatus']),
|
|
83
|
+
...mapState(usePlayerStore, ['playerStatus', 'playerHeight', 'playerLargeVersion']),
|
|
86
84
|
display(){
|
|
87
85
|
return 'STOPPED' !== this.playerStatus;
|
|
88
86
|
},
|
|
89
|
-
playerHeight() {
|
|
90
|
-
if ('STOPPED' === this.playerStatus || this.forceHide) return 0;
|
|
91
|
-
if (this.largeVersion) return '27rem';
|
|
92
|
-
if (window.innerWidth > 450 && !this.showTimeline) return '5rem';
|
|
93
|
-
if (window.innerWidth > 450 && this.showTimeline) return '6rem';
|
|
94
|
-
return '3.5rem';
|
|
95
|
-
},
|
|
96
87
|
},
|
|
97
88
|
|
|
98
89
|
watch: {
|
|
@@ -102,7 +93,7 @@ export default defineComponent({
|
|
|
102
93
|
},
|
|
103
94
|
|
|
104
95
|
methods: {
|
|
105
|
-
...mapActions(usePlayerStore, ['playerPlay']),
|
|
96
|
+
...mapActions(usePlayerStore, ['playerPlay', 'playerUpdateLargeVersion']),
|
|
106
97
|
onHidden(): void {
|
|
107
98
|
if (this.forceHide) {
|
|
108
99
|
this.playerPlay();
|
|
@@ -128,6 +128,7 @@ export default defineComponent({
|
|
|
128
128
|
</script>
|
|
129
129
|
|
|
130
130
|
<style lang="scss">
|
|
131
|
+
@import '@scss/_variables.scss';
|
|
131
132
|
.octopus-app{
|
|
132
133
|
.player-grow-content {
|
|
133
134
|
display: flex;
|
|
@@ -138,7 +139,7 @@ export default defineComponent({
|
|
|
138
139
|
font-size: 0.8rem;
|
|
139
140
|
}
|
|
140
141
|
.player-image {
|
|
141
|
-
border-radius:
|
|
142
|
+
border-radius: $octopus-borderradius;
|
|
142
143
|
height: 2.4rem;
|
|
143
144
|
width: 2.4rem;
|
|
144
145
|
cursor: pointer;
|