@saooti/octopus-sdk 38.2.1 → 38.2.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/src/assets/general.scss +1 -6
- package/src/components/display/podcastmaker/PodcastmakerHeader.vue +12 -13
- package/src/components/display/podcasts/PodcastModuleBox.vue +3 -5
- package/src/components/display/podcasts/PodcastPlayButton.vue +5 -3
- package/src/components/display/sharing/ShareButtons.vue +29 -8
- package/src/components/display/sharing/SubscribeButtons.vue +31 -26
- package/src/components/misc/FooterSection.vue +2 -2
- package/src/components/misc/HomeDropdown.vue +5 -3
- package/src/components/misc/MobileMenu.vue +57 -46
- package/src/components/misc/TopBar.vue +58 -35
- package/src/components/misc/TopBarMainContent.vue +37 -27
- package/src/components/pages/EmissionPage.vue +11 -9
- package/src/components/pages/PlaylistPage.vue +4 -4
- package/src/components/pages/PodcastPage.vue +5 -5
- package/src/components/pages/RadioPage.vue +4 -4
- package/src/router/router.ts +10 -0
package/package.json
CHANGED
package/src/assets/general.scss
CHANGED
|
@@ -138,12 +138,7 @@ body{
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
.hide-small-screen{
|
|
141
|
-
@media (max-width:
|
|
142
|
-
display: none !important;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
.hide-smallest-screen{
|
|
146
|
-
@media (max-width: 380px) {
|
|
141
|
+
@media (max-width: 500px) {
|
|
147
142
|
display: none !important;
|
|
148
143
|
}
|
|
149
144
|
}
|
|
@@ -28,26 +28,25 @@ export default defineComponent({
|
|
|
28
28
|
)}');`;
|
|
29
29
|
},
|
|
30
30
|
},
|
|
31
|
-
|
|
32
31
|
});
|
|
33
32
|
</script>
|
|
34
33
|
<style lang="scss">
|
|
35
34
|
@import "@scss/_variables.scss";
|
|
36
35
|
.octopus-app {
|
|
37
|
-
.page-box{
|
|
36
|
+
.page-box {
|
|
38
37
|
position: relative;
|
|
39
38
|
}
|
|
40
|
-
.page-element{
|
|
39
|
+
.page-element {
|
|
41
40
|
margin-top: 12rem;
|
|
42
41
|
}
|
|
43
|
-
.page-element-title-container{
|
|
42
|
+
.page-element-title-container {
|
|
44
43
|
background: black;
|
|
45
44
|
position: absolute;
|
|
46
45
|
right: 0;
|
|
47
46
|
left: 0;
|
|
48
47
|
top: 0;
|
|
49
48
|
}
|
|
50
|
-
.page-element-bg{
|
|
49
|
+
.page-element-bg {
|
|
51
50
|
height: 15rem;
|
|
52
51
|
opacity: 0.5;
|
|
53
52
|
filter: blur(8px);
|
|
@@ -56,20 +55,20 @@ export default defineComponent({
|
|
|
56
55
|
background-repeat: no-repeat;
|
|
57
56
|
background-size: cover;
|
|
58
57
|
}
|
|
59
|
-
.page-element-title{
|
|
58
|
+
.page-element-title {
|
|
60
59
|
position: absolute;
|
|
61
|
-
top:0;
|
|
62
|
-
bottom:0;
|
|
63
|
-
right:0;
|
|
64
|
-
left:0;
|
|
60
|
+
top: 0;
|
|
61
|
+
bottom: 0;
|
|
62
|
+
right: 0;
|
|
63
|
+
left: 0;
|
|
65
64
|
z-index: 2;
|
|
66
65
|
display: flex;
|
|
67
66
|
flex-direction: column;
|
|
68
67
|
justify-content: center;
|
|
69
|
-
h1{
|
|
68
|
+
h1 {
|
|
70
69
|
color: white !important;
|
|
71
70
|
font-size: 2rem;
|
|
72
71
|
}
|
|
73
|
-
}
|
|
72
|
+
}
|
|
74
73
|
}
|
|
75
|
-
</style>
|
|
74
|
+
</style>
|
|
@@ -135,7 +135,7 @@
|
|
|
135
135
|
:tag-list="podcast.tags"
|
|
136
136
|
:podcast-annotations="podcast.annotations"
|
|
137
137
|
/>
|
|
138
|
-
<SubscribeButtons
|
|
138
|
+
<SubscribeButtons
|
|
139
139
|
v-if="isPodcastmaker"
|
|
140
140
|
class="mt-4"
|
|
141
141
|
:emission="podcast.emission"
|
|
@@ -173,9 +173,7 @@ const PodcastPlayBar = defineAsyncComponent(
|
|
|
173
173
|
const SubscribeButtons = defineAsyncComponent(
|
|
174
174
|
() => import("../sharing/SubscribeButtons.vue"),
|
|
175
175
|
);
|
|
176
|
-
const Countdown = defineAsyncComponent(
|
|
177
|
-
() => import("../live/CountDown.vue"),
|
|
178
|
-
);
|
|
176
|
+
const Countdown = defineAsyncComponent(() => import("../live/CountDown.vue"));
|
|
179
177
|
const TagList = defineAsyncComponent(() => import("./TagList.vue"));
|
|
180
178
|
export default defineComponent({
|
|
181
179
|
name: "PodcastModuleBox",
|
|
@@ -188,7 +186,7 @@ export default defineComponent({
|
|
|
188
186
|
EditBox,
|
|
189
187
|
RecordingItemButton,
|
|
190
188
|
SubscribeButtons,
|
|
191
|
-
Countdown
|
|
189
|
+
Countdown,
|
|
192
190
|
},
|
|
193
191
|
|
|
194
192
|
mixins: [displayMethods, orgaComputed],
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
<button
|
|
3
3
|
v-if="!hidePlay || recordingLive"
|
|
4
4
|
class="image-play-button"
|
|
5
|
-
:class="[
|
|
6
|
-
|
|
5
|
+
:class="[
|
|
6
|
+
classicPodcastPlay ? '' : 'transparent-background',
|
|
7
|
+
justButtons ? 'not-image' : '',
|
|
8
|
+
]"
|
|
7
9
|
@mouseenter="hoverType = 'audio'"
|
|
8
10
|
@mouseleave="hoverType = ''"
|
|
9
11
|
@click="play(false)"
|
|
@@ -228,7 +230,7 @@ export default defineComponent({
|
|
|
228
230
|
|
|
229
231
|
<style lang="scss">
|
|
230
232
|
.octopus-app {
|
|
231
|
-
.image-play-button.not-image{
|
|
233
|
+
.image-play-button.not-image {
|
|
232
234
|
position: relative;
|
|
233
235
|
width: auto;
|
|
234
236
|
}
|
|
@@ -28,7 +28,10 @@
|
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
30
30
|
<div class="d-flex align-items-center">
|
|
31
|
-
<div
|
|
31
|
+
<div
|
|
32
|
+
v-if="podcast || emission || playlist"
|
|
33
|
+
class="d-flex flex-column ms-4"
|
|
34
|
+
>
|
|
32
35
|
<div class="h4 mb-2">
|
|
33
36
|
{{ $t("Newsletter") }}
|
|
34
37
|
</div>
|
|
@@ -83,8 +86,17 @@
|
|
|
83
86
|
params: { podcastId: podcast.podcastId },
|
|
84
87
|
}"
|
|
85
88
|
>
|
|
86
|
-
<svg
|
|
87
|
-
|
|
89
|
+
<svg
|
|
90
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
91
|
+
width="25"
|
|
92
|
+
height="25"
|
|
93
|
+
fill="currentColor"
|
|
94
|
+
class="bi bi-stars"
|
|
95
|
+
viewBox="0 0 16 16"
|
|
96
|
+
>
|
|
97
|
+
<path
|
|
98
|
+
d="M7.657 6.247c.11-.33.576-.33.686 0l.645 1.937a2.89 2.89 0 0 0 1.829 1.828l1.936.645c.33.11.33.576 0 .686l-1.937.645a2.89 2.89 0 0 0-1.828 1.829l-.645 1.936a.361.361 0 0 1-.686 0l-.645-1.937a2.89 2.89 0 0 0-1.828-1.828l-1.937-.645a.361.361 0 0 1 0-.686l1.937-.645a2.89 2.89 0 0 0 1.828-1.828l.645-1.937zM3.794 1.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387A1.734 1.734 0 0 0 4.593 5.69l-.387 1.162a.217.217 0 0 1-.412 0L3.407 5.69A1.734 1.734 0 0 0 2.31 4.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387A1.734 1.734 0 0 0 3.407 2.31l.387-1.162zM10.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732L9.1 2.137a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L10.863.1z"
|
|
99
|
+
/>
|
|
88
100
|
</svg>
|
|
89
101
|
</router-link>
|
|
90
102
|
</div>
|
|
@@ -173,11 +185,16 @@ export default defineComponent({
|
|
|
173
185
|
authenticated(): boolean {
|
|
174
186
|
return state.generalParameters.authenticated as boolean;
|
|
175
187
|
},
|
|
176
|
-
shareAiAuth(): boolean{
|
|
177
|
-
return
|
|
178
|
-
|
|
188
|
+
shareAiAuth(): boolean {
|
|
189
|
+
return (
|
|
190
|
+
!this.isPodcastmaker &&
|
|
191
|
+
this.authenticated &&
|
|
192
|
+
undefined !== this.podcast &&
|
|
193
|
+
this.isProduction &&
|
|
194
|
+
((this.authOrganisation.attributes?.["openAi"] as
|
|
179
195
|
| string
|
|
180
|
-
| undefined) === "true" ??
|
|
196
|
+
| undefined) === "true" ??
|
|
197
|
+
false)
|
|
181
198
|
);
|
|
182
199
|
},
|
|
183
200
|
titleRssButton(): string {
|
|
@@ -232,7 +249,11 @@ export default defineComponent({
|
|
|
232
249
|
},
|
|
233
250
|
rssUrl(): string {
|
|
234
251
|
let api = state.generalParameters.ApiUri + "rss/";
|
|
235
|
-
if(
|
|
252
|
+
if (
|
|
253
|
+
(!this.isPodcastmaker && this.playlist) ||
|
|
254
|
+
this.podcast ||
|
|
255
|
+
this.emission
|
|
256
|
+
) {
|
|
236
257
|
return "";
|
|
237
258
|
}
|
|
238
259
|
if (this.participantId) {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<span :class="sub.icon" />
|
|
19
19
|
</a>
|
|
20
20
|
</div>
|
|
21
|
-
|
|
21
|
+
<button
|
|
22
22
|
v-show="hiddenLinks.length"
|
|
23
23
|
id="subscribe-buttons-dropdown"
|
|
24
24
|
class="btn share-btn mx-2 saooti-more"
|
|
@@ -44,7 +44,6 @@
|
|
|
44
44
|
</ClassicPopover>
|
|
45
45
|
</teleport>
|
|
46
46
|
</div>
|
|
47
|
-
|
|
48
47
|
</template>
|
|
49
48
|
|
|
50
49
|
<script lang="ts">
|
|
@@ -52,11 +51,11 @@ import { state } from "../../../stores/ParamSdkStore";
|
|
|
52
51
|
import ClassicPopover from "../../misc/ClassicPopover.vue";
|
|
53
52
|
import { Emission } from "@/stores/class/general/emission";
|
|
54
53
|
import { defineComponent } from "vue";
|
|
55
|
-
type Link ={
|
|
56
|
-
name: string
|
|
57
|
-
icon: string
|
|
58
|
-
title: string
|
|
59
|
-
url: string|undefined
|
|
54
|
+
type Link = {
|
|
55
|
+
name: string;
|
|
56
|
+
icon: string;
|
|
57
|
+
title: string;
|
|
58
|
+
url: string | undefined;
|
|
60
59
|
};
|
|
61
60
|
export default defineComponent({
|
|
62
61
|
name: "SubscribeButtons",
|
|
@@ -65,14 +64,14 @@ export default defineComponent({
|
|
|
65
64
|
},
|
|
66
65
|
props: {
|
|
67
66
|
emission: { default: undefined, type: Object as () => Emission },
|
|
68
|
-
playlistId: { default: undefined, type:
|
|
69
|
-
windowWidth: { default: 0, type: Number},
|
|
70
|
-
justifyCenter: { default: true, type: Boolean},
|
|
67
|
+
playlistId: { default: undefined, type: Number },
|
|
68
|
+
windowWidth: { default: 0, type: Number },
|
|
69
|
+
justifyCenter: { default: true, type: Boolean },
|
|
71
70
|
},
|
|
72
71
|
data() {
|
|
73
72
|
return {
|
|
74
73
|
hiddenLinks: [] as Array<Link>,
|
|
75
|
-
lastWindowWidth: 420 as number
|
|
74
|
+
lastWindowWidth: 420 as number,
|
|
76
75
|
};
|
|
77
76
|
},
|
|
78
77
|
computed: {
|
|
@@ -105,7 +104,7 @@ export default defineComponent({
|
|
|
105
104
|
{
|
|
106
105
|
name: "RSS",
|
|
107
106
|
icon: "saooti-rss",
|
|
108
|
-
title: this.$t(
|
|
107
|
+
title: this.$t("Rss feed"),
|
|
109
108
|
url: this.rssUrl,
|
|
110
109
|
},
|
|
111
110
|
{
|
|
@@ -114,7 +113,7 @@ export default defineComponent({
|
|
|
114
113
|
title: "Amazon Music | Podcasters",
|
|
115
114
|
url: this.getUrl("amazon"),
|
|
116
115
|
},
|
|
117
|
-
|
|
116
|
+
|
|
118
117
|
{
|
|
119
118
|
name: "iHeart",
|
|
120
119
|
icon: "saooti-iheart",
|
|
@@ -145,7 +144,7 @@ export default defineComponent({
|
|
|
145
144
|
title: "Radioline",
|
|
146
145
|
url: this.getUrl("radioline"),
|
|
147
146
|
},
|
|
148
|
-
|
|
147
|
+
|
|
149
148
|
{
|
|
150
149
|
name: "tunein",
|
|
151
150
|
icon: "saooti-tunin",
|
|
@@ -155,12 +154,12 @@ export default defineComponent({
|
|
|
155
154
|
];
|
|
156
155
|
return sub.filter((item) => item.url);
|
|
157
156
|
},
|
|
158
|
-
rssUrl(): string|undefined {
|
|
157
|
+
rssUrl(): string | undefined {
|
|
159
158
|
let api = state.generalParameters.ApiUri + "rss/";
|
|
160
|
-
if(this.emission){
|
|
159
|
+
if (this.emission) {
|
|
161
160
|
return api + "emission/" + this.emission?.emissionId + ".rss";
|
|
162
161
|
}
|
|
163
|
-
if(this.playlistId){
|
|
162
|
+
if (this.playlistId) {
|
|
164
163
|
return api + "playlist/" + this.playlistId + ".rss";
|
|
165
164
|
}
|
|
166
165
|
return undefined;
|
|
@@ -171,7 +170,7 @@ export default defineComponent({
|
|
|
171
170
|
this.resizeWindow();
|
|
172
171
|
},
|
|
173
172
|
},
|
|
174
|
-
mounted(){
|
|
173
|
+
mounted() {
|
|
175
174
|
this.resizeWindow();
|
|
176
175
|
},
|
|
177
176
|
methods: {
|
|
@@ -187,16 +186,21 @@ export default defineComponent({
|
|
|
187
186
|
? "//" + link
|
|
188
187
|
: link;
|
|
189
188
|
},
|
|
190
|
-
resizeWindow(){
|
|
191
|
-
if(this.windowWidth > 420 && this.lastWindowWidth > 420){
|
|
189
|
+
resizeWindow() {
|
|
190
|
+
if (this.windowWidth > 420 && this.lastWindowWidth > 420) {
|
|
192
191
|
this.lastWindowWidth = this.windowWidth;
|
|
193
192
|
return;
|
|
194
193
|
}
|
|
195
|
-
|
|
194
|
+
|
|
196
195
|
const subscribeList = this.$refs.subscribeButtonsContainer as HTMLElement;
|
|
197
|
-
if (
|
|
196
|
+
if (
|
|
197
|
+
null === subscribeList ||
|
|
198
|
+
!subscribeList ||
|
|
199
|
+
"none" === subscribeList?.parentElement?.style.display
|
|
200
|
+
) {
|
|
198
201
|
return;
|
|
199
202
|
}
|
|
203
|
+
this.lastWindowWidth = this.windowWidth;
|
|
200
204
|
subscribeList.style.justifyContent = "flex-start";
|
|
201
205
|
this.hiddenLinks.length = 0;
|
|
202
206
|
this.subscriptionsDisplay.forEach((element: Link) => {
|
|
@@ -216,7 +220,8 @@ export default defineComponent({
|
|
|
216
220
|
const parent = el.parentElement;
|
|
217
221
|
if (
|
|
218
222
|
parent &&
|
|
219
|
-
|
|
223
|
+
el.offsetLeft + el.clientWidth + 20 <
|
|
224
|
+
parent.clientWidth + parent.offsetLeft
|
|
220
225
|
) {
|
|
221
226
|
return;
|
|
222
227
|
}
|
|
@@ -228,18 +233,18 @@ export default defineComponent({
|
|
|
228
233
|
if (!this.hiddenLinks.length && this.justifyCenter) {
|
|
229
234
|
subscribeList.style.justifyContent = "center";
|
|
230
235
|
}
|
|
231
|
-
}
|
|
236
|
+
},
|
|
232
237
|
},
|
|
233
238
|
});
|
|
234
239
|
</script>
|
|
235
240
|
<style lang="scss">
|
|
236
241
|
.octopus-app {
|
|
237
|
-
.subscribe-buttons-container{
|
|
242
|
+
.subscribe-buttons-container {
|
|
238
243
|
max-width: 420px;
|
|
239
244
|
align-self: center;
|
|
240
245
|
display: inline-flex;
|
|
241
246
|
width: 100%;
|
|
242
|
-
|
|
247
|
+
& > div {
|
|
243
248
|
display: inline-flex;
|
|
244
249
|
justify-content: flex-start;
|
|
245
250
|
overflow: hidden;
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
:value="organisationId"
|
|
41
41
|
:reset="reset"
|
|
42
42
|
@selected="onOrganisationSelected"
|
|
43
|
-
/>
|
|
43
|
+
/>
|
|
44
44
|
</div>
|
|
45
45
|
<a
|
|
46
46
|
v-if="isPodcastmaker && isContactLink"
|
|
@@ -95,7 +95,7 @@ export default defineComponent({
|
|
|
95
95
|
components: {
|
|
96
96
|
ClassicSelect,
|
|
97
97
|
AcpmImage,
|
|
98
|
-
OrganisationChooserLight
|
|
98
|
+
OrganisationChooserLight,
|
|
99
99
|
},
|
|
100
100
|
|
|
101
101
|
mixins: [cookies, orgaComputed, orgaFilter],
|
|
@@ -3,18 +3,19 @@
|
|
|
3
3
|
<button
|
|
4
4
|
v-if="isAuthenticatedWithOrga"
|
|
5
5
|
:title="$t('My space')"
|
|
6
|
-
class="btn admin-button hide-
|
|
6
|
+
class="btn admin-button hide-small-screen m-1 saooti-admin-menu text-blue-octopus"
|
|
7
7
|
@click="goToAdministration"
|
|
8
8
|
/>
|
|
9
9
|
<router-link
|
|
10
10
|
v-if="isAuthenticatedWithOrga && isContribution"
|
|
11
11
|
:title="$t('Upload')"
|
|
12
12
|
to="/main/priv/upload"
|
|
13
|
-
class="btn admin-button hide-
|
|
13
|
+
class="btn admin-button hide-small-screen m-1 saooti-download text-blue-octopus"
|
|
14
14
|
/>
|
|
15
15
|
<button
|
|
16
|
+
v-show="!mobileMenuDisplay || isAuthenticatedWithOrga"
|
|
16
17
|
id="home-dropdown"
|
|
17
|
-
class="btn m-1 admin-button saooti-user text-blue-octopus"
|
|
18
|
+
class="btn m-1 admin-button hide-small-screen saooti-user text-blue-octopus"
|
|
18
19
|
:title="$t('User menu')"
|
|
19
20
|
/>
|
|
20
21
|
<ClassicPopover
|
|
@@ -86,6 +87,7 @@ export default defineComponent({
|
|
|
86
87
|
},
|
|
87
88
|
props: {
|
|
88
89
|
isEducation: { default: false, type: Boolean },
|
|
90
|
+
mobileMenuDisplay: { default: false, type: Boolean },
|
|
89
91
|
},
|
|
90
92
|
computed: {
|
|
91
93
|
...mapState(useAuthStore, ["authProfile", "isGarRole"]),
|
|
@@ -7,54 +7,54 @@
|
|
|
7
7
|
:title="$t('open left Menu')"
|
|
8
8
|
@click="handleMenuClick"
|
|
9
9
|
/>
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
<template v-for="link in routerLinkArray" :key="link.routeName">
|
|
18
|
-
<router-link
|
|
19
|
-
v-if="link.condition"
|
|
20
|
-
:class="
|
|
21
|
-
'home' === link.routeName
|
|
22
|
-
? 'octopus-dropdown-item show-phone-flex'
|
|
23
|
-
: 'octopus-dropdown-item'
|
|
24
|
-
"
|
|
25
|
-
:to="{
|
|
26
|
-
name: link.routeName,
|
|
27
|
-
query: getQueriesRouter(link.routeName),
|
|
28
|
-
}"
|
|
29
|
-
>
|
|
30
|
-
{{ link.title }}
|
|
31
|
-
</router-link>
|
|
32
|
-
</template>
|
|
33
|
-
<hr class="show-phone" />
|
|
34
|
-
<router-link
|
|
35
|
-
v-for="category in categories"
|
|
36
|
-
:key="category.id"
|
|
37
|
-
class="show-phone-flex octopus-dropdown-item"
|
|
38
|
-
:to="{
|
|
39
|
-
name: 'category',
|
|
40
|
-
params: { iabId: category.id },
|
|
41
|
-
query: { productor: filterOrgaId },
|
|
42
|
-
}"
|
|
10
|
+
<teleport to=".octopus-app" :disabled="scrolled">
|
|
11
|
+
<ClassicPopover
|
|
12
|
+
v-if="firstLoaded"
|
|
13
|
+
target="mobile-menu-dropdown"
|
|
14
|
+
:only-click="true"
|
|
15
|
+
:is-fixed="true"
|
|
16
|
+
:left-pos="true"
|
|
43
17
|
>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
18
|
+
<template v-for="link in routerLinkArray" :key="link.routeName">
|
|
19
|
+
<router-link
|
|
20
|
+
v-if="link.condition"
|
|
21
|
+
:class="
|
|
22
|
+
'home' === link.routeName
|
|
23
|
+
? 'octopus-dropdown-item show-phone-flex'
|
|
24
|
+
: 'octopus-dropdown-item'
|
|
25
|
+
"
|
|
26
|
+
:to="{
|
|
27
|
+
name: link.routeName,
|
|
28
|
+
query: getQueriesRouter(link.routeName),
|
|
29
|
+
}"
|
|
30
|
+
>
|
|
31
|
+
{{ link.title }}
|
|
32
|
+
</router-link>
|
|
33
|
+
</template>
|
|
34
|
+
<template v-if="!isAuthenticatedWithOrga">
|
|
35
|
+
<a
|
|
36
|
+
class="octopus-dropdown-item"
|
|
37
|
+
href="/sso/login"
|
|
38
|
+
realLink="true"
|
|
39
|
+
>
|
|
40
|
+
{{ $t("Login") }}
|
|
41
|
+
</a>
|
|
42
|
+
<router-link class="octopus-dropdown-item" to="/main/pub/contact">
|
|
43
|
+
{{ $t("Contact") }}
|
|
44
|
+
</router-link>
|
|
45
|
+
</template>
|
|
46
|
+
|
|
47
|
+
</ClassicPopover>
|
|
48
|
+
</teleport>
|
|
47
49
|
</div>
|
|
48
50
|
</template>
|
|
49
51
|
|
|
50
52
|
<script lang="ts">
|
|
51
53
|
import { state } from "../../stores/ParamSdkStore";
|
|
52
54
|
import orgaFilter from "../mixins/organisationFilter";
|
|
53
|
-
import { Category } from "@/stores/class/general/category";
|
|
54
55
|
import { RubriquageFilter } from "@/stores/class/rubrique/rubriquageFilter";
|
|
55
56
|
import { defineComponent, defineAsyncComponent } from "vue";
|
|
56
57
|
import { useFilterStore } from "@/stores/FilterStore";
|
|
57
|
-
import { useGeneralStore } from "@/stores/GeneralStore";
|
|
58
58
|
import { mapState } from "pinia";
|
|
59
59
|
const ClassicPopover = defineAsyncComponent(
|
|
60
60
|
() => import("../misc/ClassicPopover.vue"),
|
|
@@ -69,6 +69,7 @@ export default defineComponent({
|
|
|
69
69
|
isEducation: { default: false, type: Boolean },
|
|
70
70
|
show: { default: false, type: Boolean },
|
|
71
71
|
notPodcastAndEmission: { default: false, type: Boolean },
|
|
72
|
+
scrolled: { default: false, type: Boolean },
|
|
72
73
|
},
|
|
73
74
|
data() {
|
|
74
75
|
return {
|
|
@@ -76,15 +77,22 @@ export default defineComponent({
|
|
|
76
77
|
};
|
|
77
78
|
},
|
|
78
79
|
computed: {
|
|
79
|
-
...mapState(useGeneralStore, ["storedCategories"]),
|
|
80
80
|
...mapState(useFilterStore, [
|
|
81
81
|
"filterLive",
|
|
82
82
|
"filterOrgaId",
|
|
83
83
|
"filterIab",
|
|
84
84
|
"filterRubrique",
|
|
85
85
|
]),
|
|
86
|
+
isAuthenticatedWithOrga(): boolean {
|
|
87
|
+
return state.generalParameters.authenticated ?? false;
|
|
88
|
+
},
|
|
86
89
|
routerLinkArray() {
|
|
87
90
|
return [
|
|
91
|
+
{
|
|
92
|
+
title: this.$t("My space"),
|
|
93
|
+
routeName: "backoffice",
|
|
94
|
+
condition: this.isAuthenticatedWithOrga,
|
|
95
|
+
},
|
|
88
96
|
{ title: this.$t("Home"), routeName: "home", condition: true },
|
|
89
97
|
{
|
|
90
98
|
title: this.$t("Radio & Live"),
|
|
@@ -93,7 +101,11 @@ export default defineComponent({
|
|
|
93
101
|
state.generalParameters.isLiveTab &&
|
|
94
102
|
((this.filterOrgaId && this.filterLive) || !this.filterOrgaId),
|
|
95
103
|
},
|
|
96
|
-
{
|
|
104
|
+
{
|
|
105
|
+
title: this.$t("Podcasts"),
|
|
106
|
+
routeName: "podcasts",
|
|
107
|
+
condition: !this.notPodcastAndEmission,
|
|
108
|
+
},
|
|
97
109
|
{
|
|
98
110
|
title: this.$t("Emissions"),
|
|
99
111
|
routeName: "emissions",
|
|
@@ -115,14 +127,13 @@ export default defineComponent({
|
|
|
115
127
|
routeName: "participants",
|
|
116
128
|
condition: true,
|
|
117
129
|
},
|
|
130
|
+
{
|
|
131
|
+
title: this.$t("Create an account"),
|
|
132
|
+
routeName: "createAccount",
|
|
133
|
+
condition: !this.isAuthenticatedWithOrga,
|
|
134
|
+
},
|
|
118
135
|
];
|
|
119
136
|
},
|
|
120
|
-
categories(): Array<Category> {
|
|
121
|
-
return this.storedCategories.filter((c: Category) => {
|
|
122
|
-
if (this.isPodcastmaker) return c.podcastOrganisationCount;
|
|
123
|
-
return c.podcastCount;
|
|
124
|
-
});
|
|
125
|
-
},
|
|
126
137
|
isPodcastmaker(): boolean {
|
|
127
138
|
return state.generalParameters.podcastmaker as boolean;
|
|
128
139
|
},
|
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
|
|
2
|
+
<div
|
|
3
|
+
class="top-bar-container"
|
|
4
|
+
:class="{ scrolled: scrolled, 'content-top-bar': isContentToDisplay }"
|
|
4
5
|
>
|
|
5
|
-
<TopBarMainContent
|
|
6
|
-
:is-education="isEducation"
|
|
6
|
+
<TopBarMainContent
|
|
7
|
+
:is-education="isEducation"
|
|
7
8
|
:is-phone="isPhone"
|
|
8
9
|
:scrolled="scrolled"
|
|
9
10
|
:title-display="titleToDisplay"
|
|
10
11
|
/>
|
|
11
12
|
<template v-if="isContentToDisplay">
|
|
12
13
|
<div class="page-element-bg" :style="backgroundDisplay" />
|
|
13
|
-
<h1
|
|
14
|
-
|
|
15
|
-
class="text-truncate"
|
|
16
|
-
>{{ titleToDisplay }}</h1>
|
|
17
|
-
<SubscribeButtons
|
|
14
|
+
<h1 v-show="!scrolled" class="text-truncate">{{ titleToDisplay }}</h1>
|
|
15
|
+
<SubscribeButtons
|
|
18
16
|
v-show="!scrolled"
|
|
19
17
|
:emission="emissionObject"
|
|
20
18
|
:playlist-id="contentToDisplay?.playlistId"
|
|
@@ -42,7 +40,7 @@ export default defineComponent({
|
|
|
42
40
|
name: "TopBar",
|
|
43
41
|
components: {
|
|
44
42
|
TopBarMainContent,
|
|
45
|
-
SubscribeButtons
|
|
43
|
+
SubscribeButtons,
|
|
46
44
|
},
|
|
47
45
|
|
|
48
46
|
mixins: [imageProxy, resizePhone],
|
|
@@ -61,8 +59,8 @@ export default defineComponent({
|
|
|
61
59
|
},
|
|
62
60
|
computed: {
|
|
63
61
|
...mapState(useGeneralStore, ["contentToDisplay"]),
|
|
64
|
-
isContentToDisplay(): boolean{
|
|
65
|
-
return null!==this.contentToDisplay;
|
|
62
|
+
isContentToDisplay(): boolean {
|
|
63
|
+
return null !== this.contentToDisplay;
|
|
66
64
|
},
|
|
67
65
|
backgroundDisplay(): string {
|
|
68
66
|
if (!this.contentToDisplay) {
|
|
@@ -73,30 +71,30 @@ export default defineComponent({
|
|
|
73
71
|
"270",
|
|
74
72
|
)}');`;
|
|
75
73
|
},
|
|
76
|
-
titleToDisplay(): string{
|
|
77
|
-
if((this.contentToDisplay as Podcast)?.podcastId){
|
|
74
|
+
titleToDisplay(): string {
|
|
75
|
+
if ((this.contentToDisplay as Podcast)?.podcastId) {
|
|
78
76
|
return (this.contentToDisplay as Podcast).emission.name;
|
|
79
77
|
}
|
|
80
|
-
if((this.contentToDisplay as Playlist)?.playlistId){
|
|
78
|
+
if ((this.contentToDisplay as Playlist)?.playlistId) {
|
|
81
79
|
return (this.contentToDisplay as Playlist).title;
|
|
82
80
|
}
|
|
83
|
-
if((this.contentToDisplay as Emission)?.emissionId){
|
|
81
|
+
if ((this.contentToDisplay as Emission)?.emissionId) {
|
|
84
82
|
return (this.contentToDisplay as Emission).name;
|
|
85
83
|
}
|
|
86
|
-
if((this.contentToDisplay as Canal)?.id){
|
|
84
|
+
if ((this.contentToDisplay as Canal)?.id) {
|
|
87
85
|
return (this.contentToDisplay as Canal).name;
|
|
88
86
|
}
|
|
89
87
|
return "";
|
|
90
88
|
},
|
|
91
|
-
emissionObject(): Emission|null{
|
|
92
|
-
if((this.contentToDisplay as Podcast)?.podcastId){
|
|
89
|
+
emissionObject(): Emission | null {
|
|
90
|
+
if ((this.contentToDisplay as Podcast)?.podcastId) {
|
|
93
91
|
return (this.contentToDisplay as Podcast).emission;
|
|
94
92
|
}
|
|
95
|
-
if((this.contentToDisplay as Emission)?.emissionId){
|
|
96
|
-
return
|
|
93
|
+
if ((this.contentToDisplay as Emission)?.emissionId) {
|
|
94
|
+
return this.contentToDisplay as Emission;
|
|
97
95
|
}
|
|
98
96
|
return null;
|
|
99
|
-
}
|
|
97
|
+
},
|
|
100
98
|
},
|
|
101
99
|
mounted() {
|
|
102
100
|
window.addEventListener("scroll", this.handleScroll);
|
|
@@ -137,55 +135,80 @@ export default defineComponent({
|
|
|
137
135
|
position: sticky;
|
|
138
136
|
top: 0;
|
|
139
137
|
background: $octopus-primary-color;
|
|
140
|
-
background: linear-gradient(
|
|
138
|
+
background: linear-gradient(
|
|
139
|
+
90deg,
|
|
140
|
+
$octopus-primary-color 0%,
|
|
141
|
+
$blue-octopus 100%
|
|
142
|
+
);
|
|
141
143
|
width: 100%;
|
|
142
144
|
height: 5rem;
|
|
143
145
|
display: flex;
|
|
144
146
|
flex-direction: column;
|
|
145
147
|
transition: height 0.7s;
|
|
148
|
+
box-shadow: 0px 2px 15px 5px rgba(0, 0, 0, 0.4) !important;
|
|
146
149
|
|
|
147
|
-
&.content-top-bar{
|
|
150
|
+
&.content-top-bar {
|
|
148
151
|
height: 22rem;
|
|
149
152
|
background: black;
|
|
150
|
-
.page-element-bg{
|
|
153
|
+
.page-element-bg {
|
|
151
154
|
height: 22rem;
|
|
152
155
|
}
|
|
153
156
|
}
|
|
154
|
-
&.content-top-bar.scrolled{
|
|
157
|
+
&.content-top-bar.scrolled {
|
|
155
158
|
height: 5rem;
|
|
156
|
-
.page-element-bg{
|
|
159
|
+
.page-element-bg {
|
|
157
160
|
height: 5rem;
|
|
158
161
|
}
|
|
159
162
|
}
|
|
160
163
|
|
|
161
164
|
&.scrolled {
|
|
162
165
|
z-index: 11;
|
|
163
|
-
box-shadow:0px 2px 15px 5px rgba(0, 0, 0, 0.4) !important;
|
|
164
166
|
}
|
|
165
167
|
|
|
166
|
-
h1{
|
|
168
|
+
h1 {
|
|
167
169
|
color: white !important;
|
|
168
170
|
font-size: 2rem;
|
|
169
171
|
margin: 2rem 5rem;
|
|
170
172
|
}
|
|
173
|
+
@media (max-width: 650px) {
|
|
174
|
+
height: 3.5rem;
|
|
175
|
+
&.content-top-bar.scrolled {
|
|
176
|
+
height: 3.5rem;
|
|
177
|
+
.page-element-bg {
|
|
178
|
+
height: 3.5rem;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
171
182
|
|
|
172
|
-
|
|
183
|
+
@media (max-width: 550px) {
|
|
184
|
+
h1 {
|
|
185
|
+
font-size: 1rem;
|
|
186
|
+
margin: 1rem 0.5rem 0.5rem 0.5rem;
|
|
187
|
+
}
|
|
188
|
+
&.content-top-bar {
|
|
189
|
+
height: 13rem;
|
|
190
|
+
.page-element-bg {
|
|
191
|
+
height: 13rem;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
.page-element-bg {
|
|
173
196
|
opacity: 0.5;
|
|
174
197
|
filter: blur(8px);
|
|
175
198
|
-webkit-filter: blur(8px);
|
|
176
199
|
background-position: center;
|
|
177
200
|
background-repeat: no-repeat;
|
|
178
|
-
background-size: cover;
|
|
201
|
+
background-size: cover;
|
|
179
202
|
width: 100%;
|
|
180
203
|
position: absolute;
|
|
181
204
|
z-index: -1;
|
|
182
205
|
transition: height 0.7s;
|
|
183
206
|
}
|
|
184
207
|
|
|
185
|
-
.admin-button:hover,
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
208
|
+
.admin-button:hover,
|
|
209
|
+
.share-btn:hover {
|
|
210
|
+
background: white;
|
|
211
|
+
}
|
|
189
212
|
}
|
|
190
213
|
}
|
|
191
214
|
</style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="top-bar-grid" :class="{scrolled: titleIsDisplayed}">
|
|
2
|
+
<div class="top-bar-grid" :class="{ scrolled: titleIsDisplayed }">
|
|
3
3
|
<router-link
|
|
4
4
|
class="top-bar-logo"
|
|
5
5
|
:to="{
|
|
@@ -26,18 +26,21 @@
|
|
|
26
26
|
:class="isEducation ? 'educationLogo' : ''"
|
|
27
27
|
/>
|
|
28
28
|
</router-link>
|
|
29
|
-
<h1
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class="
|
|
35
|
-
|
|
29
|
+
<h1 v-if="titleIsDisplayed" class="text-truncate m-0 align-self-center">
|
|
30
|
+
{{ titleDisplay }}
|
|
31
|
+
</h1>
|
|
32
|
+
<div
|
|
33
|
+
class="d-flex"
|
|
34
|
+
:class="[
|
|
35
|
+
scrolled || inContentDisplayPage || isPhone
|
|
36
|
+
? 'flex-row-reverse align-items-center'
|
|
37
|
+
: 'flex-column align-items-end',
|
|
38
|
+
]"
|
|
36
39
|
>
|
|
37
|
-
<a
|
|
38
|
-
v-if="filterOrgaId && ''
|
|
40
|
+
<a
|
|
41
|
+
v-if="filterOrgaId && '' == !imgUrl"
|
|
39
42
|
href="https://www.saooti.com/"
|
|
40
|
-
target="_blank"
|
|
43
|
+
target="_blank"
|
|
41
44
|
rel="noopener"
|
|
42
45
|
>
|
|
43
46
|
<img
|
|
@@ -81,7 +84,10 @@
|
|
|
81
84
|
:left-pos="true"
|
|
82
85
|
>
|
|
83
86
|
<div class="d-flex flex-column">
|
|
84
|
-
<template
|
|
87
|
+
<template
|
|
88
|
+
v-for="link in routerLinkInsideArray"
|
|
89
|
+
:key="link.routeName"
|
|
90
|
+
>
|
|
85
91
|
<router-link
|
|
86
92
|
v-if="link.condition"
|
|
87
93
|
:to="{
|
|
@@ -95,8 +101,13 @@
|
|
|
95
101
|
</template>
|
|
96
102
|
</div>
|
|
97
103
|
</ClassicPopover>
|
|
98
|
-
<MobileMenu
|
|
99
|
-
|
|
104
|
+
<MobileMenu
|
|
105
|
+
:is-education="isEducation"
|
|
106
|
+
:show="mobileMenuDisplay"
|
|
107
|
+
:not-podcast-and-emission="inContentDisplayPage && !scrolled"
|
|
108
|
+
:scrolled="scrolled"
|
|
109
|
+
/>
|
|
110
|
+
<HomeDropdown :is-education="isEducation" :mobile-menu-display="mobileMenuDisplay" />
|
|
100
111
|
<router-link
|
|
101
112
|
v-show="!scrolled && !isPhone && !inContentDisplayPage"
|
|
102
113
|
:title="$t('Search')"
|
|
@@ -136,8 +147,7 @@ export default defineComponent({
|
|
|
136
147
|
scrolled: { default: false, type: Boolean },
|
|
137
148
|
},
|
|
138
149
|
data() {
|
|
139
|
-
return {
|
|
140
|
-
};
|
|
150
|
+
return {};
|
|
141
151
|
},
|
|
142
152
|
computed: {
|
|
143
153
|
...mapState(useFilterStore, [
|
|
@@ -148,11 +158,14 @@ export default defineComponent({
|
|
|
148
158
|
"filterRubrique",
|
|
149
159
|
"filterName",
|
|
150
160
|
]),
|
|
151
|
-
|
|
161
|
+
mobileMenuDisplay():boolean{
|
|
162
|
+
return this.scrolled || this.isPhone || this.inContentDisplayPage;
|
|
163
|
+
},
|
|
164
|
+
titleIsDisplayed(): boolean {
|
|
152
165
|
return this.inContentDisplayPage && this.scrolled && !this.isPhone;
|
|
153
166
|
},
|
|
154
|
-
inContentDisplayPage():boolean{
|
|
155
|
-
return 0!==this.titleDisplay.length;
|
|
167
|
+
inContentDisplayPage(): boolean {
|
|
168
|
+
return 0 !== this.titleDisplay.length;
|
|
156
169
|
},
|
|
157
170
|
routerLinkArray() {
|
|
158
171
|
return [
|
|
@@ -235,23 +248,23 @@ export default defineComponent({
|
|
|
235
248
|
<style lang="scss">
|
|
236
249
|
@import "@scss/_variables.scss";
|
|
237
250
|
.octopus-app {
|
|
238
|
-
.top-bar-grid{
|
|
251
|
+
.top-bar-grid {
|
|
239
252
|
display: grid;
|
|
240
253
|
grid-template-columns: 1fr 3fr;
|
|
241
254
|
margin-top: 0.5rem;
|
|
242
255
|
padding: 0 1rem;
|
|
243
|
-
&.scrolled{
|
|
256
|
+
&.scrolled {
|
|
244
257
|
grid-template-columns: 1fr 2fr 1fr;
|
|
245
258
|
}
|
|
246
259
|
@media (max-width: 450px) {
|
|
247
260
|
padding: 0 0.5rem;
|
|
248
261
|
}
|
|
249
262
|
|
|
250
|
-
|
|
251
|
-
a.link-hover{
|
|
263
|
+
a.link-hover {
|
|
252
264
|
color: white;
|
|
253
265
|
font-weight: bold;
|
|
254
|
-
&.link-hover:hover,
|
|
266
|
+
&.link-hover:hover,
|
|
267
|
+
&.link-hover.router-link-exact-active.router-link-active {
|
|
255
268
|
color: white;
|
|
256
269
|
text-decoration: underline;
|
|
257
270
|
text-underline-offset: 8px;
|
|
@@ -268,9 +281,6 @@ export default defineComponent({
|
|
|
268
281
|
height: 2rem;
|
|
269
282
|
}
|
|
270
283
|
}
|
|
271
|
-
|
|
272
284
|
}
|
|
273
285
|
}
|
|
274
286
|
</style>
|
|
275
|
-
|
|
276
|
-
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<template v-if="loaded && !error">
|
|
4
4
|
<PodcastmakerHeader
|
|
5
5
|
v-if="isPodcastmaker"
|
|
6
|
-
:
|
|
7
|
-
:
|
|
6
|
+
:page-title="$t('Emission')"
|
|
7
|
+
:image-url="emission.imageUrl"
|
|
8
8
|
/>
|
|
9
9
|
<div class="d-flex flex-column page-element">
|
|
10
10
|
<div class="module-box">
|
|
@@ -29,9 +29,11 @@
|
|
|
29
29
|
:podcast="lastPodcast"
|
|
30
30
|
:just-buttons="true"
|
|
31
31
|
/>
|
|
32
|
-
<div class="ms-2 fw-bold">
|
|
32
|
+
<div class="ms-2 fw-bold">
|
|
33
|
+
{{ $t("Listen to the latest episode") }}
|
|
34
|
+
</div>
|
|
33
35
|
</div>
|
|
34
|
-
<SubscribeButtons
|
|
36
|
+
<SubscribeButtons
|
|
35
37
|
v-if="isPodcastmaker"
|
|
36
38
|
class="mt-4"
|
|
37
39
|
:emission="emission"
|
|
@@ -142,7 +144,7 @@ export default defineComponent({
|
|
|
142
144
|
LiveHorizontalList,
|
|
143
145
|
ClassicLoading,
|
|
144
146
|
PodcastPlayButton,
|
|
145
|
-
PodcastmakerHeader
|
|
147
|
+
PodcastmakerHeader,
|
|
146
148
|
},
|
|
147
149
|
mixins: [displayMethods, handle403, orgaComputed, imageProxy],
|
|
148
150
|
props: {
|
|
@@ -204,7 +206,7 @@ export default defineComponent({
|
|
|
204
206
|
},
|
|
205
207
|
},
|
|
206
208
|
},
|
|
207
|
-
beforeUnmount(){
|
|
209
|
+
beforeUnmount() {
|
|
208
210
|
this.contentToDisplayUpdate(null);
|
|
209
211
|
},
|
|
210
212
|
|
|
@@ -251,11 +253,11 @@ export default defineComponent({
|
|
|
251
253
|
this.initError();
|
|
252
254
|
}
|
|
253
255
|
},
|
|
254
|
-
podcastsFetched(podcasts: Array<Podcast>){
|
|
255
|
-
if(podcasts.length){
|
|
256
|
+
podcastsFetched(podcasts: Array<Podcast>) {
|
|
257
|
+
if (podcasts.length) {
|
|
256
258
|
this.lastPodcast = podcasts[0];
|
|
257
259
|
}
|
|
258
|
-
}
|
|
260
|
+
},
|
|
259
261
|
},
|
|
260
262
|
});
|
|
261
263
|
</script>
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<template v-if="loaded && !error">
|
|
4
4
|
<PodcastmakerHeader
|
|
5
5
|
v-if="isPodcastmaker"
|
|
6
|
-
:
|
|
7
|
-
:
|
|
6
|
+
:page-title="pageTitle"
|
|
7
|
+
:image-url="playlist.imageUrl"
|
|
8
8
|
/>
|
|
9
9
|
<div class="d-flex flex-column page-element">
|
|
10
10
|
<div class="module-box">
|
|
@@ -80,7 +80,7 @@ export default defineComponent({
|
|
|
80
80
|
PodcastList,
|
|
81
81
|
SharePlayer,
|
|
82
82
|
ClassicLoading,
|
|
83
|
-
PodcastmakerHeader
|
|
83
|
+
PodcastmakerHeader,
|
|
84
84
|
},
|
|
85
85
|
mixins: [displayMethods, handle403, orgaComputed, imageProxy],
|
|
86
86
|
|
|
@@ -141,7 +141,7 @@ export default defineComponent({
|
|
|
141
141
|
},
|
|
142
142
|
},
|
|
143
143
|
},
|
|
144
|
-
beforeUnmount(){
|
|
144
|
+
beforeUnmount() {
|
|
145
145
|
this.contentToDisplayUpdate(null);
|
|
146
146
|
},
|
|
147
147
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<template v-if="loaded && !error">
|
|
4
4
|
<PodcastmakerHeader
|
|
5
5
|
v-if="isPodcastmaker"
|
|
6
|
-
:
|
|
7
|
-
:
|
|
6
|
+
:page-title="titlePage"
|
|
7
|
+
:image-url="podcast.imageUrl"
|
|
8
8
|
/>
|
|
9
9
|
<div class="d-flex flex-column page-element">
|
|
10
10
|
<PodcastModuleBox
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
:organisation-id="myOrganisationId"
|
|
23
23
|
:is-education="isEducation"
|
|
24
24
|
/>
|
|
25
|
-
|
|
25
|
+
|
|
26
26
|
<CommentSection
|
|
27
27
|
v-if="!isPodcastmaker && isComments"
|
|
28
28
|
ref="commentSection"
|
|
@@ -112,7 +112,7 @@ export default defineComponent({
|
|
|
112
112
|
PodcastModuleBox,
|
|
113
113
|
ClassicLoading,
|
|
114
114
|
ClassicLazy,
|
|
115
|
-
PodcastmakerHeader
|
|
115
|
+
PodcastmakerHeader,
|
|
116
116
|
},
|
|
117
117
|
|
|
118
118
|
mixins: [handle403, orgaComputed, imageProxy],
|
|
@@ -239,7 +239,7 @@ export default defineComponent({
|
|
|
239
239
|
},
|
|
240
240
|
},
|
|
241
241
|
},
|
|
242
|
-
beforeUnmount(){
|
|
242
|
+
beforeUnmount() {
|
|
243
243
|
this.contentToDisplayUpdate(null);
|
|
244
244
|
},
|
|
245
245
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
<template v-if="loaded && !error">
|
|
4
4
|
<PodcastmakerHeader
|
|
5
5
|
v-if="isPodcastmaker"
|
|
6
|
-
:
|
|
7
|
-
:
|
|
6
|
+
:page-title="$t('Radio')"
|
|
7
|
+
:image-url="radio.imageUrl"
|
|
8
8
|
/>
|
|
9
9
|
<div v-if="radio" class="d-flex flex-column page-element">
|
|
10
10
|
<div class="module-box">
|
|
@@ -77,7 +77,7 @@ export default defineComponent({
|
|
|
77
77
|
RadioCurrently,
|
|
78
78
|
RadioImage,
|
|
79
79
|
RadioPlanning,
|
|
80
|
-
PodcastmakerHeader
|
|
80
|
+
PodcastmakerHeader,
|
|
81
81
|
},
|
|
82
82
|
mixins: [displayMethods, handle403, orgaComputed, imageProxy],
|
|
83
83
|
props: {
|
|
@@ -114,7 +114,7 @@ export default defineComponent({
|
|
|
114
114
|
},
|
|
115
115
|
},
|
|
116
116
|
},
|
|
117
|
-
beforeUnmount(){
|
|
117
|
+
beforeUnmount() {
|
|
118
118
|
this.contentToDisplayUpdate(null);
|
|
119
119
|
},
|
|
120
120
|
methods: {
|
package/src/router/router.ts
CHANGED
|
@@ -35,6 +35,16 @@ const routes: Array<RouteRecordRaw> = [
|
|
|
35
35
|
name: "",
|
|
36
36
|
component: Home,
|
|
37
37
|
},
|
|
38
|
+
{
|
|
39
|
+
path: "/",
|
|
40
|
+
name: "backoffice",
|
|
41
|
+
component: Home,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
path: "/",
|
|
45
|
+
name: "createAccount",
|
|
46
|
+
component: Home,
|
|
47
|
+
},
|
|
38
48
|
{
|
|
39
49
|
path: "/main/pub/error",
|
|
40
50
|
name: "error",
|