@saooti/octopus-sdk 30.0.6 → 30.0.10
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/README.md +5 -1
- package/index.ts +13 -2
- package/package.json +1 -1
- package/src/assets/bootstrap-diff.scss +17 -25
- package/src/assets/form.scss +7 -37
- package/src/assets/general.scss +56 -170
- package/src/assets/live.scss +39 -0
- package/src/assets/modal.scss +14 -18
- package/src/assets/multiselect.scss +30 -77
- package/src/assets/octopus-library.scss +1 -0
- package/src/assets/share.scss +149 -267
- package/src/assets/transition.scss +95 -1
- package/src/components/display/categories/CategoryChooser.vue +1 -1
- package/src/components/display/categories/CategoryList.vue +2 -4
- package/src/components/display/comments/CommentInput.vue +2 -2
- package/src/components/display/comments/CommentItem.vue +6 -6
- package/src/components/display/comments/CommentParentInfo.vue +1 -1
- package/src/components/display/comments/CommentPlayer.vue +1 -1
- package/src/components/display/edit/EditCommentBox.vue +8 -16
- package/src/components/display/emission/EmissionChooser.vue +1 -3
- package/src/components/display/emission/EmissionInlineList.vue +12 -3
- package/src/components/display/emission/EmissionItem.vue +22 -64
- package/src/components/display/emission/EmissionList.vue +59 -68
- package/src/components/display/emission/EmissionPlayerItem.vue +10 -9
- package/src/components/display/filter/AdvancedSearch.vue +50 -146
- package/src/components/display/filter/CategoryFilter.vue +9 -13
- package/src/components/display/filter/MonetizableFilter.vue +3 -5
- package/src/components/display/filter/ProductorSearch.vue +20 -40
- package/src/components/display/filter/RubriqueChoice.vue +6 -8
- package/src/components/display/filter/RubriqueFilter.vue +8 -13
- package/src/components/display/live/CountDown.vue +4 -2
- package/src/components/display/live/LiveHorizontalList.vue +1 -1
- package/src/components/display/live/LiveItem.vue +4 -4
- package/src/components/display/live/LiveList.vue +84 -214
- package/src/components/display/organisation/OrganisationChooser.vue +5 -23
- package/src/components/display/organisation/OrganisationChooserLight.vue +8 -2
- package/src/components/display/participant/ParticipantItem.vue +7 -19
- package/src/components/display/participant/ParticipantList.vue +39 -52
- package/src/components/display/playlist/PlaylistItem.vue +2 -2
- package/src/components/display/playlist/PlaylistList.vue +8 -14
- package/src/components/display/playlist/PodcastList.vue +21 -40
- package/src/components/display/podcasts/AnimatorsItem.vue +0 -1
- package/src/components/display/podcasts/ParticipantDescription.vue +4 -16
- package/src/components/display/podcasts/PodcastFilterList.vue +20 -63
- package/src/components/display/podcasts/PodcastImage.vue +27 -84
- package/src/components/display/podcasts/PodcastInlineList.vue +14 -36
- package/src/components/display/podcasts/PodcastItem.vue +5 -5
- package/src/components/display/podcasts/PodcastList.vue +7 -14
- package/src/components/display/podcasts/PodcastModuleBox.vue +9 -28
- package/src/components/display/podcasts/TagList.vue +2 -3
- package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
- package/src/components/display/rubriques/RubriqueList.vue +5 -25
- package/src/components/display/sharing/PlayerParameters.vue +30 -71
- package/src/components/display/sharing/ShareButtons.vue +21 -45
- package/src/components/display/sharing/ShareDistribution.vue +1 -7
- package/src/components/display/sharing/SharePlayer.vue +10 -19
- package/src/components/display/sharing/SharePlayerColors.vue +4 -8
- package/src/components/display/sharing/SharePlayerTypes.vue +1 -2
- package/src/components/display/sharing/SubscribeButtons.vue +2 -4
- package/src/components/form/ClassicCheckbox.vue +61 -0
- package/src/components/form/ClassicLoading.vue +28 -0
- package/src/components/form/ClassicRadio.vue +61 -0
- package/src/components/form/ClassicSearch.vue +82 -0
- package/src/components/misc/ErrorMessage.vue +4 -1
- package/src/components/misc/Footer.vue +26 -35
- package/src/components/misc/HomeDropdown.vue +42 -91
- package/src/components/misc/LeftMenu.vue +108 -141
- package/src/components/misc/Player.vue +15 -29
- package/src/components/misc/PlayerButtons.vue +14 -37
- package/src/components/misc/PlayerClockAndTimeline.vue +1 -1
- package/src/components/misc/PlayerProgressBar.vue +15 -50
- package/src/components/misc/TopBar.vue +140 -222
- package/src/components/misc/modal/NewsletterModal.vue +13 -27
- package/src/components/pages/Category.vue +3 -8
- package/src/components/pages/Emission.vue +12 -24
- package/src/components/pages/Emissions.vue +8 -17
- package/src/components/pages/Home.vue +1 -3
- package/src/components/pages/Lives.vue +1 -4
- package/src/components/pages/Participant.vue +19 -27
- package/src/components/pages/Participants.vue +7 -15
- package/src/components/pages/Playlist.vue +16 -29
- package/src/components/pages/Playlists.vue +1 -11
- package/src/components/pages/Podcast.vue +16 -30
- package/src/components/pages/Podcasts.vue +9 -23
- package/src/components/pages/Search.vue +26 -64
- package/src/sass/_variables.scss +0 -1
- package/src/store/class/general/media.ts +1 -1
|
@@ -131,7 +131,6 @@ export default defineComponent({
|
|
|
131
131
|
data() {
|
|
132
132
|
return {
|
|
133
133
|
emission: undefined as Emission|undefined,
|
|
134
|
-
error: false as boolean,
|
|
135
134
|
rss: '' as string,
|
|
136
135
|
};
|
|
137
136
|
},
|
|
@@ -143,12 +142,7 @@ export default defineComponent({
|
|
|
143
142
|
|
|
144
143
|
methods: {
|
|
145
144
|
async getEmissionDetails(): Promise<void> {
|
|
146
|
-
|
|
147
|
-
const data = await octopusApi.fetchEmission(this.emissionId);
|
|
148
|
-
this.emission = data;
|
|
149
|
-
} catch {
|
|
150
|
-
this.error = true;
|
|
151
|
-
}
|
|
145
|
+
this.emission = await octopusApi.fetchEmission(this.emissionId);
|
|
152
146
|
},
|
|
153
147
|
getRSS(): void {
|
|
154
148
|
if (!this.$props.emissionId || this.$props.emissionId <= 0) return;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
frameborder="0"
|
|
19
19
|
:width="iFrameWidth"
|
|
20
20
|
:height="iFrameHeight"
|
|
21
|
-
class="
|
|
21
|
+
class="max-iframe"
|
|
22
22
|
/>
|
|
23
23
|
<div class="d-flex flex-column">
|
|
24
24
|
<button
|
|
@@ -40,23 +40,12 @@
|
|
|
40
40
|
v-model:color="color"
|
|
41
41
|
v-model:theme="theme"
|
|
42
42
|
/>
|
|
43
|
-
<
|
|
43
|
+
<ClassicCheckbox
|
|
44
44
|
v-if="isPodcastNotVisible || playlist"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
id="isVisibleCheckbox"
|
|
50
|
-
v-model="isVisible"
|
|
51
|
-
type="checkbox"
|
|
52
|
-
class="form-check-input"
|
|
53
|
-
>
|
|
54
|
-
<label
|
|
55
|
-
class="form-check-label me-2"
|
|
56
|
-
for="isVisibleCheckbox"
|
|
57
|
-
>{{ titleStillAvailable }}</label>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
45
|
+
v-model:textInit="isVisible"
|
|
46
|
+
id-checkbox="is-visible-checkbox"
|
|
47
|
+
:label="titleStillAvailable"
|
|
48
|
+
/>
|
|
60
49
|
</div>
|
|
61
50
|
<PlayerParameters
|
|
62
51
|
v-if="isPlayerParameter"
|
|
@@ -99,12 +88,14 @@ const ShareModalPlayer = defineAsyncComponent(() => import('../../misc/modal/Sha
|
|
|
99
88
|
const PlayerParameters = defineAsyncComponent(() => import('./PlayerParameters.vue'));
|
|
100
89
|
const SharePlayerTypes = defineAsyncComponent(() => import('./SharePlayerTypes.vue'));
|
|
101
90
|
const SharePlayerColors = defineAsyncComponent(() => import('./SharePlayerColors.vue'));
|
|
91
|
+
const ClassicCheckbox = defineAsyncComponent(() => import('../../form/ClassicCheckbox.vue'));
|
|
102
92
|
export default defineComponent({
|
|
103
93
|
components: {
|
|
104
94
|
ShareModalPlayer,
|
|
105
95
|
SharePlayerColors,
|
|
106
96
|
PlayerParameters,
|
|
107
|
-
SharePlayerTypes
|
|
97
|
+
SharePlayerTypes,
|
|
98
|
+
ClassicCheckbox
|
|
108
99
|
},
|
|
109
100
|
|
|
110
101
|
props: {
|
|
@@ -388,7 +379,7 @@ export default defineComponent({
|
|
|
388
379
|
box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, 0.3);
|
|
389
380
|
}
|
|
390
381
|
}
|
|
391
|
-
.
|
|
382
|
+
.max-iframe {
|
|
392
383
|
max-width: 300px;
|
|
393
384
|
}
|
|
394
385
|
</style>
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="d-flex justify-content-around mt-3
|
|
3
|
-
<div class="d-flex flex-column align-items-center flex-shrink me-3">
|
|
4
|
-
<div
|
|
5
|
-
{{ $t('Choose color') }}
|
|
6
|
-
</div>
|
|
2
|
+
<div class="d-flex justify-content-around mt-3 w-100">
|
|
3
|
+
<div class="d-flex flex-column align-items-center flex-shrink-0 me-3">
|
|
4
|
+
<div>{{ $t('Choose color') }}</div>
|
|
7
5
|
<VSwatches
|
|
8
6
|
v-model="internColor"
|
|
9
7
|
class="c-hand input-no-outline"
|
|
@@ -14,9 +12,7 @@
|
|
|
14
12
|
/>
|
|
15
13
|
</div>
|
|
16
14
|
<div class="d-flex flex-column align-items-center">
|
|
17
|
-
<div
|
|
18
|
-
{{ $t('Choose theme') }}
|
|
19
|
-
</div>
|
|
15
|
+
<div>{{ $t('Choose theme') }}</div>
|
|
20
16
|
<VSwatches
|
|
21
17
|
v-model="internTheme"
|
|
22
18
|
class="c-hand input-no-outline"
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
<div class="d-flex flex-column">
|
|
3
3
|
<label
|
|
4
4
|
for="iframe-select"
|
|
5
|
-
class="d-inline"
|
|
6
5
|
aria-label="select miniplayer"
|
|
7
6
|
/>
|
|
8
7
|
<select
|
|
9
8
|
id="iframe-select"
|
|
10
9
|
:value="iFrameModel"
|
|
11
|
-
class="
|
|
10
|
+
class="input-no-outline"
|
|
12
11
|
@change="$emit('update:iFrameModel',$event.target.value)"
|
|
13
12
|
>
|
|
14
13
|
<option value="default">
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="module-box flex-
|
|
2
|
+
<div class="module-box flex-grow-0">
|
|
3
3
|
<div class="d-flex align-items-center mb-3">
|
|
4
|
-
<h3 class="mb-0
|
|
4
|
+
<h3 class="mb-0">
|
|
5
5
|
{{ $t('Subscribe emission') }}
|
|
6
6
|
</h3>
|
|
7
7
|
</div>
|
|
@@ -197,5 +197,3 @@ export default defineComponent({
|
|
|
197
197
|
},
|
|
198
198
|
})
|
|
199
199
|
</script>
|
|
200
|
-
|
|
201
|
-
<style lang="scss"></style>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="form-check"
|
|
4
|
+
:class="isSwitch?'form-switch':''"
|
|
5
|
+
>
|
|
6
|
+
<input
|
|
7
|
+
:id="idCheckbox"
|
|
8
|
+
v-model="textValue"
|
|
9
|
+
type="checkbox"
|
|
10
|
+
class="form-check-input"
|
|
11
|
+
:disabled="isDisabled"
|
|
12
|
+
@click="emitClickAction"
|
|
13
|
+
>
|
|
14
|
+
<label
|
|
15
|
+
class="form-check-label"
|
|
16
|
+
:for="idCheckbox"
|
|
17
|
+
>{{ label }}</label>
|
|
18
|
+
</div>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script lang="ts">
|
|
22
|
+
import { defineComponent } from 'vue';
|
|
23
|
+
export default defineComponent({
|
|
24
|
+
name: 'ClassicCheckbox',
|
|
25
|
+
|
|
26
|
+
props: {
|
|
27
|
+
idCheckbox: { default: '', type: String },
|
|
28
|
+
label: { default: '', type: String },
|
|
29
|
+
isDisabled: { default: false, type: Boolean },
|
|
30
|
+
textInit: { default: false, type: Boolean },
|
|
31
|
+
isSwitch:{default:false, type:Boolean}
|
|
32
|
+
},
|
|
33
|
+
emits: ['update:textInit', 'clickAction'],
|
|
34
|
+
|
|
35
|
+
data() {
|
|
36
|
+
return {
|
|
37
|
+
textValue: false as boolean,
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
watch: {
|
|
41
|
+
textValue(){
|
|
42
|
+
if(this.textInit !== this.textValue){
|
|
43
|
+
this.$emit('update:textInit', this.textValue)
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
textInit(){
|
|
47
|
+
if(this.textInit !== this.textValue){
|
|
48
|
+
this.textValue =this.textInit;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
mounted(){
|
|
53
|
+
this.textValue = this.textInit;
|
|
54
|
+
},
|
|
55
|
+
methods:{
|
|
56
|
+
emitClickAction():void{
|
|
57
|
+
this.$emit('clickAction');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
</script>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
v-if="loadingText"
|
|
4
|
+
class="d-flex justify-content-center"
|
|
5
|
+
>
|
|
6
|
+
<div class="spinner-border me-3" />
|
|
7
|
+
<h3 class="mt-2">
|
|
8
|
+
{{ loadingText }}
|
|
9
|
+
</h3>
|
|
10
|
+
</div>
|
|
11
|
+
<div
|
|
12
|
+
v-else-if="errorText"
|
|
13
|
+
class="text-center"
|
|
14
|
+
>
|
|
15
|
+
<h3>{{ errorText }}</h3>
|
|
16
|
+
</div>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script lang="ts">
|
|
20
|
+
import { defineComponent } from 'vue';
|
|
21
|
+
export default defineComponent({
|
|
22
|
+
name: "ClassicLoading",
|
|
23
|
+
props: {
|
|
24
|
+
loadingText: { default: undefined, type: String},
|
|
25
|
+
errorText: { default: undefined, type: String},
|
|
26
|
+
}
|
|
27
|
+
})
|
|
28
|
+
</script>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="d-flex flex-column">
|
|
3
|
+
<div
|
|
4
|
+
v-for="option in options"
|
|
5
|
+
:key="option.title"
|
|
6
|
+
class="form-check"
|
|
7
|
+
>
|
|
8
|
+
<input
|
|
9
|
+
:id="idRadio + option.value"
|
|
10
|
+
v-model="textValue"
|
|
11
|
+
class="form-check-input"
|
|
12
|
+
type="radio"
|
|
13
|
+
:name="idRadio"
|
|
14
|
+
:value="option.value"
|
|
15
|
+
:disabled="isDisabled"
|
|
16
|
+
>
|
|
17
|
+
<label
|
|
18
|
+
class="form-check-label"
|
|
19
|
+
:for="idRadio + option.value"
|
|
20
|
+
>{{
|
|
21
|
+
option.title
|
|
22
|
+
}}</label>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
</template>
|
|
26
|
+
|
|
27
|
+
<script lang="ts">
|
|
28
|
+
import { defineComponent } from 'vue';
|
|
29
|
+
export default defineComponent({
|
|
30
|
+
name: 'ClassicRadio',
|
|
31
|
+
|
|
32
|
+
props: {
|
|
33
|
+
idRadio: { default: '', type: String },
|
|
34
|
+
isDisabled: { default: false, type: Boolean },
|
|
35
|
+
options: { default: ()=>[], type: Array as () => Array<{title: string, value: string|undefined}> },
|
|
36
|
+
textInit: { default: undefined, type: String },
|
|
37
|
+
},
|
|
38
|
+
emits: ['update:textInit'],
|
|
39
|
+
|
|
40
|
+
data() {
|
|
41
|
+
return {
|
|
42
|
+
textValue: undefined as string|undefined,
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
watch: {
|
|
46
|
+
textValue(){
|
|
47
|
+
if(this.textInit !== this.textValue){
|
|
48
|
+
this.$emit('update:textInit', this.textValue)
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
textInit(){
|
|
52
|
+
if(this.textInit !== this.textValue){
|
|
53
|
+
this.textValue =this.textInit;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
mounted(){
|
|
58
|
+
this.textValue = this.textInit;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
</script>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="position-relative champs-searchPage static-height">
|
|
3
|
+
<input
|
|
4
|
+
:id="idSearch"
|
|
5
|
+
ref="search"
|
|
6
|
+
v-model="textValue"
|
|
7
|
+
type="text"
|
|
8
|
+
class="search-input w-100 p-2 input-no-outline"
|
|
9
|
+
:placeholder="label"
|
|
10
|
+
:autofocus="autofocus"
|
|
11
|
+
>
|
|
12
|
+
<label
|
|
13
|
+
:for="idSearch"
|
|
14
|
+
:aria-label="label"
|
|
15
|
+
/>
|
|
16
|
+
<div
|
|
17
|
+
v-if="!textValue"
|
|
18
|
+
class="saooti-search-bounty search-icon-container"
|
|
19
|
+
/>
|
|
20
|
+
<div
|
|
21
|
+
v-else
|
|
22
|
+
class="saooti-cross search-icon-container c-hand"
|
|
23
|
+
@click="textValue = ''"
|
|
24
|
+
/>
|
|
25
|
+
</div>
|
|
26
|
+
</template>
|
|
27
|
+
|
|
28
|
+
<script lang="ts">
|
|
29
|
+
import { defineComponent } from 'vue';
|
|
30
|
+
export default defineComponent({
|
|
31
|
+
name: 'ClassicSearch',
|
|
32
|
+
props: {
|
|
33
|
+
idSearch: { default: '', type: String },
|
|
34
|
+
label: { default: '', type: String },
|
|
35
|
+
textInit: { default: '', type: String },
|
|
36
|
+
autofocus: { default: false, type: Boolean },
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
emits: ['update:textInit'],
|
|
40
|
+
|
|
41
|
+
data() {
|
|
42
|
+
return {
|
|
43
|
+
textValue: '' as string,
|
|
44
|
+
};
|
|
45
|
+
},
|
|
46
|
+
watch: {
|
|
47
|
+
textValue(){
|
|
48
|
+
if(this.textInit !== this.textValue){
|
|
49
|
+
this.$emit('update:textInit', this.textValue)
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
textInit(){
|
|
53
|
+
if(this.textInit !== this.textValue){
|
|
54
|
+
this.textValue =this.textInit;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
mounted(){
|
|
59
|
+
this.textValue = this.textInit;
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
</script>
|
|
63
|
+
<style lang="scss" scoped>
|
|
64
|
+
.champs-searchPage input {
|
|
65
|
+
border: 2px solid #dee2e6;
|
|
66
|
+
border-radius: 10px;
|
|
67
|
+
margin: 0 !important;
|
|
68
|
+
}
|
|
69
|
+
.saooti-search-bounty,
|
|
70
|
+
.saooti-cross {
|
|
71
|
+
font-size: 1rem;
|
|
72
|
+
}
|
|
73
|
+
.search-icon-container {
|
|
74
|
+
position: absolute;
|
|
75
|
+
top: 0;
|
|
76
|
+
bottom: 0;
|
|
77
|
+
right: 0;
|
|
78
|
+
display: flex;
|
|
79
|
+
align-items: center;
|
|
80
|
+
margin: 1rem;
|
|
81
|
+
}
|
|
82
|
+
</style>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
class="d-flex"
|
|
5
5
|
>
|
|
6
6
|
<div
|
|
7
|
-
class="d-flex align-items-center bg-error-message p-2 rounded
|
|
7
|
+
class="d-flex align-items-center bg-error-message p-2 rounded my-1"
|
|
8
8
|
>
|
|
9
9
|
<img
|
|
10
10
|
src="/img/caution.png"
|
|
@@ -31,4 +31,7 @@ export default defineComponent({
|
|
|
31
31
|
.bg-error-message {
|
|
32
32
|
background-color: #ffd84a9c;
|
|
33
33
|
}
|
|
34
|
+
.alert-text{
|
|
35
|
+
color: darkred;
|
|
36
|
+
}
|
|
34
37
|
</style>
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
<div class="bg-dark">
|
|
3
3
|
<div
|
|
4
4
|
id="footer"
|
|
5
|
-
class="d-flex p-3 secondary-bg border-top
|
|
5
|
+
class="d-flex-column p-3 secondary-bg border-top"
|
|
6
6
|
>
|
|
7
|
-
<div class="d-flex flex-grow align-items-end
|
|
7
|
+
<div class="d-flex flex-column flex-grow-1 align-items-end">
|
|
8
8
|
<div class="d-flex flex-column">
|
|
9
9
|
<router-link
|
|
10
10
|
:to="{
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
|
|
14
14
|
rubriquesId: rubriqueQueryParam },
|
|
15
15
|
}"
|
|
16
|
-
class="
|
|
16
|
+
class="link-hover"
|
|
17
17
|
>
|
|
18
18
|
{{ $t('Home') }}
|
|
19
19
|
</router-link>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined,
|
|
25
25
|
rubriquesId: rubriqueQueryParam},
|
|
26
26
|
}"
|
|
27
|
-
class="
|
|
27
|
+
class="link-hover"
|
|
28
28
|
>
|
|
29
29
|
{{ $t('Podcasts') }}
|
|
30
30
|
</router-link>
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
query: { productor: $store.state.filter.organisationId,
|
|
35
35
|
iabId: $store.state.filter.iab ? $store.state.filter.iab.id : undefined },
|
|
36
36
|
}"
|
|
37
|
-
class="
|
|
37
|
+
class="link-hover"
|
|
38
38
|
>
|
|
39
39
|
{{ $t('Emissions') }}
|
|
40
40
|
</router-link>
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
name: 'productors',
|
|
45
45
|
query: { productor: $store.state.filter.organisationId },
|
|
46
46
|
}"
|
|
47
|
-
class="
|
|
47
|
+
class="link-hover"
|
|
48
48
|
>
|
|
49
49
|
{{ $t('Productors') }}
|
|
50
50
|
</router-link>
|
|
@@ -53,23 +53,23 @@
|
|
|
53
53
|
name: 'participants',
|
|
54
54
|
query: { productor: $store.state.filter.organisationId },
|
|
55
55
|
}"
|
|
56
|
-
class="
|
|
56
|
+
class="link-hover"
|
|
57
57
|
>
|
|
58
58
|
{{ $t('Speakers') }}
|
|
59
59
|
</router-link>
|
|
60
60
|
</div>
|
|
61
61
|
</div>
|
|
62
|
-
<hr class="
|
|
62
|
+
<hr class="show-phone">
|
|
63
63
|
<div
|
|
64
64
|
v-if="!isPodcastmaker"
|
|
65
|
-
class="d-flex flex-grow align-items-center flex-column"
|
|
65
|
+
class="d-flex flex-grow-1 align-items-center flex-column"
|
|
66
66
|
>
|
|
67
67
|
<div class="d-flex flex-column">
|
|
68
68
|
<div class="text-dark">
|
|
69
69
|
© Saooti 2019
|
|
70
70
|
</div>
|
|
71
71
|
<router-link
|
|
72
|
-
class="
|
|
72
|
+
class="link-hover"
|
|
73
73
|
to="/main/pub/contact"
|
|
74
74
|
>
|
|
75
75
|
{{
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
}}
|
|
78
78
|
</router-link>
|
|
79
79
|
<router-link
|
|
80
|
-
class="
|
|
80
|
+
class="link-hover"
|
|
81
81
|
to="/main/pub/cgu"
|
|
82
82
|
>
|
|
83
83
|
{{
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
}}
|
|
86
86
|
</router-link>
|
|
87
87
|
<router-link
|
|
88
|
-
class="
|
|
88
|
+
class="link-hover"
|
|
89
89
|
to="/main/pub/libraries"
|
|
90
90
|
>
|
|
91
91
|
{{
|
|
@@ -93,15 +93,15 @@
|
|
|
93
93
|
}}
|
|
94
94
|
</router-link>
|
|
95
95
|
<a
|
|
96
|
-
class="
|
|
96
|
+
class="link-hover c-hand"
|
|
97
97
|
@click="changeLanguage"
|
|
98
98
|
>{{
|
|
99
99
|
$t('Change locale')
|
|
100
100
|
}}</a>
|
|
101
101
|
</div>
|
|
102
102
|
</div>
|
|
103
|
-
<hr class="
|
|
104
|
-
<div class="flex-grow">
|
|
103
|
+
<hr class="show-phone">
|
|
104
|
+
<div class="flex-grow-1">
|
|
105
105
|
<a
|
|
106
106
|
href="https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts"
|
|
107
107
|
rel="noopener"
|
|
@@ -118,12 +118,12 @@
|
|
|
118
118
|
</div>
|
|
119
119
|
<div
|
|
120
120
|
v-if="isPodcastmaker && isContactLink"
|
|
121
|
-
class="d-flex flex-grow align-items-center
|
|
121
|
+
class="d-flex flex-column flex-grow-1 align-items-center"
|
|
122
122
|
>
|
|
123
123
|
<div class="d-flex flex-column">
|
|
124
124
|
<a
|
|
125
125
|
id="footer-contact"
|
|
126
|
-
class="
|
|
126
|
+
class="link-hover"
|
|
127
127
|
:href="isContactLink"
|
|
128
128
|
rel="noopener"
|
|
129
129
|
target="_blank"
|
|
@@ -201,33 +201,24 @@ export default defineComponent({
|
|
|
201
201
|
</script>
|
|
202
202
|
|
|
203
203
|
<style lang="scss">
|
|
204
|
-
#footer
|
|
204
|
+
#footer{
|
|
205
205
|
font-size: 0.7rem;
|
|
206
|
-
a {
|
|
207
|
-
color: #666;
|
|
208
|
-
}
|
|
209
206
|
.acpm_image {
|
|
210
207
|
width: 70px;
|
|
211
208
|
height: 70px;
|
|
212
209
|
}
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
210
|
+
a{
|
|
211
|
+
color: #666;
|
|
212
|
+
}
|
|
213
|
+
.border-round {
|
|
214
|
+
border-radius: 0 0 2rem 2rem;
|
|
215
|
+
}
|
|
216
|
+
/** PHONES*/
|
|
217
|
+
@media (max-width: 960px) {
|
|
221
218
|
.align-items-center,
|
|
222
219
|
.align-items-end {
|
|
223
220
|
align-items: flex-start !important;
|
|
224
221
|
}
|
|
225
222
|
}
|
|
226
|
-
.container {
|
|
227
|
-
font-size: 0.6rem;
|
|
228
|
-
.pages {
|
|
229
|
-
margin-right: 3rem;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
223
|
}
|
|
233
224
|
</style>
|