@saooti/octopus-sdk 38.3.1 → 38.3.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "38.3.1",
3
+ "version": "38.3.3",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -63,6 +63,7 @@
63
63
  color: white;
64
64
  font-weight: bold;
65
65
  font-size: 1rem;
66
+ text-shadow:-1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
66
67
  }
67
68
  }
68
69
  .podcast-list {
@@ -28,7 +28,7 @@
28
28
  </div>
29
29
  </div>
30
30
  <div class="d-flex align-items-center">
31
- <!-- <div
31
+ <div
32
32
  v-if="podcast || emission || playlist"
33
33
  class="d-flex flex-column ms-4"
34
34
  >
@@ -43,7 +43,7 @@
43
43
  @click="newsletter = true"
44
44
  />
45
45
  </div>
46
- </div> -->
46
+ </div>
47
47
  <div class="d-flex flex-column ms-4">
48
48
  <div class="h2 mb-2">
49
49
  {{ $t("QR Code") }}
@@ -1,75 +1,50 @@
1
1
  <template>
2
2
  <ClassicModal
3
3
  id-modal="newsletter-modal"
4
- :title-modal="$t('Share newsletter')"
4
+ :title-modal="newsletterInfo.titleModal"
5
5
  :closable="false"
6
6
  @close="closePopup"
7
7
  >
8
8
  <template #body>
9
- <div class="d-flex justify-content-between">
10
- <!-- eslint-disable vue/no-v-html -->
11
- <div v-html="newsletterHtml" />
12
- <!-- eslint-enable -->
13
- <div class="d-flex flex-column flex-grow-1 ms-4">
14
- <h4 class="mb-3">
15
- {{ $t("Configuration") }}
16
- </h4>
17
- <label for="share-url-newsletter">{{ $t("Share") }}</label>
18
- <input
19
- id="share-url-newsletter"
20
- v-model="shareUrl"
21
- class="form-input mb-2"
22
- type="text"
23
- :class="{ 'border border-danger': 0 === shareUrl }"
24
- />
25
- <template v-if="podcast">
26
- <ClassicCheckbox
27
- v-model:textInit="displayEmissionName"
28
- id-checkbox="display-emission-name"
29
- :label="$t('Display emission name')"
30
- />
31
- <ClassicCheckbox
32
- v-model:textInit="displayParticipantsNames"
33
- id-checkbox="display-participants-names"
34
- :label="$t('Display participants list')"
35
- />
36
- </template>
37
- <div class="d-flex align-items-center mt-2">
38
- <VSwatches
39
- v-model="color"
40
- class="c-hand me-2 mt-2"
41
- show-fallback
42
- fallback-input-type="color"
43
- colors="text-advanced"
44
- popover-to="right"
45
- :data-color="color"
46
- />
47
- <div>{{ $t("Choose main color") }}</div>
48
- </div>
49
- <div
50
- class="d-flex justify-content-between align-items-center mt-3 mb-2"
51
- >
52
- <h4 class="mb-0">
53
- {{ $t("HTML Code") }}
9
+ <div class="d-flex flex-column">
10
+ <div class="d-flex">
11
+ <div class="d-flex flex-column flex-shrink-0 me-3">
12
+ <h4 class="mb-3">
13
+ {{ $t("Configure your Newsletter tile") }}
54
14
  </h4>
55
- <input
56
- type="button"
57
- :value="$t('Copy')"
58
- class="btn btn-primary"
59
- :title="$t('Copy')"
60
- @click="onCopyCode(newsletterHtml, afterCopy)"
61
- />
15
+ <div
16
+ v-for="colors in arrayColors"
17
+ :key="colors.mainText"
18
+ class="d-flex align-items-center mb-3"
19
+ >
20
+ <VSwatches
21
+ v-model="colors.color"
22
+ class="c-hand me-2"
23
+ show-fallback
24
+ fallback-input-type="color"
25
+ colors="text-advanced"
26
+ popover-to="right"
27
+ :data-color="colors.color"
28
+ />
29
+ <div class="d-flex flex-column">
30
+ <div class="fw-bold">{{ colors.mainText }}</div>
31
+ <div v-if="colors.secondText" class="descriptionText">{{ colors.secondText }}</div>
32
+ </div>
33
+ </div>
62
34
  </div>
63
- <textarea
64
- id="newsletter_code_textarea"
65
- v-model="newsletterHtml"
66
- readonly
67
- @click="selectAll"
68
- />
69
- <label for="newsletter_code_textarea" :title="$t('HTML Code')" />
35
+ <!-- eslint-disable vue/no-v-html -->
36
+ <div v-html="newsletterHtml" />
37
+ <!-- eslint-enable -->
70
38
  </div>
39
+ <button
40
+ class="btn flex-grow-1 mt-3 fw-bold"
41
+ @click="onCopyCode(newsletterHtml, afterCopy)"
42
+ >
43
+ <span class="saooti-copy me-2"/>
44
+ {{ $t("Copy and embed the HTML code into your email tool") }}
45
+ </button>
46
+ <SnackBar ref="snackbar" position="bottom-left" />
71
47
  </div>
72
- <SnackBar ref="snackbar" position="bottom-left" />
73
48
  </template>
74
49
  <template #footer>
75
50
  <button class="btn btn-primary m-1" @click="closePopup">
@@ -81,16 +56,11 @@
81
56
 
82
57
  <script lang="ts">
83
58
  import ClassicModal from "../modal/ClassicModal.vue";
84
- import ClassicCheckbox from "../../form/ClassicCheckbox.vue";
85
59
  import SnackBar from "../../misc/SnackBar.vue";
86
- import dayjs from "dayjs";
87
60
  // @ts-ignore
88
61
  import { VSwatches } from "vue3-swatches";
89
62
  import "vue3-swatches/dist/style.css";
90
- // @ts-ignore
91
- import humanizeDuration from "humanize-duration";
92
63
  import displayMethods from "../../mixins/displayMethods";
93
- import { Participant } from "@/stores/class/general/participant";
94
64
  import { Podcast } from "@/stores/class/general/podcast";
95
65
  import { state } from "../../../stores/ParamSdkStore";
96
66
  import { defineComponent } from "vue";
@@ -105,7 +75,6 @@ export default defineComponent({
105
75
  components: {
106
76
  SnackBar,
107
77
  VSwatches,
108
- ClassicCheckbox,
109
78
  ClassicModal,
110
79
  },
111
80
 
@@ -121,172 +90,102 @@ export default defineComponent({
121
90
 
122
91
  data() {
123
92
  return {
124
- displayParticipantsNames: true as boolean,
125
- displayEmissionName: true as boolean,
126
- color: "#40a372" as string,
93
+ arrayColors: [
94
+ {color:"#40a372", mainText: this.$t('Choose main color'),secondText: this.$t('Newsletter elements') },
95
+ {color:"#000000", mainText: this.$t('Choose text color') },
96
+ {color:"#FFFFFF", mainText: this.$t('Choose background color') }],
127
97
  shareUrl: window.location.href,
128
98
  };
129
99
  },
130
-
131
100
  computed: {
132
101
  ...mapState(useAuthStore, ["authOrganisation"]),
133
- date(): string {
134
- if (!this.podcast || 1970 === dayjs(this.podcast.pubDate).year()) {
135
- return "";
136
- }
137
- return dayjs(this.podcast.pubDate).format("D MMMM YYYY, HH[h]mm");
138
- },
139
- duration(): string {
140
- if (!this.podcast || this.podcast.duration <= 1) return "";
141
- if (this.podcast.duration > 600000) {
142
- return humanizeDuration(this.podcast.duration, {
143
- language: this.$i18n.locale,
144
- largest: 1,
145
- round: true,
146
- });
147
- }
148
- return humanizeDuration(this.podcast.duration, {
149
- language: this.$i18n.locale,
150
- largest: 2,
151
- round: true,
152
- });
153
- },
154
- emissionName(): string {
155
- if (!this.displayEmissionName || !this.podcast) {
156
- return "";
157
- }
158
- return `<tr><td colspan="2" style="font-size: 16px;line-height:24px;font-weight: bold;">${this.podcast.emission.name}</td></tr>`;
159
- },
160
- articleHtml(): string {
161
- if (!this.podcast?.article || 0 === this.podcast.article?.length) {
162
- return "";
163
- }
164
- return `<a href="${this.podcast.article}" title="${this.$t(
165
- "See associated article",
166
- )}">
167
- <img width="44" height="44" style="display: inline-block;vertical-align: middle; margin-right:3px" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAA6UlEQVRIie3WPUpEMRTF8R9+4QpEBGttrcdeV+E2pp3KdYi7GBRttNVCZgOCjSuQ+UCLJzLIe7l3HpFpPJAuOf+T5F4SYh3jFZ/JMVlevJUwv8c+HvEQzD/FIBEaHOFtKdkosWb0PfdHGwXzOxxk03SpDVDNvA1Q1bwNcFMwn/cB/K6iQ+3VMsVVDQDcylVMSl1VBOea5FFjTXHWZVJqtCdcYjcI+YHnPoB3FY6qdERVVNrBHi6wGXgscK3Z8UqAE80dbAeAGV4wXhUwxk5gHurP72CtgP9Gw5oabYBhT7/wwZ/If09S35Yv52lVAXwyqt0AAAAASUVORK5CYII=">
168
- </a>
169
- <a style="color: #000;text-decoration: none;" href="${
170
- this.podcast.article
171
- }">${this.$t("See associated article")}</a>`;
172
- },
173
- participantsName(): string {
174
- if (
175
- !this.displayParticipantsNames ||
176
- !this.podcast ||
177
- !this.podcast.animators
178
- )
179
- return "";
180
- const text = [""];
181
- this.podcast.animators.forEach((element: Participant) => {
182
- text.push(
183
- `<table width='100%' style="width:100%;background: #f3f3f3;font-family: Arial, sans-serif;font-size: 12px;line-height: 20px;border-bottom-left-radius: 1.5em;border-bottom-right-radius: 1.5em;">
184
- <tr>
185
- <td width="90" rowspan="2" style="text-align:left; vertical-align: top; width: 90px;padding:0 15px 15px 10px">
186
- <img width="72" style="width: 62px;height: 62px;border-radius: 50%;background-color: #fff;" src="${
187
- element.imageUrl
188
- }" alt="${this.$t("Animator image")}">
189
- </td>
190
- <td height="1" style="height: 1px;text-align:left; font-size: 14px;line-height:20px;vertical-align: top;font-weight: bold;padding-top: 23px;">${this.getName(
191
- element,
192
- )}</td>
193
- </tr>`,
194
- );
195
- if (element.description) {
196
- text.push(
197
- `<tr><td style="height: 100%;text-align:justify;padding-bottom: 15px;padding-right: 15px; font-size: 12px;line-height:16px;vertical-align: top">
198
- ${element.description}</td></tr>`,
199
- );
200
- }
201
- text.push(`</table>`);
202
- });
203
- return text.join("");
204
- },
205
- imageUrl(): string {
102
+ newsletterInfo() {
206
103
  if (this.podcast) {
207
- return `${this.podcast.imageUrl}" alt="${this.$t("Podcast image")}`;
104
+ return {
105
+ titleModal: this.$t("Share the episode in your newsletter"),
106
+ imageUrl: `${this.podcast.imageUrl}" alt="${this.$t(
107
+ "Podcast image",
108
+ )}`,
109
+ title:this.podcast.title,
110
+ description: this.podcast.description ?? "",
111
+ shareText: this.$t("Listen this episode"),
112
+ emissionHtml: `<tr><td style="padding:5px 0;">
113
+ <div style="display:flex; margin-top:5px;">
114
+ <div style="font-size:20px; color:${this.arrayColors[1].color}; margin-right:5px;text-wrap: nowrap;">${this.$t(
115
+ "Emission",
116
+ )} :</div>
117
+ <a href="${this.shareUrl}" style="font-size: 18px;color: ${
118
+ this.arrayColors[0].color
119
+ };overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">${this.podcast.emission.name}</a>
120
+ </div></td></tr>`,
121
+ articleHtml:
122
+ !this.podcast?.article || 0 === this.podcast.article?.length
123
+ ? ``
124
+ : `<tr><td style="padding:5px 0;">
125
+ <div style="display:flex;">
126
+ <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24"><path fill="currentColor" d="M7 17h7v-2H7zm0-4h10v-2H7zm0-4h10V7H7zM5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z"/></svg>
127
+ <a href="${
128
+ this.podcast.article
129
+ }" style="color: ${this.arrayColors[1].color};margin-top:2px">${this.$t(
130
+ "See associated article",
131
+ )}</a>
132
+ </div></td></tr>
133
+ `,
134
+ colorTitle: `color:${this.arrayColors[1].color};`,
135
+ };
208
136
  }
209
137
  if (this.emission) {
210
- return `${this.emission.imageUrl}" alt="${this.$t("Emission image")}`;
211
- }
212
- if (this.playlist) {
213
- return `${this.playlist.imageUrl}" alt="${this.$t("Playlist image")}`;
214
- }
215
- return "";
216
- },
217
- title(): string {
218
- if (this.podcast) {
219
- return this.podcast.title;
220
- }
221
- if (this.emission) {
222
- return this.emission.name;
223
- }
224
- if (this.playlist) {
225
- return this.playlist.title;
226
- }
227
- return "";
228
- },
229
- description(): string {
230
- if (this.podcast?.description) {
231
- return `<tr><td colspan="2" valign="top" style="line-height:24px;font-size: 14px;max-width: 500px;">${this.podcast.description}</td></tr>`;
232
- }
233
- if (this.emission?.description) {
234
- return `<tr><td colspan="2" valign="top" style="line-height:24px;font-size: 14px;max-width: 500px;">${this.emission.description}</td></tr>`;
235
- }
236
- if (this.playlist?.description) {
237
- return `<tr><td colspan="2" valign="top" style="line-height:24px;font-size: 14px;max-width: 500px;">${this.playlist.description}</td></tr>`;
238
- }
239
- return "";
240
- },
241
- shareText(): string {
242
- if (this.podcast) {
243
- return this.$t("Listen this episode");
244
- }
245
- if (this.emission) {
246
- return this.$t("All podcast emission button");
247
- }
248
- return this.$t("Podcasts in the playlist");
249
- },
250
- durationPodcast(): string {
251
- if (!this.podcast) {
252
- return "";
253
- }
254
- return `<td colspan="2" style="height: 1px;color: #666;font-size: 12px;line-height: 16px;padding-top:15px;">
255
- <span>${this.date}</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
256
- <span style="padding: 0 10px">${this.$t("Duration", {
257
- duration: this.duration,
258
- })}</span>
259
- </td>`;
138
+ return {
139
+ titleModal: this.$t("Share the series in your newsletter"),
140
+ imageUrl: `${this.emission.imageUrl}" alt="${this.$t(
141
+ "Emission image",
142
+ )}`,
143
+ title: this.emission.name,
144
+ description: this.emission.description ?? "",
145
+ shareText: this.$t("Listen to all episodes"),
146
+ emissionHtml: ``,
147
+ articleHtml: ``,
148
+ colorTitle: `color:${this.arrayColors[0].color};`,
149
+ };
150
+ }
151
+ return {
152
+ titleModal: this.$t("Share the playlist in your newsletter"),
153
+ imageUrl: `${this.playlist?.imageUrl}" alt="${this.$t(
154
+ "Playlist image",
155
+ )}`,
156
+ title: this.playlist?.title,
157
+ description: this.playlist?.description ?? "",
158
+ shareText: this.$t("Listen to all episodes"),
159
+ emissionHtml: ``,
160
+ articleHtml: ``,
161
+ colorTitle: `color:${this.arrayColors[0].color};`,
162
+ };
260
163
  },
261
164
  newsletterHtml(): string {
262
- const html = [
263
- `<table width='100%' style="width:100%;background:#f3f3f3;font-family: Arial, sans-serif;font-size: 12px;line-height: 20px;border-top-left-radius: 1.5em;border-top-right-radius: 1.5em;">
264
- <tr>
265
- <td valign="top" rowspan="4" style="vertical-align: top; padding: 10px;">
266
- <img width="140" height="140" src="${this.imageUrl}" style="width: 140px;border-radius: 16px; box-shadow: 0px 12px 48px 6px rgba(64, 163, 114, 0.2);">
267
- </td>
268
- ${this.durationPodcast}
269
- </tr>
270
- <tr>
271
- <td colspan="2" valign="top" style="line-height:24px;color: ${this.color};font-size: 17px;text-transform: uppercase;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 400px;padding-top: 0.5em;">
272
- ${this.title}
273
- </td>
274
- </tr>
275
- ${this.emissionName}${this.description}`,
276
- ];
277
- html.push(
278
- `</table>
279
- <table width='100%' style="width:100%;background:#f3f3f3;font-family: Arial, sans-serif;font-size: 12px;line-height: 20px;">
280
- <tr style="font-family: Arial, sans-serif;font-size: 12px;line-height: 20px;background: #f3f3f3;vertical-align: middle;padding: 15px 10px;display: flex; align-items:center; flex-wrap:wrap">
281
- <td><a href="${this.shareUrl}">
282
- <svg fill="#000000" height="30px" width="30px" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 17.804 17.804" xml:space="preserve"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <g> <g id="c98_play"> <path d="M2.067,0.043C2.21-0.028,2.372-0.008,2.493,0.085l13.312,8.503c0.094,0.078,0.154,0.191,0.154,0.313 c0,0.12-0.061,0.237-0.154,0.314L2.492,17.717c-0.07,0.057-0.162,0.087-0.25,0.087l-0.176-0.04 c-0.136-0.065-0.222-0.207-0.222-0.361V0.402C1.844,0.25,1.93,0.107,2.067,0.043z"></path> </g> <g id="Capa_1_78_"> </g> </g> </g></svg>
283
- </a></td>
284
- <td style="margin-left:10px"><a style="color: #000;text-decoration: none; margin-right:8px" href="${this.shareUrl}">${this.shareText}</a></td>
285
- ${this.articleHtml}
286
- </tr>
287
- </table>${this.participantsName}`,
288
- );
289
- return html.join("");
165
+ return `<table style="background:${this.arrayColors[2].color};color:${this.arrayColors[1].color};table-layout: fixed;width:100%;font-size: 14px;">
166
+ <tr>
167
+ <td valign="top" width="30%" rowspan="7" style="padding-right:5px;"><img width="100%" src="${
168
+ this.newsletterInfo.imageUrl
169
+ }" style="border-radius: 4px;"></td>
170
+ <td valign="top" width="70%" style="padding:5px 0;"><div style="margin-top:5px;font-size: 24px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight:bold;${
171
+ this.newsletterInfo.colorTitle
172
+ }">${this.newsletterInfo.title}</div></td>
173
+ </tr>${this.newsletterInfo.emissionHtml}
174
+ <tr><td style="padding:5px 0;"><div style="overflow: hidden;display: -webkit-box;-webkit-line-clamp: 6;-webkit-box-orient: vertical;word-break: break-word;">${
175
+ this.newsletterInfo.description
176
+ }</div></td></tr>
177
+ <tr><td valign="top" style="padding:5px 0;"><a href="${this.shareUrl}" style="color: ${
178
+ this.arrayColors[0].color
179
+ };">${this.$t("See more")}</a></td></tr>
180
+ <tr>${this.newsletterInfo.articleHtml}
181
+ <td width="1" style="padding:5px 0;"><a href="${this.shareUrl}" style="font-size: 18px;color: ${
182
+ this.arrayColors[0].color
183
+ };text-decoration: none; display:flex;"><svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 24 24"><path fill="currentColor" d="m9.5 16.5l7-4.5l-7-4.5zM12 22q-2.075 0-3.9-.788t-3.175-2.137q-1.35-1.35-2.137-3.175T2 12q0-2.075.788-3.9t2.137-3.175q1.35-1.35 3.175-2.137T12 2q2.075 0 3.9.788t3.175 2.137q1.35 1.35 2.138 3.175T22 12q0 2.075-.788 3.9t-2.137 3.175q-1.35 1.35-3.175 2.138T12 22"/></svg><div style="margin-top: 15px; color:${this.arrayColors[1].color};">${
184
+ this.newsletterInfo.shareText
185
+ }</div></a></td>
186
+ </tr>
187
+ </table>
188
+ `;
290
189
  },
291
190
  },
292
191
  created() {
@@ -297,16 +196,6 @@ export default defineComponent({
297
196
  closePopup(): void {
298
197
  this.$emit("close");
299
198
  },
300
- getName(person: Participant): string {
301
- return `${person.firstName ?? ""} ${person.lastName ?? ""}`.trim();
302
- },
303
- selectAll(element: Event): void {
304
- const target = element.target;
305
- if (null !== target) {
306
- (target as HTMLInputElement).focus();
307
- (target as HTMLInputElement).select();
308
- }
309
- },
310
199
  afterCopy(): void {
311
200
  (this.$refs.snackbar as InstanceType<typeof SnackBar>).open(
312
201
  this.$t("Data in clipboard"),
@@ -317,8 +206,11 @@ export default defineComponent({
317
206
  "" !== this.authOrganisation.id
318
207
  ? this.authOrganisation.id
319
208
  : state.generalParameters.organisationId;
209
+ if(!orgaId ||orgaId?.length){
210
+ return;
211
+ }
320
212
  const attributes = await this.getOrgaAttributes(orgaId ?? "");
321
- if (Object.hasOwn(attributes, "podcastmakerUrl")) {
213
+ if (Object.hasOwn(attributes, "podcastmakerUrl") && (attributes.podcastmakerUrl as string|undefined|null)?.length) {
322
214
  this.shareUrl =
323
215
  attributes.podcastmakerUrl +
324
216
  window.location.pathname +
@@ -328,11 +220,11 @@ export default defineComponent({
328
220
  state.generalParameters.podcastmaker &&
329
221
  state.generalParameters.podcastmakerColor
330
222
  ) {
331
- this.color = state.generalParameters.podcastmakerColor;
223
+ this.arrayColors[0].color = state.generalParameters.podcastmakerColor;
332
224
  return;
333
225
  }
334
226
  if (Object.hasOwn(attributes, "COLOR")) {
335
- this.color = attributes.COLOR as string;
227
+ this.arrayColors[0].color = attributes.COLOR as string;
336
228
  }
337
229
  },
338
230
  },
@@ -342,10 +234,11 @@ export default defineComponent({
342
234
  <style lang="scss">
343
235
  .octopus-app {
344
236
  #newsletter-modal {
345
- textarea {
346
- border: 2px solid #eee;
347
- height: 200px;
348
- padding: 1em;
237
+ .octopus-modal-body{
238
+ overflow-x: inherit;
239
+ @media (max-width: 500px){
240
+ overflow-x: auto;
241
+ }
349
242
  }
350
243
  .octopus-modal-dialog {
351
244
  max-width: 80%;
package/src/locale/de.ts CHANGED
@@ -200,12 +200,10 @@ export default {
200
200
  Publishing: "Veröffentlichen",
201
201
  "select productor": "Produzenten wählen",
202
202
  "Share newsletter": "Einen Newsletter teilen",
203
- Configuration: "Konfiguration",
204
- "HTML Code": "HTML-Code",
203
+ "Configure your Newsletter tile": "Konfigurieren Sie Ihre Newsletter-Kachel",
204
+ "Copy and embed the HTML code into your email tool": "Kopieren Sie den HTML-Code und betten Sie ihn in Ihr E-Mail-Tool ein",
205
205
  "Listen this episode": "Diese Folge anhören",
206
- "Display emission name": "Titel der Reihe anzeigen",
207
- "Display participants list": "Liste der Sprecher anzeigen",
208
- "Choose main color": "Wählen Sie die Hauptfarbe",
206
+ "Choose main color": "Wählen Sie die Farbe der Newsletter-Modulelemente",
209
207
  "Octopus is ACPM Podcast accredited": "Octopus ist von der ACPM zertifiziert",
210
208
  "Live episode": "Aktuelle Live-Übertragungen",
211
209
  "This live will start": "Diese Live-Übertragung beginnt",
@@ -351,4 +349,11 @@ export default {
351
349
  "Share in one click":"Mit einem Klick teilen",
352
350
  "Chaptering":"Kapitelaufteilung",
353
351
  "Listen to the latest episode":"Hören Sie sich die neueste Folge an",
352
+ "Share the episode in your newsletter": "Teilen Sie die Episode in Ihrem Newsletter",
353
+ "Share the series in your newsletter": "Teilen Sie die Show in Ihrem Newsletter",
354
+ "Share the playlist in your newsletter": "Teilen Sie die Playlist in Ihrem Newsletter",
355
+ "Listen to all episodes":"Hören Sie sich alle Folgen an",
356
+ "Newsletter elements":"Piktogramm abspielen, Name der Show, Mehr anzeigen",
357
+ "Choose text color":"Wählen Sie Textfarbe",
358
+ "Choose background color":"Wählen Sie die Hintergrundfarbe",
354
359
  }
package/src/locale/en.ts CHANGED
@@ -198,12 +198,10 @@ export default {
198
198
  Publishing: "Publishing",
199
199
  "select productor": "Select Producer",
200
200
  "Share newsletter": "Share a newsletter",
201
- Configuration: "Configuration",
202
- "HTML Code": "HTML Code",
201
+ "Configure your Newsletter tile": "Configure your Newsletter tile",
202
+ "Copy and embed the HTML code into your email tool": "Copy and embed the HTML code into your email tool",
203
203
  "Listen this episode": "Listen to this episode",
204
- "Display emission name": "Display the series title",
205
- "Display participants list": "Display the speakers list",
206
- "Choose main color": "Choose the main color",
204
+ "Choose main color": "Choose the color of the newsletter module elements",
207
205
  "Octopus is ACPM Podcast accredited": "Octopus is ACPM accredited",
208
206
  "Live episode": "Current Live episodes",
209
207
  "This live will start": "This live will start",
@@ -351,4 +349,11 @@ export default {
351
349
  "Share in one click":"Share in one click",
352
350
  "Chaptering":"Chaptering",
353
351
  "Listen to the latest episode":"Listen to the latest episode",
352
+ "Share the episode in your newsletter": "Share the episode in your newsletter",
353
+ "Share the series in your newsletter": "Share the series in your newsletter",
354
+ "Share the playlist in your newsletter": "Share the playlist in your newsletter",
355
+ "Listen to all episodes":"Listen to all episodes",
356
+ "Newsletter elements":"Play pictogram, name of the show, See more",
357
+ "Choose text color":"Choose text color",
358
+ "Choose background color":"Choose background color",
354
359
  };
package/src/locale/es.ts CHANGED
@@ -199,12 +199,10 @@ export default {
199
199
  Publishing: "En proceso de publicación",
200
200
  "select productor": "Seleccionar productor",
201
201
  "Share newsletter": "Compartir newsletter",
202
- Configuration: "Configuración",
203
- "HTML Code": "Código HTML",
202
+ "Configure your Newsletter tile": "Configure el mosaico de su boletín",
203
+ "Copy and embed the HTML code into your email tool": "Copie e incruste el código HTML en su herramienta de correo electrónico",
204
204
  "Listen this episode": "Escuchar este episodio",
205
- "Display emission name": "Mostrar el título del programa",
206
- "Display participants list": "Mostrar la lista de participantes",
207
- "Choose main color": "Elegir el color principal",
205
+ "Choose main color": "Elija el color de los elementos del módulo de newsletter",
208
206
  "Octopus is ACPM Podcast accredited":
209
207
  "Octopus ha recibido la certificación ACPM",
210
208
  "Live episode": "Episodios en directo ahora",
@@ -352,4 +350,11 @@ export default {
352
350
  "Share in one click":"Comparte en un clic",
353
351
  "Chaptering":"Capítulos",
354
352
  "Listen to the latest episode":"Escuche el último episodio",
353
+ "Share the episode in your newsletter": "Comparte el episodio en tu newsletter",
354
+ "Share the series in your newsletter": "Comparte el programa en tu newsletter",
355
+ "Share the playlist in your newsletter": "Comparte la lista de reproducción en tu newsletter",
356
+ "Listen to all episodes":"Escuche todos los episodios",
357
+ "Newsletter elements":"Pictograma de reproducción, nombre del programa, Ver más",
358
+ "Choose text color":"Elige el color del texto",
359
+ "Choose background color":"Elige el color de fondo",
355
360
  }
package/src/locale/fr.ts CHANGED
@@ -201,13 +201,11 @@ export default {
201
201
  Debriefing: "Debriefing",
202
202
  Publishing: "Publication",
203
203
  "select productor": "Choisir un producteur",
204
- "Share newsletter": "Partage d'une newsletter",
205
- Configuration: "Configuration",
206
- "HTML Code": "Code HTML",
204
+ "Share newsletter": "Partage dans votre newsletter",
205
+ "Configure your Newsletter tile": "Configurez votre vignette Newsletter",
206
+ "Copy and embed the HTML code into your email tool": "Copiez et intégrez le code HTML dans votre outil d'e-mailing",
207
207
  "Listen this episode": "Écouter ce podcast",
208
- "Display emission name": "Afficher le titre de l'émission",
209
- "Display participants list": "Afficher la liste des intervenants",
210
- "Choose main color": "Choisir la couleur principale",
208
+ "Choose main color": "Choisir la couleur des éléments du module",
211
209
  "Octopus is ACPM Podcast accredited": "Octopus est accrédité ACPM Podcasts",
212
210
  "Live episode": "Épisode en live",
213
211
  "This live will start": "Ce live débutera",
@@ -358,4 +356,11 @@ export default {
358
356
  "Share in one click":"Partager en un clic",
359
357
  "Chaptering":"Chapitrage",
360
358
  "Listen to the latest episode":"Écouter le dernier épisode",
359
+ "Share the episode in your newsletter": "Partagez l'épisode dans votre newsletter",
360
+ "Share the series in your newsletter": "Partagez l'émission dans votre newsletter",
361
+ "Share the playlist in your newsletter": "Partagez la playlist dans votre newsletter",
362
+ "Listen to all episodes":"Écouter tous les épisodes",
363
+ "Newsletter elements":"Pictogramme Play, nom de l'émission, Voir plus",
364
+ "Choose text color":"Choisir la couleur du texte",
365
+ "Choose background color":"Choisir la couleur du fond",
361
366
  };
package/src/locale/it.ts CHANGED
@@ -197,12 +197,10 @@ export default{
197
197
  Publishing: 'In corso di pubblicazione',
198
198
  'select productor': 'Seleziona producer',
199
199
  'Share newsletter': "Condividi newsletter",
200
- Configuration: 'Configurazione',
201
- 'HTML Code': 'Codice HTML',
200
+ "Configure your Newsletter tile": 'Configura il riquadro Newsletter',
201
+ "Copy and embed the HTML code into your email tool": 'Copia e incorpora il codice HTML nel tuo strumento di posta elettronica',
202
202
  'Listen this episode': 'Ascolta questo episodio',
203
- 'Display emission name': "Mostra il titolo della serie",
204
- 'Display participants list': 'Mostra la lista degli speaker',
205
- 'Choose main color': 'Seleziona colore principale',
203
+ 'Choose main color': 'Scegli il colore degli elementi del modulo newsletter',
206
204
  'Octopus is ACPM Podcast accredited': 'Octopus è accreditata ACPM Podcast',
207
205
  'Live episode': 'Episodi live',
208
206
  'This live will start': 'Questo live inizierà',
@@ -344,4 +342,11 @@ export default{
344
342
  "Share in one click":"Condividi con un clic",
345
343
  "Chaptering":"Capitolazione",
346
344
  "Listen to the latest episode":"Ascolta l'ultimo episodio",
347
- };
345
+ "Share the episode in your newsletter": "Condividi l'episodio nella tua newsletter",
346
+ "Share the series in your newsletter": "Condividi lo spettacolo nella tua newsletter",
347
+ "Share the playlist in your newsletter": "Condividi la playlist nella tua newsletter",
348
+ "Listen to all episodes":"Ascolta tutti gli episodi",
349
+ "Newsletter elements":"Riproduci pittogramma, nome dello spettacolo, vedi altro",
350
+ "Choose text color":"Scegli il colore del testo",
351
+ "Choose background color":"Scegli il colore dello sfondo",
352
+ };
package/src/locale/sl.ts CHANGED
@@ -194,12 +194,10 @@ export default {
194
194
  Publishing: "Objava",
195
195
  "select productor": "Izberi producenta",
196
196
  "Share newsletter": "Deli glasilo",
197
- Configuration: "Konfiguracija",
198
- "HTML Code": "Koda HTML",
197
+ "Configure your Newsletter tile": "Konfigurirajte svojo ploščico Newsletter",
198
+ "Copy and embed the HTML code into your email tool": "Kopirajte in vdelajte kodo HTML v svoje e-poštno orodje",
199
199
  "Listen this episode": "Poslušajte to epizodo",
200
- "Display emission name": "Prikaži naslov oddaje",
201
- "Display participants list": "Prikaži seznam sodelujočih",
202
- "Choose main color": "Izberi glavno barvo",
200
+ "Choose main color": "Izberite barvo elementov modula newsletter",
203
201
  "Octopus is ACPM Podcast accredited":
204
202
  "Octopus je akreditiran pri organizaciji ACPM",
205
203
  "Live episode": "Trenutne epizode v živo",
@@ -341,4 +339,11 @@ export default {
341
339
  "Share in one click":"Delite z enim klikom",
342
340
  "Chaptering":"Poglavje",
343
341
  "Listen to the latest episode":"Poslušajte najnovejšo epizodo",
342
+ "Share the episode in your newsletter": "Delite epizodo v svojem glasilu",
343
+ "Share the series in your newsletter": "Delite oddajo v svojem glasilu",
344
+ "Share the playlist in your newsletter": "Delite seznam predvajanja v svojem glasilu",
345
+ "Listen to all episodes":"Poslušaj vse epizode",
346
+ "Newsletter elements":"Predvajaj piktogram, ime oddaje, Poglej več",
347
+ "Choose text color":"Izberite barvo besedila",
348
+ "Choose background color":"Izberite barvo ozadja",
344
349
  }
@@ -12,6 +12,9 @@ export const useSaveFetchStore = defineStore('SaveFetchStore', {
12
12
  }),
13
13
  actions:{
14
14
  async getOrgaAttributes(orgaId: string): Promise<{ [key: string]: string | number | boolean | undefined; }>{
15
+ if(!orgaId.length){
16
+ return {};
17
+ }
15
18
  if(this.orgaPublicAttributes[orgaId]){
16
19
  return this.orgaPublicAttributes[orgaId];
17
20
  }