@saooti/octopus-sdk 40.1.10 → 40.1.12
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/components/composable/player/usePlayerLive.ts +1 -2
- package/src/components/composable/player/usePlayerLogic.ts +2 -4
- package/src/components/composable/route/useAdvancedParamInit.ts +2 -1
- package/src/components/composable/route/useSimplePageParam.ts +4 -2
- package/src/components/display/sharing/ShareButtons.vue +14 -14
- package/src/components/icons/BlueSkyIcon.vue +32 -0
- package/src/components/pages/EmissionsPage.vue +3 -2
- package/src/components/pages/ParticipantsPage.vue +2 -1
- package/src/components/pages/PlaylistsPage.vue +2 -1
- package/src/components/pages/PodcastsPage.vue +3 -2
- package/src/components/pages/RubriquePage.vue +2 -1
- package/src/components/pages/TagPage.vue +2 -1
- package/src/style/bootstrap.scss +0 -45
package/package.json
CHANGED
|
@@ -8,11 +8,10 @@ import dayjs from "dayjs";
|
|
|
8
8
|
let Hls:any = null;
|
|
9
9
|
/* eslint-enable*/
|
|
10
10
|
const maxMinutesSessionId = 1;
|
|
11
|
-
export const usePlayerLive = ()=>{
|
|
11
|
+
export const usePlayerLive = (hlsReady: Ref<Boolean>)=>{
|
|
12
12
|
|
|
13
13
|
const { listenTime, initLiveDownloadId, setDownloadId, onTimeUpdateProgress } = usePlayerLogicProgress();
|
|
14
14
|
|
|
15
|
-
const hlsReady= ref(false);
|
|
16
15
|
const audioElement: Ref<HTMLAudioElement | null>= ref(null);
|
|
17
16
|
const hls: Ref<any>= ref(null);
|
|
18
17
|
const hlsRetryTimeout: Ref<ReturnType<typeof setTimeout> | undefined>= ref(undefined);
|
|
@@ -11,10 +11,9 @@ import classicApi from "../../../api/classicApi";
|
|
|
11
11
|
import dayjs from "dayjs";
|
|
12
12
|
import { FetchParam } from "@/stores/class/general/fetchParam";
|
|
13
13
|
export const usePlayerLogic = (forceHide: Ref<boolean, boolean>)=>{
|
|
14
|
+
const hlsReady= ref(false);
|
|
14
15
|
|
|
15
|
-
const {
|
|
16
|
-
listenTime,
|
|
17
|
-
onPlay, setDownloadId, onTimeUpdateProgress, playLive, endingLive, playRadio} = usePlayerLive();
|
|
16
|
+
const { listenTime, onPlay, setDownloadId, onTimeUpdateProgress, playLive, endingLive, playRadio} = usePlayerLive(hlsReady);
|
|
18
17
|
const { contentEndedAdsLoader } = usePlayerStitching();
|
|
19
18
|
const { getTranscription, onTimeUpdateTranscript, onSeekedTranscript, checkDelaytWithStitching } = usePlayerTranscript();
|
|
20
19
|
|
|
@@ -23,7 +22,6 @@ export const usePlayerLogic = (forceHide: Ref<boolean, boolean>)=>{
|
|
|
23
22
|
const percentLiveProgress= ref(0);
|
|
24
23
|
const durationLivePosition= ref(0);
|
|
25
24
|
const displayAlertBar= ref(false);
|
|
26
|
-
const hlsReady= ref(false);
|
|
27
25
|
const audioUrlToPlay= ref("");
|
|
28
26
|
|
|
29
27
|
|
|
@@ -8,7 +8,7 @@ export const useSimplePageParam = (props: any)=>{
|
|
|
8
8
|
|
|
9
9
|
const filterStore = useFilterStore();
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
const isInit = ref(false);
|
|
12
12
|
const searchPattern = ref("");
|
|
13
13
|
const organisationId: Ref<string|undefined> = ref(undefined);
|
|
14
14
|
|
|
@@ -29,6 +29,7 @@ export const useSimplePageParam = (props: any)=>{
|
|
|
29
29
|
onMounted(() => {
|
|
30
30
|
initOrga();
|
|
31
31
|
initSearchPattern();
|
|
32
|
+
isInit.value = true;
|
|
32
33
|
})
|
|
33
34
|
|
|
34
35
|
function initSearchPattern(){
|
|
@@ -45,6 +46,7 @@ export const useSimplePageParam = (props: any)=>{
|
|
|
45
46
|
searchMinSize,
|
|
46
47
|
paginateFirst,
|
|
47
48
|
initSearchPattern,
|
|
48
|
-
initOrga
|
|
49
|
+
initOrga,
|
|
50
|
+
isInit
|
|
49
51
|
}
|
|
50
52
|
}
|
|
@@ -12,15 +12,14 @@
|
|
|
12
12
|
rel="noreferrer noopener"
|
|
13
13
|
target="_blank"
|
|
14
14
|
:href="button.url"
|
|
15
|
-
|
|
16
|
-
class="me-2"
|
|
15
|
+
class="btn share-btn mb-2 text-dark me-2"
|
|
17
16
|
:title="$t('New window', {text: button.title})"
|
|
18
17
|
>
|
|
19
18
|
<component :is="button.icon" :size="34" />
|
|
20
19
|
</a>
|
|
21
20
|
</template>
|
|
22
21
|
<button
|
|
23
|
-
|
|
22
|
+
class="btn share-btn mb-2 text-dark"
|
|
24
23
|
:title="$t('Copy this page URL')"
|
|
25
24
|
@click="onCopyCode(urlPage, afterCopy)"
|
|
26
25
|
>
|
|
@@ -37,7 +36,7 @@
|
|
|
37
36
|
{{ $t("Newsletter") }}
|
|
38
37
|
</h3>
|
|
39
38
|
<button
|
|
40
|
-
|
|
39
|
+
class="btn share-btn mb-2 text-dark"
|
|
41
40
|
:title="$t('Share newsletter')"
|
|
42
41
|
@click="newsletter = true"
|
|
43
42
|
>
|
|
@@ -49,7 +48,7 @@
|
|
|
49
48
|
{{ $t("QR Code") }}
|
|
50
49
|
</h3>
|
|
51
50
|
<button
|
|
52
|
-
|
|
51
|
+
class="btn share-btn mb-2 text-dark"
|
|
53
52
|
:title="$t('Share QR Code')"
|
|
54
53
|
@click="qrCode = true"
|
|
55
54
|
>
|
|
@@ -67,7 +66,7 @@
|
|
|
67
66
|
<a
|
|
68
67
|
rel="noreferrer noopener"
|
|
69
68
|
target="_blank"
|
|
70
|
-
|
|
69
|
+
class="btn share-btn mb-2 text-dark"
|
|
71
70
|
:href="rssUrl"
|
|
72
71
|
:title="$t('New window', {text: titleRssButton})"
|
|
73
72
|
@click.prevent="openPopup()"
|
|
@@ -82,7 +81,7 @@
|
|
|
82
81
|
</h3>
|
|
83
82
|
<div class="d-flex align-items-center justify-content-center">
|
|
84
83
|
<router-link
|
|
85
|
-
|
|
84
|
+
class="btn share-btn mb-2 text-dark"
|
|
86
85
|
:title="$t('Generate a social media post (with AI)')"
|
|
87
86
|
:to="{
|
|
88
87
|
name: 'advancedShare',
|
|
@@ -127,6 +126,7 @@
|
|
|
127
126
|
|
|
128
127
|
<script lang="ts">
|
|
129
128
|
import XIcon from "../../icons/XIcon.vue";
|
|
129
|
+
import BlueSkyIcon from "../../icons/BlueSkyIcon.vue";
|
|
130
130
|
import CreationIcon from "vue-material-design-icons/Creation.vue";
|
|
131
131
|
import RssIcon from "vue-material-design-icons/Rss.vue";
|
|
132
132
|
import WhatsappIcon from "vue-material-design-icons/Whatsapp.vue";
|
|
@@ -171,6 +171,7 @@ export default defineComponent({
|
|
|
171
171
|
RssIcon,
|
|
172
172
|
XIcon,
|
|
173
173
|
CreationIcon,
|
|
174
|
+
BlueSkyIcon
|
|
174
175
|
},
|
|
175
176
|
props: {
|
|
176
177
|
podcast: { default: undefined, type: Object as () => Podcast },
|
|
@@ -223,28 +224,30 @@ export default defineComponent({
|
|
|
223
224
|
{
|
|
224
225
|
title: "Facebook",
|
|
225
226
|
icon: "FacebookIcon",
|
|
226
|
-
className: "btn-facebook",
|
|
227
227
|
url: `https://www.facebook.com/sharer/sharer.php?u=${this.urlPage}`,
|
|
228
228
|
condition: true,
|
|
229
229
|
},
|
|
230
230
|
{
|
|
231
231
|
title: "X",
|
|
232
232
|
icon: "XIcon",
|
|
233
|
-
className: "btn-twitter",
|
|
234
233
|
url: `https://twitter.com/intent/tweet?text=${this.urlPage}`,
|
|
235
234
|
condition: true,
|
|
236
235
|
},
|
|
237
236
|
{
|
|
238
237
|
title: "Linkedin",
|
|
239
238
|
icon: "LinkedinIcon",
|
|
240
|
-
className: "btn-linkedin",
|
|
241
239
|
url: `https://www.linkedin.com/sharing/share-offsite/?url=${this.urlPage}`,
|
|
242
240
|
condition: true,
|
|
243
241
|
},
|
|
242
|
+
{
|
|
243
|
+
title: "Bluesky",
|
|
244
|
+
icon: "BlueSkyIcon",
|
|
245
|
+
url: `https://bsky.app/intent/compose?text=${this.urlPage}`,
|
|
246
|
+
condition: true,
|
|
247
|
+
},
|
|
244
248
|
{
|
|
245
249
|
title: "Whatsapp",
|
|
246
250
|
icon: "WhatsappIcon",
|
|
247
|
-
className: "btn-whatsapp",
|
|
248
251
|
url: `whatsapp://send?text=${this.urlPage}`,
|
|
249
252
|
condition: window.matchMedia("(hover: none)").matches,
|
|
250
253
|
},
|
|
@@ -302,9 +305,6 @@ export default defineComponent({
|
|
|
302
305
|
this.noSharing = "true" === attributes.noSharing;
|
|
303
306
|
this.isLoading = false;
|
|
304
307
|
},
|
|
305
|
-
getClass(className = "btn-rss"): string {
|
|
306
|
-
return `btn ${className} share-btn mb-2 text-dark`;
|
|
307
|
-
},
|
|
308
308
|
openPopup(): void {
|
|
309
309
|
this.dataRSSSave = !this.dataRSSSave;
|
|
310
310
|
},
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<span
|
|
3
|
+
:aria-hidden="!title"
|
|
4
|
+
class="material-design-icon"
|
|
5
|
+
:title="title"
|
|
6
|
+
>
|
|
7
|
+
<svg
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
viewBox="0 0 600 530"
|
|
10
|
+
:height="size"
|
|
11
|
+
:width="size"
|
|
12
|
+
:fill="fillColor"
|
|
13
|
+
>
|
|
14
|
+
<path
|
|
15
|
+
d="m135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937 0.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z"
|
|
16
|
+
/>
|
|
17
|
+
</svg>
|
|
18
|
+
</span>
|
|
19
|
+
</template>
|
|
20
|
+
|
|
21
|
+
<script lang="ts">
|
|
22
|
+
import { defineComponent } from "vue";
|
|
23
|
+
export default defineComponent({
|
|
24
|
+
name: "BlueSkyIcon",
|
|
25
|
+
props: {
|
|
26
|
+
size: { default: 24, type: Number },
|
|
27
|
+
title: { default: undefined, type: String },
|
|
28
|
+
fillColor: { default: "currentColor", type: String },
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
</script>
|
|
32
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="page-box">
|
|
2
|
+
<section v-if="isInit" class="page-box">
|
|
3
3
|
<slot name="new-emission" />
|
|
4
4
|
<ProductorSearch
|
|
5
5
|
v-model:organisation-id="organisationId"
|
|
@@ -72,6 +72,7 @@ const {
|
|
|
72
72
|
rubriqueFilter,
|
|
73
73
|
searchMinSize,
|
|
74
74
|
paginateFirst,
|
|
75
|
-
rubriquesFilterArrayIds
|
|
75
|
+
rubriquesFilterArrayIds,
|
|
76
|
+
isInit
|
|
76
77
|
} = useAdvancedParamInit(props, true);
|
|
77
78
|
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="page-box">
|
|
2
|
+
<section v-if="isInit" class="page-box">
|
|
3
3
|
<ProductorSearch
|
|
4
4
|
v-model:organisation-id="organisationId"
|
|
5
5
|
v-model:search-pattern="searchPattern"
|
|
@@ -32,6 +32,7 @@ const {
|
|
|
32
32
|
organisationId,
|
|
33
33
|
searchMinSize,
|
|
34
34
|
paginateFirst,
|
|
35
|
+
isInit
|
|
35
36
|
} = useSimplePageParam(props);
|
|
36
37
|
|
|
37
38
|
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="page-box">
|
|
2
|
+
<section v-if="isInit" class="page-box">
|
|
3
3
|
<router-link
|
|
4
4
|
v-if="isRolePlaylists && !isPodcastmaker"
|
|
5
5
|
to="/main/priv/edit/playlist"
|
|
@@ -45,6 +45,7 @@ const {
|
|
|
45
45
|
organisationId,
|
|
46
46
|
searchMinSize,
|
|
47
47
|
paginateFirst,
|
|
48
|
+
isInit
|
|
48
49
|
} = useSimplePageParam(props);
|
|
49
50
|
|
|
50
51
|
const authStore = useAuthStore();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="page-box">
|
|
2
|
+
<section v-if="isInit" class="page-box">
|
|
3
3
|
<ProductorSearch
|
|
4
4
|
v-model:organisation-id="organisationId"
|
|
5
5
|
v-model:search-pattern="searchPattern"
|
|
@@ -74,7 +74,8 @@ const {
|
|
|
74
74
|
searchMinSize,
|
|
75
75
|
paginateFirst,
|
|
76
76
|
validity,
|
|
77
|
-
rubriquesFilterArrayIds
|
|
77
|
+
rubriquesFilterArrayIds,
|
|
78
|
+
isInit
|
|
78
79
|
} = useAdvancedParamInit(props, false);
|
|
79
80
|
|
|
80
81
|
const onlyVideo = ref(false);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="page-box">
|
|
2
|
+
<section v-if="isInit" class="page-box">
|
|
3
3
|
<h1>{{ title }}</h1>
|
|
4
4
|
<ProductorSearch
|
|
5
5
|
v-model:organisation-id="organisationId"
|
|
@@ -40,6 +40,7 @@ const {
|
|
|
40
40
|
organisationId,
|
|
41
41
|
searchMinSize,
|
|
42
42
|
paginateFirst,
|
|
43
|
+
isInit
|
|
43
44
|
} = useSimplePageParam(props);
|
|
44
45
|
|
|
45
46
|
const { updatePathParams } = useSeoTitleUrl();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="page-box tag-page">
|
|
2
|
+
<section v-if="isInit" class="page-box tag-page">
|
|
3
3
|
<h1>
|
|
4
4
|
{{ $t("Search for keyword", {tag:titleDisplay})}}
|
|
5
5
|
<img
|
|
@@ -51,6 +51,7 @@ const {
|
|
|
51
51
|
organisationId,
|
|
52
52
|
searchMinSize,
|
|
53
53
|
paginateFirst,
|
|
54
|
+
isInit
|
|
54
55
|
} = useSimplePageParam(props);
|
|
55
56
|
|
|
56
57
|
const { isOuestFranceTag, formateOfTag } = useTagOf();
|
package/src/style/bootstrap.scss
CHANGED
|
@@ -244,51 +244,6 @@ input:not([class^="vs__"]), button:not([class^="vs__"]), select:not([class^="vs_
|
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
-
.btn-rss {
|
|
248
|
-
background: var(--octopus-secondary) !important;
|
|
249
|
-
|
|
250
|
-
&:hover {
|
|
251
|
-
border: 0;
|
|
252
|
-
background: var(--octopus-secondary-darker) !important;
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
.btn-facebook {
|
|
257
|
-
background: oklch(89.49% 0.05 255.2deg) !important;
|
|
258
|
-
color: oklch(47% 0.1083 263deg) !important;
|
|
259
|
-
|
|
260
|
-
&:hover {
|
|
261
|
-
background: oklch(90% 0.024 263deg) !important;
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
|
|
265
|
-
.btn-twitter {
|
|
266
|
-
background: oklch(90% 0.035 234deg) !important;
|
|
267
|
-
|
|
268
|
-
&:hover {
|
|
269
|
-
background: oklch(90% 0.024 234deg) !important;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
.btn-linkedin {
|
|
274
|
-
background: oklch(90% 0.035 242deg) !important;
|
|
275
|
-
color: oklch(55% 0.130 242deg) !important;
|
|
276
|
-
|
|
277
|
-
&:hover {
|
|
278
|
-
background: oklch(90% 0.024 242deg) !important;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
|
|
282
|
-
.btn-whatsapp {
|
|
283
|
-
background: oklch(89.25% 0.19 150deg) !important;
|
|
284
|
-
color: oklch(76% 0.2015 150deg) !important;
|
|
285
|
-
|
|
286
|
-
&:hover {
|
|
287
|
-
background: oklch(90% 0.024 150deg) !important;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
|
|
292
247
|
.w-50-responsive{
|
|
293
248
|
display: flex;
|
|
294
249
|
align-items: center;
|