@saooti/octopus-sdk 40.2.0-SNAPSHOT → 40.2.1-SNAPSHOT

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "40.2.0-SNAPSHOT",
3
+ "version": "40.2.1-SNAPSHOT",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -1,118 +1,130 @@
1
1
  <template>
2
2
  <section v-if="podcast" class="module-box">
3
- <div class="mb-2 d-flex">
4
- <div class="w-100">
5
- <PodcastImage
6
- :class="[
7
- isLiveReadyToRecord &&
8
- podcastConference &&
9
- 'null' !== podcastConference &&
10
- podcastConference.status
11
- ? podcastConference.status.toLowerCase() + '-shadow'
12
- : '',
13
- ]"
14
- class="me-3"
15
- :hide-play="isLiveReadyToRecord"
16
- :podcast="podcast"
17
- :playing-podcast="playingPodcast"
18
- :fetch-conference="podcastConference"
19
- :is-animator-live="isOctopusAndAnimator"
20
- />
21
- <div class="d-flex justify-content-between flex-wrap mb-2">
22
- <time
23
- v-if="0 !== date.length" :class="!isLiveReady ? 'me-5' : ''"
24
- :datetime="podcast.pubDate">
25
- {{ date }}
3
+ <RecordingItemButton
4
+ v-if="!!podcastConference && isLiveReadyToRecord && isOctopusAndAnimator"
5
+ :podcast="podcast"
6
+ :live="true"
7
+ :recording="podcastConference"
8
+ @delete-item="removeDeleted"
9
+ @validate-podcast="$emit('updatePodcast', $event)"
10
+ />
11
+ <EditBox
12
+ v-else-if="editRight && isEditBox"
13
+ :podcast="podcast"
14
+ :display-studio-access="isDebriefing"
15
+ @validate-podcast="$emit('updatePodcast', $event)"
16
+ />
17
+ <div class="mb-2 w-100">
18
+ <PodcastImage
19
+ :class="[
20
+ isLiveReadyToRecord &&
21
+ podcastConference &&
22
+ 'null' !== podcastConference &&
23
+ podcastConference.status
24
+ ? podcastConference.status.toLowerCase() + '-shadow'
25
+ : '',
26
+ ]"
27
+ class="me-3"
28
+ :hide-play="isLiveReadyToRecord"
29
+ :podcast="podcast"
30
+ :playing-podcast="playingPodcast"
31
+ :fetch-conference="podcastConference"
32
+ :is-animator-live="isOctopusAndAnimator"
33
+ />
34
+ <div class="d-flex justify-content-between flex-wrap mb-2">
35
+ <time
36
+ v-if="0 !== date.length" :class="!isLiveReady ? 'me-5' : ''"
37
+ :datetime="podcast.pubDate">
38
+ {{ date }}
39
+ </time>
40
+ <div v-if="isLiveReady" class="text-danger">
41
+ {{ $t("Episode record in live") }}
42
+ </div>
43
+ <div class="d-flex flex-column align-items-end flex-grow-1">
44
+ <time :datetime="durationIso">
45
+ {{ duration }}
26
46
  </time>
27
- <div v-if="isLiveReady" class="text-danger">
28
- {{ $t("Episode record in live") }}
29
- </div>
30
- <div class="d-flex flex-column align-items-end flex-grow-1">
31
- <time :datetime="durationIso">
32
- {{ duration }}
33
- </time>
34
- <ShareAnonymous v-if="!editRight" :podcast="podcast" :organisation-id="podcast.organisation.id"/>
35
- </div>
47
+ <ShareAnonymous v-if="!editRight" :podcast="podcast" :organisation-id="podcast.organisation.id"/>
36
48
  </div>
37
- <h2 class="mb-3">
38
- {{ podcast.title }}
39
- </h2>
40
- <PodcastPlannedSpinner v-if="isPlannedInProcessor"/>
41
- <Countdown v-if="isCounter" :time-remaining="timeRemaining" />
42
- <!-- eslint-disable vue/no-v-html -->
43
- <div
44
- class="description-text html-wysiwyg-content"
45
- v-html="urlify(podcast.description)"
49
+ </div>
50
+ <h2 class="mb-3">
51
+ {{ podcast.title }}
52
+ </h2>
53
+ <PodcastPlannedSpinner v-if="isPlannedInProcessor"/>
54
+ <Countdown v-if="isCounter" :time-remaining="timeRemaining" />
55
+ <!-- eslint-disable vue/no-v-html -->
56
+ <div
57
+ class="description-text html-wysiwyg-content"
58
+ v-html="urlify(podcast.description)"
59
+ />
60
+ <!-- eslint-enable -->
61
+ <div class="my-3">
62
+ <div class="mb-1">
63
+ {{ $t("Emission") + " : " }}
64
+ <router-link
65
+ :to="{
66
+ name: 'emission',
67
+ params: { emissionId: podcast.emission.emissionId },
68
+ }"
69
+ :title="$t('Series name page', { name: podcast.emission.name })"
70
+ >
71
+ {{ podcast.emission.name }}
72
+ </router-link>
73
+ </div>
74
+ <ParticipantDescription :participants="podcast.animators" />
75
+ <ParticipantDescription
76
+ :participants="podcast.guests"
77
+ :is-guest="true"
46
78
  />
47
- <!-- eslint-enable -->
48
- <div class="my-3">
49
- <div class="mb-1">
50
- {{ $t("Emission") + " : " }}
51
- <router-link
52
- :to="{
53
- name: 'emission',
54
- params: { emissionId: podcast.emission.emissionId },
55
- }"
56
- :title="$t('Series name page', { name: podcast.emission.name })"
57
- >
58
- {{ podcast.emission.name }}
59
- </router-link>
60
- </div>
61
- <ParticipantDescription :participants="podcast.animators" />
62
- <ParticipantDescription
63
- :participants="podcast.guests"
64
- :is-guest="true"
65
- />
66
- <div v-if="!isPodcastmaker" class="mb-1">
67
- {{ $t("Producted by : ") }}
68
- <router-link
69
- :to="{
70
- name: 'productor',
71
- params: { productorId: podcast.organisation.id },
72
- }"
73
- >
74
- {{ podcast.organisation.name }}
75
- </router-link>
76
- </div>
77
- <div v-if="'' !== photoCredit" class="mb-1">
78
- {{ $t("Photo credits") + " : " + photoCredit }}
79
- </div>
80
- <div v-if="'' !== audioCredit" class="mb-1">
81
- {{ $t("Audio credits") + " : " + audioCredit }}
82
- </div>
83
- <div v-if="'' !== authorCredit" class="mb-1">
84
- {{ $t("Author credits") + " : " + authorCredit }}
85
- </div>
86
- <a
87
- v-if="podcast.article && !isGarRole"
88
- class="btn d-flex align-items-center my-2 w-fit-content mb-1"
89
- :href="podcast.article"
90
- rel="noreferrer noopener"
91
- target="_blank"
92
- :title="$t('New window', {text : $t('See associated article')})"
79
+ <div v-if="!isPodcastmaker" class="mb-1">
80
+ {{ $t("Producted by : ") }}
81
+ <router-link
82
+ :to="{
83
+ name: 'productor',
84
+ params: { productorId: podcast.organisation.id },
85
+ }"
93
86
  >
94
- <NewspaperVariantOutlineIcon class="me-1" />
95
- <div>{{ $t("See associated article") }}</div>
96
- </a>
97
- <PodcastPlayBar
98
- v-if="isProgressBar"
99
- :podcast="podcast"
100
- />
101
- <div v-if="editRight && !isPodcastmaker">
102
- <div
103
- v-if="
104
- podcast.annotations && 'RSS' === podcast.annotations.SOURCE_KIND
105
- "
106
- class="me-5 text-secondary"
107
- >
108
- {{ $t("From RSS") }}
109
- </div>
110
- <ErrorMessage v-if="'' !== errorMessage" :message="errorMessage" />
111
- </div>
112
- <div class="d-flex align-items-center flex-wrap">
113
- <LikeSection :edit-right="editRight" :podcast="podcast" />
114
- <DownloadPodcastButton v-if="isDownloadButton" :podcast="podcast" />
87
+ {{ podcast.organisation.name }}
88
+ </router-link>
89
+ </div>
90
+ <div v-if="'' !== photoCredit" class="mb-1">
91
+ {{ $t("Photo credits") + " : " + photoCredit }}
92
+ </div>
93
+ <div v-if="'' !== audioCredit" class="mb-1">
94
+ {{ $t("Audio credits") + " : " + audioCredit }}
95
+ </div>
96
+ <div v-if="'' !== authorCredit" class="mb-1">
97
+ {{ $t("Author credits") + " : " + authorCredit }}
98
+ </div>
99
+ <a
100
+ v-if="podcast.article && !isGarRole"
101
+ class="btn d-flex align-items-center my-2 w-fit-content mb-1"
102
+ :href="podcast.article"
103
+ rel="noreferrer noopener"
104
+ target="_blank"
105
+ :title="$t('New window', {text : $t('See associated article')})"
106
+ >
107
+ <NewspaperVariantOutlineIcon class="me-1" />
108
+ <div>{{ $t("See associated article") }}</div>
109
+ </a>
110
+ <PodcastPlayBar
111
+ v-if="isProgressBar"
112
+ :podcast="podcast"
113
+ />
114
+ <div v-if="editRight && !isPodcastmaker">
115
+ <div
116
+ v-if="
117
+ podcast.annotations && 'RSS' === podcast.annotations.SOURCE_KIND
118
+ "
119
+ class="me-5 text-secondary"
120
+ >
121
+ {{ $t("From RSS") }}
115
122
  </div>
123
+ <ErrorMessage v-if="'' !== errorMessage" :message="errorMessage" />
124
+ </div>
125
+ <div class="d-flex align-items-center flex-wrap">
126
+ <LikeSection :edit-right="editRight" :podcast="podcast" />
127
+ <DownloadPodcastButton v-if="isDownloadButton" :podcast="podcast" />
116
128
  </div>
117
129
  </div>
118
130
  </div>
@@ -135,20 +147,6 @@
135
147
  :window-width="1000"
136
148
  :justify-center="false"
137
149
  />
138
- <RecordingItemButton
139
- v-if="!!podcastConference && isLiveReadyToRecord && isOctopusAndAnimator"
140
- :podcast="podcast"
141
- :live="true"
142
- :recording="podcastConference"
143
- @delete-item="removeDeleted"
144
- @validate-podcast="$emit('updatePodcast', $event)"
145
- />
146
- <EditBox
147
- v-else-if="editRight && isEditBox"
148
- :podcast="podcast"
149
- :display-studio-access="isDebriefing"
150
- @validate-podcast="$emit('updatePodcast', $event)"
151
- />
152
150
  </section>
153
151
  </template>
154
152
 
@@ -17,23 +17,6 @@
17
17
  </a>
18
18
  </template>
19
19
  <slot name="additional-buttons"/>
20
- <!-- <div v-if="shareAiAuth" class="d-flex flex-column ms-4">
21
- <h3 class="mb-2">
22
- {{ $t("Generate a social media post (with AI)") }}
23
- </h3>
24
- <div class="d-flex align-items-center justify-content-center">
25
- <router-link
26
- class="btn share-btn mb-2 text-dark"
27
- :title="$t('Generate a social media post (with AI)')"
28
- :to="{
29
- name: 'advancedShare',
30
- params: { podcastId: podcast.podcastId },
31
- }"
32
- >
33
- <CreationIcon />
34
- </router-link>
35
- </div>
36
- </div> -->
37
20
  </div>
38
21
  </section>
39
22
  </template>
@@ -70,20 +53,7 @@ export default defineComponent({
70
53
  ...mapState(useAuthStore, [
71
54
  "isGarRole",
72
55
  "authOrgaId"
73
- /* "authOrganisation",
74
- "isRoleProduction" */
75
56
  ]),
76
- /* shareAiAuth(): boolean {
77
- return (
78
- !this.isPodcastmaker &&
79
- undefined !== this.authOrgaId &&
80
- undefined !== this.podcast &&
81
- this.isRoleProduction &&
82
- (this.authOrganisation.attributes?.["openAi.active"] as
83
- | string
84
- | undefined) === "true"
85
- );
86
- }, */
87
57
  arrayShareButtons() {
88
58
  return [
89
59
  {
@@ -127,7 +127,7 @@ export default defineComponent({
127
127
  .octopus-nav.light .octopus-nav-link {
128
128
  font-weight: bold;
129
129
  background:var(--octopus-border-default);
130
- &:active{
130
+ &.active{
131
131
  border-bottom-color: var(--octopus-primary);
132
132
  background: transparent;
133
133
  color: var(--octopus-primary);
@@ -11,50 +11,48 @@
11
11
  :class="isPodcastmaker ? 'page-element-podcastmaker' : ''"
12
12
  >
13
13
  <section class="module-box">
14
- <div class="d-flex mb-2">
15
- <div class="w-100">
16
- <img
17
- v-lazy="useProxyImageUrl(emission.imageUrl, '250')"
18
- width="250"
19
- height="250"
20
- role="presentation"
21
- alt=""
22
- :title="$t('Emission name image', { name: name })"
23
- class="img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3"
24
- />
25
- <div class="d-flex align-items-center justify-content-between">
26
- <h2>{{ name }}</h2>
27
- <ShareAnonymous v-if="!editRight" class="d-flex justify-content-end flex-grow-1" :emission="emission" :organisation-id="emission.orga.id"/>
28
- </div>
29
- <!-- eslint-disable vue/no-v-html -->
30
- <p
31
- class="html-wysiwyg-content description-text"
32
- v-html="urlify(description)"
33
- />
34
- <!-- eslint-enable -->
35
- <div v-if="lastPodcast" class="d-flex align-items-center mt-3">
36
- <PodcastPlayButton
37
- :podcast="lastPodcast"
38
- :just-buttons="true"
39
- />
40
- <div class="ms-2 fw-bold">
41
- {{ $t("Listen to the latest episode") }}
42
- </div>
43
- </div>
44
- <SubscribeButtons
45
- v-if="isPodcastmaker"
46
- class="mt-4"
47
- :emission="emission"
48
- :window-width="1000"
49
- :justify-center="false"
50
- />
51
- </div>
52
- </div>
53
14
  <EditBox
54
15
  v-if="editRight && !isPodcastmaker"
55
16
  :emission="emission"
56
17
  @is-updated="getEmissionDetails"
57
18
  />
19
+ <div class="w-100 mb-2">
20
+ <img
21
+ v-lazy="useProxyImageUrl(emission.imageUrl, '250')"
22
+ width="250"
23
+ height="250"
24
+ role="presentation"
25
+ alt=""
26
+ :title="$t('Emission name image', { name: name })"
27
+ class="img-box img-box-podcast mb-3 flex-column justify-content-start align-items-start position-relative flex-shrink-0 float-start me-3"
28
+ />
29
+ <div class="d-flex align-items-center justify-content-between">
30
+ <h2>{{ name }}</h2>
31
+ <ShareAnonymous v-if="!editRight" class="d-flex justify-content-end flex-grow-1" :emission="emission" :organisation-id="emission.orga.id"/>
32
+ </div>
33
+ <!-- eslint-disable vue/no-v-html -->
34
+ <p
35
+ class="html-wysiwyg-content description-text"
36
+ v-html="urlify(description)"
37
+ />
38
+ <!-- eslint-enable -->
39
+ <div v-if="lastPodcast" class="d-flex align-items-center mt-3">
40
+ <PodcastPlayButton
41
+ :podcast="lastPodcast"
42
+ :just-buttons="true"
43
+ />
44
+ <div class="ms-2 fw-bold">
45
+ {{ $t("Listen to the latest episode") }}
46
+ </div>
47
+ </div>
48
+ <SubscribeButtons
49
+ v-if="isPodcastmaker"
50
+ class="mt-4"
51
+ :emission="emission"
52
+ :window-width="1000"
53
+ :justify-center="false"
54
+ />
55
+ </div>
58
56
  </section>
59
57
  <ShareSocialsButtons
60
58
  v-if="pageParameters.isShareButtons"
@@ -11,6 +11,7 @@
11
11
  :class="isPodcastmaker ? 'page-element-podcastmaker' : ''"
12
12
  >
13
13
  <section class="module-box">
14
+ <EditBox v-if="editRight && !isPodcastmaker" :playlist="playlist" />
14
15
  <div class="mb-5 mt-3 description-text">
15
16
  <img
16
17
  v-lazy="useProxyImageUrl(playlist.imageUrl, '250')"
@@ -29,7 +30,6 @@
29
30
  <p class="html-wysiwyg-content" v-html="urlify(description)" />
30
31
  <!-- eslint-enable -->
31
32
  </div>
32
- <EditBox v-if="editRight && !isPodcastmaker" :playlist="playlist" />
33
33
  </section>
34
34
  <SharePlayer
35
35
  v-if="!isPodcastmaker && editRight"
@@ -16,7 +16,7 @@
16
16
  <RadioImage :radio="radio" />
17
17
  <div class="d-flex align-items-center justify-content-between">
18
18
  <h2>{{ radio.name }}</h2>
19
- <ShareAnonymous v-if="!editRight" class="d-flex justify-content-end flex-grow-1" :organisation-id="radio.organisationId"/>
19
+ <ShareAnonymous class="d-flex justify-content-end flex-grow-1" :organisation-id="radio.organisationId"/>
20
20
  </div>
21
21
  <div v-if="radio.description">
22
22
  {{ radio.description }}