@saooti/octopus-sdk 36.0.2 → 36.0.4

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.
Files changed (85) hide show
  1. package/package.json +1 -1
  2. package/public/css/fonts/icomoon.eot +0 -0
  3. package/public/css/fonts/icomoon.svg +21 -12
  4. package/public/css/fonts/icomoon.ttf +0 -0
  5. package/public/css/fonts/icomoon.woff +0 -0
  6. package/public/css/fonts/style.css +32 -5
  7. package/public/img/header-emissions.webp +0 -0
  8. package/public/img/header-home.webp +0 -0
  9. package/public/img/header-intervenants.webp +0 -0
  10. package/public/img/header-playlists.webp +0 -0
  11. package/public/img/header-podcasts.webp +0 -0
  12. package/src/assets/bootstrap.scss +26 -12
  13. package/src/assets/form.scss +2 -2
  14. package/src/assets/general.scss +16 -26
  15. package/src/assets/live.scss +0 -18
  16. package/src/assets/multiselect.scss +15 -25
  17. package/src/assets/share.scss +47 -12
  18. package/src/components/display/categories/CategoryChooser.vue +1 -1
  19. package/src/components/display/categories/CategoryFilter.vue +109 -62
  20. package/src/components/display/categories/CategoryList.vue +9 -20
  21. package/src/components/display/emission/EmissionChooser.vue +1 -1
  22. package/src/components/display/emission/EmissionInlineList.vue +1 -1
  23. package/src/components/display/emission/EmissionItem.vue +5 -5
  24. package/src/components/display/emission/EmissionPlayerItem.vue +15 -11
  25. package/src/components/display/filter/MonetizableFilter.vue +1 -1
  26. package/src/components/display/filter/ProductorSearch.vue +1 -1
  27. package/src/components/display/filter/RubriqueChoice.vue +1 -1
  28. package/src/components/display/list/ListPaginate.vue +14 -25
  29. package/src/components/display/list/Paginate.vue +71 -104
  30. package/src/components/display/list/PaginateParams.vue +66 -0
  31. package/src/components/display/live/CountDown.vue +1 -1
  32. package/src/components/display/live/LiveItem.vue +0 -7
  33. package/src/components/display/organisation/OrganisationChooser.vue +1 -1
  34. package/src/components/display/participant/ParticipantItem.vue +6 -12
  35. package/src/components/display/participant/ParticipantList.vue +2 -24
  36. package/src/components/display/playlist/PlaylistItem.vue +10 -10
  37. package/src/components/display/podcasts/AnimatorsItem.vue +1 -2
  38. package/src/components/display/podcasts/ParticipantDescription.vue +0 -30
  39. package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
  40. package/src/components/display/podcasts/PodcastImage.vue +19 -13
  41. package/src/components/display/podcasts/PodcastInlineListClassic.vue +1 -1
  42. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +14 -12
  43. package/src/components/display/podcasts/PodcastItem.vue +15 -9
  44. package/src/components/display/podcasts/PodcastItemInfo.vue +18 -55
  45. package/src/components/display/podcasts/PodcastModuleBox.vue +54 -26
  46. package/src/components/display/podcasts/PodcastSwiperList.vue +20 -10
  47. package/src/components/display/podcasts/TagList.vue +7 -2
  48. package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
  49. package/src/components/display/rubriques/RubriqueList.vue +11 -19
  50. package/src/components/display/sharing/PlayerParameters.vue +59 -75
  51. package/src/components/display/sharing/ShareButtons.vue +20 -37
  52. package/src/components/display/sharing/ShareButtonsIntern.vue +74 -83
  53. package/src/components/display/sharing/ShareDistribution.vue +3 -2
  54. package/src/components/display/sharing/SharePlayer.vue +50 -50
  55. package/src/components/display/sharing/SharePlayerColors.vue +4 -4
  56. package/src/components/display/sharing/SharePlayerTypes.vue +25 -27
  57. package/src/components/display/sharing/SubscribeButtons.vue +2 -2
  58. package/src/components/form/ClassicCheckbox.vue +1 -1
  59. package/src/components/form/ClassicSearch.vue +2 -1
  60. package/src/components/misc/Footer.vue +19 -15
  61. package/src/components/misc/HomeDropdown.vue +14 -14
  62. package/src/components/misc/Popover.vue +2 -1
  63. package/src/components/misc/ProgressBar.vue +1 -1
  64. package/src/components/misc/TopBar.vue +54 -44
  65. package/src/components/misc/modal/ClassicModal.vue +2 -2
  66. package/src/components/misc/modal/NewsletterModal.vue +0 -1
  67. package/src/components/misc/player/Player.vue +5 -14
  68. package/src/components/misc/player/PlayerCompact.vue +2 -1
  69. package/src/components/pages/Emission.vue +64 -62
  70. package/src/components/pages/Emissions.vue +0 -9
  71. package/src/components/pages/Participant.vue +13 -15
  72. package/src/components/pages/Participants.vue +0 -7
  73. package/src/components/pages/Playlist.vue +43 -37
  74. package/src/components/pages/Playlists.vue +0 -5
  75. package/src/components/pages/Podcast.vue +65 -100
  76. package/src/components/pages/Podcasts.vue +1 -37
  77. package/src/locale/de.ts +6 -1
  78. package/src/locale/en.ts +6 -1
  79. package/src/locale/es.ts +6 -1
  80. package/src/locale/fr.ts +6 -1
  81. package/src/locale/it.ts +6 -1
  82. package/src/locale/sl.ts +6 -1
  83. package/src/sass/_variables.scss +6 -1
  84. package/src/stores/ParamSdkStore.ts +14 -22
  85. package/src/stores/PlayerStore.ts +11 -0
@@ -1,61 +1,77 @@
1
1
  <template>
2
- <button
3
- v-if="isDownloadButton"
4
- class="text-dark"
5
- :class="getClass()"
6
- :title="$t('Downloading')"
7
- @click="onDownload(podcast.audioUrl, podcast.title)"
8
- >
9
- <div class="saooti-download" />
10
- </button>
11
- <template
12
- v-for="button in arrayShareButtons"
13
- :key="button.title"
14
- >
15
- <a
16
- v-if="button.condition"
17
- rel="noopener"
18
- target="_blank"
19
- :href="button.url"
20
- :class="getClass(button.className)"
21
- :title="button.title"
22
- >
23
- <div :class="button.icon" />
24
- </a>
25
- </template>
26
- <a
27
- v-if="''!==rssUrl && displayRss"
28
- rel="noopener"
29
- target="_blank"
30
- :class="getClass()"
31
- :href="rssUrl"
32
- :title="titleRssButton"
33
- @click.prevent="openPopup()"
34
- >
35
- <div class="saooti-rss" />
36
- </a>
37
- <button
38
- :class="getClass()"
39
- :title="$t('Copy this page URL')"
40
- @click="onCopyCode(urlPage,afterCopy)"
41
- >
42
- <div class="saooti-link" />
43
- </button>
44
- <button
45
- v-if="podcast || emission ||playlist"
46
- :class="getClass()"
47
- :title="$t('Share newsletter')"
48
- @click="newsletter = true"
49
- >
50
- <div class="saooti-newsletter" />
51
- </button>
52
- <button
53
- :class="getClass()"
54
- :title="$t('Share QR Code')"
55
- @click="qrCode = true"
56
- >
57
- <div class="saooti-qrcode" />
58
- </button>
2
+ <div class="d-flex flex-column me-2">
3
+ <div class="h4 mb-2">{{$t('Social networks')}}</div>
4
+ <div class="d-flex align-items-center">
5
+ <template
6
+ v-for="button in arrayShareButtons"
7
+ :key="button.title"
8
+ >
9
+ <a
10
+ v-if="button.condition"
11
+ rel="noopener"
12
+ target="_blank"
13
+ :href="button.url"
14
+ :class="getClass(button.className)"
15
+ class="me-2"
16
+ :title="button.title"
17
+ >
18
+ <div :class="button.icon" />
19
+ </a>
20
+ </template>
21
+ </div>
22
+ </div>
23
+ <div class="d-flex flex-column me-2" v-if="podcast || emission ||playlist">
24
+ <div class="h4 mb-2">{{$t('Newsletter')}}</div>
25
+ <div class="d-flex align-items-center justify-content-center">
26
+ <button
27
+ :class="getClass()"
28
+ class="saooti-newsletter"
29
+ :title="$t('Share newsletter')"
30
+ @click="newsletter = true"
31
+ />
32
+ </div>
33
+ </div>
34
+
35
+ <div class="d-flex flex-column me-2">
36
+ <div class="h4 mb-2">{{$t('QR Code')}}</div>
37
+ <div class="d-flex align-items-center justify-content-center">
38
+ <button
39
+ :class="getClass()"
40
+ :title="$t('Share QR Code')"
41
+ @click="qrCode = true"
42
+ class="saooti-qrcode"
43
+ />
44
+ </div>
45
+ </div>
46
+
47
+ <div class="d-flex flex-column me-2">
48
+ <div class="h4 mb-2">{{$t('Copy this page URL')}}</div>
49
+ <div class="d-flex align-items-center justify-content-center">
50
+ <button
51
+ :class="getClass()"
52
+ class="saooti-link"
53
+ :title="$t('Copy this page URL')"
54
+ @click="onCopyCode(urlPage,afterCopy)"
55
+ />
56
+ </div>
57
+ </div>
58
+
59
+ <div class="d-flex flex-column me-2" v-if="''!==rssUrl && displayRss">
60
+ <div class="h4 mb-2">{{$t('Rss feed')}}</div>
61
+ <div class="d-flex align-items-center justify-content-center">
62
+ <a
63
+ rel="noopener"
64
+ target="_blank"
65
+ class="saooti-rss"
66
+ :class="getClass()"
67
+ :href="rssUrl"
68
+ :title="titleRssButton"
69
+ @click.prevent="openPopup()"
70
+ />
71
+ </div>
72
+ </div>
73
+
74
+
59
75
  <ClipboardModal
60
76
  v-if="dataRSSSave"
61
77
  :link="rssUrl"
@@ -140,12 +156,6 @@ export default defineComponent({
140
156
  { title: 'Whatsapp', icon:'saooti-Whatsapp', className:'btn-whatsapp', url :`whatsapp://send?text=${this.urlPage}`, condition: window.matchMedia('(hover: none)').matches}
141
157
  ]
142
158
  },
143
- isDownloadButton(): boolean{
144
- return this.isDownloadButtonParam && undefined!==this.podcast && (!this.podcast.tags || !this.podcast.tags.includes('copyright'));
145
- },
146
- isDownloadButtonParam(): boolean {
147
- return (state.podcastPage.downloadButton as boolean);
148
- },
149
159
  urlPage(): string{
150
160
  return window.location.href;
151
161
  },
@@ -179,9 +189,7 @@ export default defineComponent({
179
189
 
180
190
  methods: {
181
191
  getClass(className='btn-rss'): string{
182
- let returnString = `btn ${className} share-btn mb-2 text-dark`;
183
- returnString+= this.isVertical ? '' : ' mx-2';
184
- return returnString;
192
+ return `btn ${className} share-btn mb-2 text-dark`;
185
193
  },
186
194
  openPopup(): void {
187
195
  this.dataRSSSave = !this.dataRSSSave;
@@ -189,23 +197,6 @@ export default defineComponent({
189
197
  afterCopy(): void{
190
198
  (this.$refs.snackbar as InstanceType<typeof Snackbar>).open(this.$t('Link in clipboard'));
191
199
  },
192
- onDownload(urlToDownload: string, nameOfDownload: string): void{
193
- const xhr = new XMLHttpRequest();
194
- xhr.open('GET', urlToDownload, true);
195
- xhr.responseType = 'blob';
196
- xhr.onload = function() {
197
- const urlCreator = window.URL || window.webkitURL;
198
- const imageUrl = urlCreator.createObjectURL(this.response);
199
- const tag = document.createElement('a');
200
- tag.href = imageUrl;
201
- tag.target = '_blank';
202
- tag.download = nameOfDownload.replace(/ /g, '_');
203
- document.body.appendChild(tag);
204
- tag.click();
205
- document.body.removeChild(tag);
206
- };
207
- xhr.send();
208
- },
209
200
  },
210
201
  })
211
202
  </script>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="module-box">
3
- <h3>{{ $t('Distribute') }}</h3>
3
+ <h2 class="big-h2 mb-3">{{ $t('Distribute') }}</h2>
4
4
  <div class="sharing-distribution-container">
5
5
  {{ $t('Rss feed:') }}
6
6
  <div class="text-primary hide-small-screen text-break">
@@ -101,10 +101,11 @@ export default defineComponent({
101
101
  </script>
102
102
 
103
103
  <style lang="scss">
104
+ @import '@scss/_variables.scss';
104
105
  .octopus-app{
105
106
  .sharing-distribution-container {
106
107
  border: 0.05rem solid #dee2e6;
107
- border-radius: 0.3rem;
108
+ border-radius: $octopus-borderradius;
108
109
  padding: 0.4rem;
109
110
  margin: 0.2rem 1rem 0.2rem 0;
110
111
  display: flex;
@@ -1,24 +1,26 @@
1
1
  <template>
2
- <div>
3
- <div class="module-box text-center-mobile overflow-visible">
4
- <h3>{{ $t('Embed') }}</h3>
5
- <template v-if="!exclusive && (authenticated || notExclusive)">
6
- <div class="d-flex flex-column align-items-center">
7
- <div
8
- v-if="noAd && !isEducation"
9
- class="sticker"
10
- :title="$t('You cannot insert advertising')"
11
- >
12
- {{ $t('No advertising') }}
13
- </div>
14
- <iframe
15
- id="miniplayerIframe"
16
- title="miniplayer"
17
- :src="iFrameSrc"
18
- width="100%"
19
- :height="iFrameHeight"
20
- class="max-iframe my-2"
21
- />
2
+ <div class="module-box overflow-visible">
3
+ <div class="d-flex justify-content-between align-items-center">
4
+ <h2 class="big-h2 mb-3 height-40">{{ $t('Embed') }}</h2>
5
+ <div
6
+ v-if="noAd && !isEducation"
7
+ class="sticker"
8
+ :title="$t('You cannot insert advertising')"
9
+ >
10
+ {{ $t('No advertising') }}
11
+ </div>
12
+ </div>
13
+ <template v-if="!exclusive && (authenticated || notExclusive)">
14
+ <div class="d-flex">
15
+ <iframe
16
+ id="miniplayerIframe"
17
+ title="miniplayer"
18
+ :src="iFrameSrc"
19
+ width="100%"
20
+ :height="iFrameHeight"
21
+ class="max-iframe mx-3"
22
+ />
23
+ <div class="d-flex flex-column flex-grow-1">
22
24
  <SharePlayerTypes
23
25
  v-if="!isLiveReadyToRecord"
24
26
  v-model:iFrameModel="iFrameModel"
@@ -37,44 +39,42 @@
37
39
  id-checkbox="is-visible-checkbox"
38
40
  :label="titleStillAvailable"
39
41
  />
40
- </div>
41
- <PlayerParameters
42
- v-if="isPlayerParameter"
43
- :is-visible="isVisible"
44
- :chose-number-episode="displayChoiceAllEpisodes|| isLargeSuggestion"
45
- :display-choice-all-episodes="displayChoiceAllEpisodes"
46
- :display-transcript-param="displayTranscriptParam"
47
- :display-article-param="displayArticleParam"
48
- @displayArticle="displayArticle = $event"
49
- @displayTranscript="displayTranscript = $event"
50
- @episodeNumbers="episodeNumbers = $event"
51
- @proceedReading="proceedReading = $event"
52
- @isVisible="isVisible = $event"
53
- @iFrameNumber="iFrameNumber = $event"
54
- />
55
- <div class="d-flex flex-column align-items-center mt-3">
42
+ <PlayerParameters
43
+ v-if="isPlayerParameter"
44
+ :is-visible="isVisible"
45
+ :chose-number-episode="displayChoiceAllEpisodes|| isLargeSuggestion"
46
+ :display-choice-all-episodes="displayChoiceAllEpisodes"
47
+ :display-transcript-param="displayTranscriptParam"
48
+ :display-article-param="displayArticleParam"
49
+ @displayArticle="displayArticle = $event"
50
+ @displayTranscript="displayTranscript = $event"
51
+ @episodeNumbers="episodeNumbers = $event"
52
+ @proceedReading="proceedReading = $event"
53
+ @isVisible="isVisible = $event"
54
+ @iFrameNumber="iFrameNumber = $event"
55
+ />
56
+ <ShareModalPlayer
57
+ v-if="isShareModal"
58
+ :embed-link="iFrame"
59
+ :embedly-link="iFrameSrc"
60
+ :direct-link="podcast"
61
+ @close="isShareModal = false"
62
+ />
56
63
  <button
57
- class="btn btn-primary mb-3"
64
+ class="btn btn-primary width-fit-content mt-3"
58
65
  @click="isShareModal = true"
59
66
  >
60
67
  {{ $t('Share the player') }}
61
68
  </button>
62
69
  </div>
63
- </template>
64
- <div v-else-if="exclusive && authenticated">
65
- {{ $t('Only organisation members can share the content') }}
66
- </div>
67
- <div v-else-if="!authenticated">
68
- {{ $t('Only authenticated members can share the content') }}
69
70
  </div>
71
+ </template>
72
+ <div v-else-if="exclusive && authenticated">
73
+ {{ $t('Only organisation members can share the content') }}
74
+ </div>
75
+ <div v-else-if="!authenticated">
76
+ {{ $t('Only authenticated members can share the content') }}
70
77
  </div>
71
- <ShareModalPlayer
72
- v-if="isShareModal"
73
- :embed-link="iFrame"
74
- :embedly-link="iFrameSrc"
75
- :direct-link="podcast"
76
- @close="isShareModal = false"
77
- />
78
78
  </div>
79
79
  </template>
80
80
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
- <div class="d-flex justify-content-around mt-3 w-100">
3
- <div class="d-flex flex-column align-items-center flex-shrink-0 me-3">
4
- <div>{{ $t('Choose color') }}</div>
2
+ <div class="d-flex mt-3">
3
+ <div class="d-flex flex-column align-items-center flex-shrink-0 me-4">
4
+ <div class="h4 mb-2">{{ $t('Choose color') }}</div>
5
5
  <VSwatches
6
6
  :model-value="color"
7
7
  class="c-hand "
@@ -13,7 +13,7 @@
13
13
  />
14
14
  </div>
15
15
  <div class="d-flex flex-column align-items-center">
16
- <div>{{ $t('Choose theme') }}</div>
16
+ <div class="h4 mb-2">{{ $t('Choose theme') }}</div>
17
17
  <VSwatches
18
18
  :model-value="theme"
19
19
  class="c-hand "
@@ -1,35 +1,33 @@
1
1
  <template>
2
- <div class="d-flex flex-column">
3
- <label
4
- for="iframe-select"
5
- title="select miniplayer"
6
- />
7
- <select
8
- id="iframe-select"
9
- :value="iFrameModel"
10
- class=""
11
- @change="$emit('update:iFrameModel',$event.target.value)"
2
+ <label
3
+ for="iframe-select"
4
+ title="select miniplayer"
5
+ />
6
+ <select
7
+ id="iframe-select"
8
+ :value="iFrameModel"
9
+ class=""
10
+ @change="$emit('update:iFrameModel',$event.target.value)"
11
+ >
12
+ <template
13
+ v-for="option in optionsSelect"
14
+ :key="option.value"
12
15
  >
13
- <template
14
- v-for="option in optionsSelect"
15
- :key="option.value"
16
- >
17
- <option
18
- v-if="option.condition"
19
- :value="option.value"
20
- >
21
- {{ option.name }}
22
- </option>
23
- </template>
24
16
  <option
25
- v-for="player in customPlayersDisplay"
26
- :key="player.customId"
27
- :value="player.customId"
17
+ v-if="option.condition"
18
+ :value="option.value"
28
19
  >
29
- {{ $t('Custom version') + " «" +player.name+"»" }}
20
+ {{ option.name }}
30
21
  </option>
31
- </select>
32
- </div>
22
+ </template>
23
+ <option
24
+ v-for="player in customPlayersDisplay"
25
+ :key="player.customId"
26
+ :value="player.customId"
27
+ >
28
+ {{ $t('Custom version') + " «" +player.name+"»" }}
29
+ </option>
30
+ </select>
33
31
  </template>
34
32
 
35
33
  <script lang="ts">
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div class="module-box flex-grow-0">
3
- <h3 class="mb-2 height-40">
3
+ <h2 class="big-h2 mb-3 height-40">
4
4
  {{ $t('Subscribe emission') }}
5
- </h3>
5
+ </h2>
6
6
  <template
7
7
  v-for="(sub, index) in subscriptionsDisplay"
8
8
  :key="sub.name"
@@ -72,7 +72,7 @@ export default defineComponent({
72
72
  bottom: 0;
73
73
  background-color: #ccc;
74
74
  transition: .4s;
75
- border-radius: 1rem;
75
+ border-radius: $octopus-borderradius;
76
76
  }
77
77
  .slider:before {
78
78
  position: absolute;
@@ -41,11 +41,12 @@ export default defineComponent({
41
41
  });
42
42
  </script>
43
43
  <style lang="scss">
44
+ @import '@scss/_variables.scss';
44
45
  .octopus-app{
45
46
  .champs-searchPage{
46
47
  input {
47
48
  border: 2px solid #dee2e6;
48
- border-radius: 10px;
49
+ border-radius: $octopus-borderradius;
49
50
  margin: 0 !important;
50
51
  }
51
52
  .saooti-search,
@@ -41,21 +41,26 @@
41
41
  rel="noopener"
42
42
  target="_blank"
43
43
  >{{ $t('Contact') }}</a>
44
- <a
45
- href="https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts"
46
- rel="noopener"
47
- target="_blank"
48
- :title="$t('Octopus is ACPM Podcast accredited')"
49
- >
50
- <img
51
- width="44"
52
- height="44"
53
- class="acpm_image"
54
- src="/img/ACPM.webp"
44
+ <div class="d-flex align-items-center">
45
+ <div class="hosted-by">
46
+ {{ $t('Hosted by') }}<span class="ms-1 me-1 text-primary">Saooti</span>
47
+ </div>
48
+ <a
49
+ href="https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts"
50
+ rel="noopener"
51
+ target="_blank"
55
52
  :title="$t('Octopus is ACPM Podcast accredited')"
56
- :alt="$t('Octopus is ACPM Podcast accredited')"
57
53
  >
58
- </a>
54
+ <img
55
+ width="44"
56
+ height="44"
57
+ class="acpm_image"
58
+ src="/img/ACPM.webp"
59
+ :title="$t('Octopus is ACPM Podcast accredited')"
60
+ :alt="$t('Octopus is ACPM Podcast accredited')"
61
+ >
62
+ </a>
63
+ </div>
59
64
  </div>
60
65
  </template>
61
66
 
@@ -143,8 +148,7 @@ export default defineComponent({
143
148
  <style lang="scss">
144
149
  .octopus-app{
145
150
  #footer{
146
- font-size: 0.7rem;
147
- position: sticky;
151
+ font-size: 0.6rem;
148
152
  bottom: 0;
149
153
  z-index: 10;
150
154
  background: white;
@@ -2,13 +2,18 @@
2
2
  <div
3
3
  class="d-flex align-items-center"
4
4
  >
5
- <button
5
+ <router-link
6
6
  v-if="authenticated"
7
- class="btn btn-primary hide-phone m-1"
8
- @click="goToUrl('/main/priv/backoffice')"
9
- >
10
- {{ $t('My space') }}
11
- </button>
7
+ :title="$t('My space')"
8
+ to="/main/priv/backoffice"
9
+ class="btn admin-button hide-smallest-screen m-1 saooti-admin-menu"
10
+ />
11
+ <router-link
12
+ v-if="isContribution"
13
+ :title="$t('Upload')"
14
+ to="/main/priv/upload"
15
+ class="btn admin-button hide-smallest-screen m-1 saooti-upload"
16
+ />
12
17
  <button
13
18
  id="home-dropdown"
14
19
  class="btn m-1 admin-button saooti-user"
@@ -112,7 +117,6 @@ export default defineComponent({
112
117
  },
113
118
  routerBackoffice(){
114
119
  return [
115
- {title:this.$t('Upload'),class:"btn btn-primary w-100", path:'/main/priv/upload', condition: (state.generalParameters.isContribution as boolean)},
116
120
  {title:this.$t('My space'),class:"show-phone octopus-dropdown-item", path:'/main/priv/backoffice', condition: true},
117
121
  {title:this.$t('Edit my profile'),class:"octopus-dropdown-item", path:'/main/priv/edit/profile', condition: true},
118
122
  {title:this.$t('Edit my organisation'),class:"octopus-dropdown-item", path:'/main/priv/edit/organisation', condition: (state.generalParameters.isOrganisation as boolean) || 1<this.organisationsAvailable.length}];
@@ -124,14 +128,10 @@ export default defineComponent({
124
128
  authenticated(): boolean {
125
129
  return state.generalParameters.authenticated??false;
126
130
  },
127
- },
128
-
129
- methods: {
130
- goToUrl(url: string): void {
131
- if (this.authenticated) {
132
- this.$router.push(url);
133
- }
131
+ isContribution(): boolean {
132
+ return state.generalParameters.isContribution??false;
134
133
  },
135
134
  },
135
+
136
136
  })
137
137
  </script>
@@ -158,10 +158,11 @@ export default defineComponent({
158
158
  });
159
159
  </script>
160
160
  <style lang="scss">
161
+ @import '@scss/_variables.scss';
161
162
  .octopus-popover{
162
163
  background: white;
163
164
  border: 1px solid #ccc;
164
- border-radius: 5px;
165
+ border-radius: $octopus-borderradius;
165
166
  position: absolute;
166
167
  z-index: 9999;
167
168
  &.octopus-dropdown{
@@ -52,7 +52,7 @@ export default defineComponent({
52
52
  display: flex;
53
53
  overflow: hidden;
54
54
  background-color:#e9ecef;
55
- border-radius: 0.375rem;
55
+ border-radius: $octopus-borderradius;
56
56
  position: relative;
57
57
  cursor: pointer;
58
58