@saooti/octopus-sdk 31.0.34 → 31.0.37

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/README.md +6 -1
  2. package/index.ts +8 -2
  3. package/package.json +1 -1
  4. package/public/img/403.jpeg +0 -0
  5. package/public/img/404.svg +242 -0
  6. package/src/assets/bootstrap-diff.scss +25 -24
  7. package/src/assets/general.scss +57 -2
  8. package/src/assets/modal.scss +5 -4
  9. package/src/assets/share.scss +2 -0
  10. package/src/components/display/categories/CategoryFilter.vue +12 -26
  11. package/src/components/display/categories/CategoryList.vue +14 -20
  12. package/src/components/display/comments/AddCommentModal.vue +19 -36
  13. package/src/components/display/comments/CommentBasicView.vue +2 -5
  14. package/src/components/display/comments/CommentInput.vue +8 -21
  15. package/src/components/display/comments/CommentItem.vue +1 -1
  16. package/src/components/display/comments/CommentList.vue +10 -21
  17. package/src/components/display/comments/CommentPlayer.vue +0 -3
  18. package/src/components/display/comments/CommentSection.vue +6 -14
  19. package/src/components/display/emission/EmissionInlineList.vue +5 -10
  20. package/src/components/display/emission/EmissionItem.vue +5 -10
  21. package/src/components/display/emission/EmissionList.vue +66 -68
  22. package/src/components/display/filter/AdvancedSearch.vue +19 -45
  23. package/src/components/display/filter/CategoryFilter.vue +11 -20
  24. package/src/components/display/filter/MonetizableFilter.vue +7 -14
  25. package/src/components/display/filter/ProductorSearch.vue +69 -78
  26. package/src/components/display/filter/RubriqueChoice.vue +1 -4
  27. package/src/components/display/filter/RubriqueFilter.vue +1 -5
  28. package/src/components/display/list/ListPaginate.vue +150 -0
  29. package/src/components/display/list/Paginate.vue +219 -0
  30. package/src/components/display/live/LiveHorizontalList.vue +56 -40
  31. package/src/components/display/organisation/OrganisationChooser.vue +7 -12
  32. package/src/components/display/participant/ParticipantItem.vue +6 -17
  33. package/src/components/display/participant/ParticipantList.vue +53 -46
  34. package/src/components/display/playlist/PlaylistItem.vue +1 -4
  35. package/src/components/display/playlist/PlaylistList.vue +60 -63
  36. package/src/components/display/playlist/PodcastList.vue +74 -101
  37. package/src/components/display/podcasts/AnimatorsItem.vue +17 -28
  38. package/src/components/display/podcasts/ParticipantDescription.vue +3 -11
  39. package/src/components/display/podcasts/PodcastFilterList.vue +8 -16
  40. package/src/components/display/podcasts/PodcastImage.vue +86 -92
  41. package/src/components/display/podcasts/PodcastItem.vue +1 -2
  42. package/src/components/display/podcasts/PodcastItemInfo.vue +10 -10
  43. package/src/components/display/podcasts/PodcastList.vue +61 -81
  44. package/src/components/display/podcasts/PodcastModuleBox.vue +19 -25
  45. package/src/components/display/podcasts/PodcastSwiperList.vue +2 -3
  46. package/src/components/display/podcasts/TagList.vue +0 -2
  47. package/src/components/display/sharing/QrCode.vue +2 -11
  48. package/src/components/display/sharing/ShareButtons.vue +44 -329
  49. package/src/components/display/sharing/ShareButtonsIntern.vue +209 -0
  50. package/src/components/display/sharing/SharePlayer.vue +21 -53
  51. package/src/components/display/sharing/SplitButton.vue +42 -0
  52. package/src/components/display/sharing/SubscribeButtons.vue +46 -39
  53. package/src/components/misc/Footer.vue +1 -4
  54. package/src/components/misc/HomeDropdown.vue +26 -24
  55. package/src/components/misc/LeftMenu.vue +3 -7
  56. package/src/components/misc/TopBar.vue +9 -16
  57. package/src/components/misc/modal/ClipboardModal.vue +1 -1
  58. package/src/components/misc/modal/MessageModal.vue +1 -1
  59. package/src/components/misc/modal/QrCodeModal.vue +1 -1
  60. package/src/components/misc/modal/ShareModalPlayer.vue +1 -1
  61. package/src/components/mixins/organisationFilter.ts +6 -0
  62. package/src/components/mixins/player/playerLive.ts +1 -1
  63. package/src/components/pages/Category.vue +1 -1
  64. package/src/components/pages/Emission.vue +0 -6
  65. package/src/components/pages/Emissions.vue +1 -1
  66. package/src/components/pages/Error403Page.vue +44 -8
  67. package/src/components/pages/PageNotFound.vue +55 -0
  68. package/src/components/pages/Participant.vue +0 -15
  69. package/src/components/pages/Participants.vue +1 -1
  70. package/src/components/pages/Playlist.vue +2 -2
  71. package/src/components/pages/Playlists.vue +1 -1
  72. package/src/components/pages/Podcast.vue +1 -3
  73. package/src/components/pages/Podcasts.vue +11 -8
  74. package/src/components/pages/Rubrique.vue +1 -1
  75. package/src/locale/de.ts +3 -0
  76. package/src/locale/en.ts +9 -0
  77. package/src/locale/es.ts +3 -0
  78. package/src/locale/fr.ts +10 -1
  79. package/src/locale/it.ts +3 -0
  80. package/src/locale/sl.ts +3 -0
  81. package/src/router/router.ts +2 -0
  82. package/src/sass/_variables.scss +0 -1
  83. package/src/store/class/general/playlist.ts +1 -1
  84. package/src/store/paramStore.ts +7 -11
  85. package/src/store/typeAppStore.ts +20 -2
@@ -77,6 +77,7 @@
77
77
  </template>
78
78
 
79
79
  <script lang="ts">
80
+ import { orgaComputed } from '../../mixins/orgaComputed';
80
81
  import { state } from '../../../store/paramStore';
81
82
  import octopusApi from '@saooti/octopus-api';
82
83
  import { Podcast } from '@/store/class/general/podcast';
@@ -96,7 +97,7 @@ export default defineComponent({
96
97
  SharePlayerTypes,
97
98
  ClassicCheckbox
98
99
  },
99
-
100
+ mixins:[orgaComputed],
100
101
  props: {
101
102
  podcast: { default: undefined, type: Object as ()=> Podcast},
102
103
  emission: { default: undefined, type: Object as ()=> Emission},
@@ -126,7 +127,7 @@ export default defineComponent({
126
127
  displayChoiceAllEpisodes():boolean{
127
128
  return !this.podcast || this.isEmission || this.isLargeEmission;
128
129
  },
129
- miniplayerBaseUrl(): string{
130
+ baseUrl(): string{
130
131
  return (state.podcastPage.MiniplayerUri as string);
131
132
  },
132
133
  isEmission(): boolean {
@@ -164,67 +165,36 @@ export default defineComponent({
164
165
  }
165
166
  return false;
166
167
  },
167
- authenticated(): boolean {
168
- return (state.generalParameters.authenticated as boolean);
169
- },
170
168
  iFrameSrc(): string {
171
169
  const url = [''];
172
- let iFrameNumber = '/' + this.iFrameNumber;
173
- if (this.displayChoiceAllEpisodes && 'all' === this.episodeNumbers) {
174
- iFrameNumber = '/0';
175
- }
170
+ let iFrameNumber = this.displayChoiceAllEpisodes && 'all' === this.episodeNumbers ? '/0' : '/' + this.iFrameNumber;
171
+ url.push(`${this.baseUrl}miniplayer/`);
176
172
  if (!this.podcast && !this.playlist && this.emission) {
177
- if ('default' === this.iFrameModel) {
178
- url.push(
179
- `${this.miniplayerBaseUrl}miniplayer/emission/${this.emission.emissionId}${iFrameNumber}`
180
- );
181
- }else if('large' === this.iFrameModel) {
182
- url.push(
183
- `${this.miniplayerBaseUrl}miniplayer/emissionLarge/${this.emission.emissionId}${iFrameNumber}`
184
- );
185
- }
186
- else {
187
- url.push(
188
- `${this.miniplayerBaseUrl}miniplayer/${this.iFrameModel}/${this.emission.emissionId}${iFrameNumber}`
189
- );
173
+ switch (this.iFrameModel) {
174
+ case 'default': url.push('emission'); break;
175
+ case 'large': url.push('emissionLarge'); break;
176
+ default: url.push(`${this.iFrameModel}`);break;
190
177
  }
178
+ url.push(`/${this.emission.emissionId}${iFrameNumber}`);
191
179
  } else if (this.playlist) {
192
- if ('default' === this.iFrameModel) {
193
- url.push(
194
- `${this.miniplayerBaseUrl}miniplayer/playlist/${this.playlist.playlistId}`
195
- );
196
- } else if('large' === this.iFrameModel) {
197
- url.push(
198
- `${this.miniplayerBaseUrl}miniplayer/playlistLarge/${this.playlist.playlistId}`
199
- );
200
- }else {
201
- url.push(
202
- `${this.miniplayerBaseUrl}miniplayer/${this.iFrameModel}/${this.playlist.playlistId}`
203
- );
180
+ switch (this.iFrameModel) {
181
+ case 'default': url.push('playlist'); break;
182
+ case 'large': url.push('playlistLarge'); break;
183
+ default: url.push(`${this.iFrameModel}`);break;
204
184
  }
185
+ url.push(`/${this.playlist.playlistId}`);
205
186
  } else if(this.emission && this.podcast){
187
+ url.push(`${this.iFrameModel}/`);
206
188
  if (this.isEmission || this.isLargeEmission) {
207
- url.push(
208
- `${this.miniplayerBaseUrl}miniplayer/${this.iFrameModel}/${this.emission.emissionId}${iFrameNumber}/${this.podcast.podcastId}`
209
- );
189
+ url.push(`${this.emission.emissionId}${iFrameNumber}/${this.podcast.podcastId}`);
210
190
  } else if (this.isLargeSuggestion) {
211
- url.push(
212
- `${this.miniplayerBaseUrl}miniplayer/${this.iFrameModel}/${this.podcast.podcastId}${iFrameNumber}`
213
- );
191
+ url.push(`${this.podcast.podcastId}${iFrameNumber}`);
214
192
  } else {
215
- url.push(
216
- `${this.miniplayerBaseUrl}miniplayer/${this.iFrameModel}/${this.podcast.podcastId}`
217
- );
193
+ url.push(`${this.podcast.podcastId}`);
218
194
  }
219
195
  }
220
196
  url.push('?distributorId=' + this.organisationId);
221
- const theme = this.theme;
222
- url.push(
223
- '&color=' +
224
- this.color.substring(1) +
225
- '&theme=' +
226
- theme.substring(1)
227
- );
197
+ url.push(`&color=${this.color.substring(1)}&theme=${this.theme.substring(1)}`);
228
198
  if (!this.proceedReading) {
229
199
  url.push('&proceed=false');
230
200
  }
@@ -301,9 +271,7 @@ export default defineComponent({
301
271
  if(this.$store.state.organisation && this.$store.state.organisation.attributes && Object.keys(this.$store.state.organisation.attributes).length > 1){
302
272
  data = this.$store.state.organisation.attributes;
303
273
  }else{
304
- data= await octopusApi.fetchOrganisationAttributes(
305
- state.generalParameters.organisationId ? state.generalParameters.organisationId : ""
306
- );
274
+ data= await octopusApi.fetchOrganisationAttributes(this.myOrganisationId||'');
307
275
  }
308
276
  this.color = Object.prototype.hasOwnProperty.call(data,'COLOR') ? data.COLOR : '#40a372';
309
277
  this.theme = Object.prototype.hasOwnProperty.call(data,'THEME') ? data.THEME : '#000000';
@@ -0,0 +1,42 @@
1
+ <template>
2
+ <div
3
+ class="btn-split"
4
+ @mouseleave="mobileHoverEffect=false"
5
+ >
6
+ <div class="d-flex flex-wrap">
7
+ <slot name="inside-button" />
8
+ </div>
9
+ <div class="label">
10
+ {{ title }}
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script lang="ts">
16
+ import { defineComponent } from 'vue';
17
+ export default defineComponent({
18
+ props: {
19
+ title: { default: '', type:String},
20
+ },
21
+
22
+ data() {
23
+ return {
24
+ mobileHoverEffect:false as boolean,
25
+ };
26
+ },
27
+ computed:{
28
+ isMobile(): boolean {
29
+ return window.matchMedia('(hover: none)').matches;
30
+ },
31
+ },
32
+
33
+ methods: {
34
+ linkClick(event: { preventDefault: () => void; }){
35
+ if(this.isMobile && !this.mobileHoverEffect){
36
+ this.mobileHoverEffect = true;
37
+ event.preventDefault();
38
+ }
39
+ },
40
+ },
41
+ })
42
+ </script>
@@ -1,31 +1,32 @@
1
1
  <template>
2
2
  <div class="module-box flex-grow-0">
3
- <h3 class="mb-3">
3
+ <h3 class="mb-2 height-40">
4
4
  {{ $t('Subscribe emission') }}
5
5
  </h3>
6
- <div class="d-flex flex-wrap">
7
- <template
8
- v-for="sub in subscriptions"
9
- :key="sub.name"
6
+ <template
7
+ v-for="(sub, index) in subscriptionsDisplay"
8
+ :key="sub.name"
9
+ >
10
+ <a
11
+ rel="noopener"
12
+ target="_blank"
13
+ :class="[
14
+ 0 === index? 'first': '',
15
+ subscriptionsDisplay.length-1 === index? 'last': '',
16
+ ]"
17
+ class="btn share-btn mb-2 mx-2"
18
+ :href="sub.url"
19
+ :title="sub.name"
10
20
  >
11
- <a
12
- v-if="getUrl(sub.name)"
13
- rel="noopener"
14
- target="_blank"
15
- class="btn me-3 mb-2 share-btn"
16
- :href="getUrl(sub.name)"
17
- :title="sub.name"
18
- >
19
- <span :class="sub.icon">
20
- <div
21
- v-for="index in getPathNumber(sub.name)"
22
- :key="index"
23
- :class="'path'+(index+1)"
24
- />
25
- </span>
26
- </a>
27
- </template>
28
- </div>
21
+ <span :class="sub.icon">
22
+ <div
23
+ v-for="indexPath in getPathNumber(sub.name)"
24
+ :key="indexPath"
25
+ :class="'path'+(indexPath+1)"
26
+ />
27
+ </span>
28
+ </a>
29
+ </template>
29
30
  </div>
30
31
  </template>
31
32
 
@@ -37,22 +38,23 @@ export default defineComponent({
37
38
  emission: { default: undefined, type: Object as ()=> Emission},
38
39
  podcastId: { default: undefined, type: Number},
39
40
  },
40
-
41
- data() {
42
- return {
43
- subscriptions : [
44
- {name : 'amazon', icon : 'saooti-amazon'},
45
- {name:'applePodcast', icon:'saooti-apple'},
46
- {name:'deezer', icon:'saooti-deezer'},
47
- {name:'googlePodcasts', icon:"saooti-google-podcasts"},
48
- {name:'playerFm', icon: 'saooti-saooti-playerfm'},
49
- {name:'pocketCasts', icon:'saooti-pocket-casts'},
50
- {name:'podcastAddict', icon: 'saooti-podcast-addict'},
51
- {name:'radioline', icon:'saooti-radioline'},
52
- {name:'spotify', icon:'saooti-spotify'},
53
- {name:'stitcher', icon:'saooti-stitcher-logo'},
54
- {name:'tunein', icon:'saooti-tunin'}] as Array<{name:string, icon:string}>,
55
- };
41
+ computed:{
42
+ subscriptionsDisplay(){
43
+ const sub = [
44
+ {name : 'amazon', icon : 'saooti-amazon', url : this.getUrl('amazon')},
45
+ {name:'applePodcast', icon:'saooti-apple', url : this.getUrl('applePodcast')},
46
+ {name:'deezer', icon:'saooti-deezer', url : this.getUrl('deezer')},
47
+ {name:'googlePodcasts', icon:"saooti-google-podcasts", url : this.getUrl('googlePodcasts')},
48
+ {name:'playerFm', icon: 'saooti-saooti-playerfm', url : this.getUrl('playerFm')},
49
+ {name:'pocketCasts', icon:'saooti-pocket-casts', url : this.getUrl('pocketCasts')},
50
+ {name:'podcastAddict', icon: 'saooti-podcast-addict', url : this.getUrl('podcastAddict')},
51
+ {name:'radioline', icon:'saooti-radioline', url : this.getUrl('radioline')},
52
+ {name:'spotify', icon:'saooti-spotify', url : this.getUrl('spotify')},
53
+ {name:'stitcher', icon:'saooti-stitcher-logo', url : this.getUrl('stitcher')},
54
+ {name:'tunein', icon:'saooti-tunin', url : this.getUrl('tunein')}
55
+ ];
56
+ return sub.filter(item=> item.url);
57
+ }
56
58
  },
57
59
 
58
60
  methods: {
@@ -77,3 +79,8 @@ export default defineComponent({
77
79
  },
78
80
  })
79
81
  </script>
82
+ <style lang="scss">
83
+ .height-40{
84
+ height: 40px;
85
+ }
86
+ </style>
@@ -119,7 +119,7 @@ export default defineComponent({
119
119
  {title : this.$t('Home'), routeName: 'home', condition : true},
120
120
  {title : this.$t('Podcasts'), routeName: 'podcasts', condition : true},
121
121
  {title : this.$t('Emissions'), routeName: 'emissions', condition : true},
122
- {title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && !this.filterOrga},
122
+ {title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && !this.$store.state.filter.organisationId},
123
123
  {title : this.$t('Playlists'), routeName: 'playlists', condition : true},
124
124
  {title : this.$t('Speakers'), routeName: 'participants', condition : true},]
125
125
  },
@@ -129,9 +129,6 @@ export default defineComponent({
129
129
  {title : this.$t('Term of use'), routeName: '/main/pub/cgu'},
130
130
  {title : this.$t('Used libraries'), routeName: "/main/pub/libraries"}]
131
131
  },
132
- filterOrga(): string {
133
- return this.$store.state.filter.organisationId;
134
- },
135
132
  isPodcastmaker(): boolean {
136
133
  return (state.generalParameters.podcastmaker as boolean);
137
134
  },
@@ -35,32 +35,16 @@
35
35
  </router-link>
36
36
  </template>
37
37
  <template v-else>
38
- <router-link
39
- v-if="isContribution && !isPodcastmaker"
40
- class="btn btn-primary w-100"
41
- to="/main/priv/upload"
38
+ <template
39
+ v-for="routerBack in routerBackoffice"
40
+ :key="routerBack.path"
42
41
  >
43
- {{ $t('Upload') }}
44
- </router-link>
45
- <template v-if="!isPodcastmaker">
46
- <router-link
47
- to="/main/priv/backoffice"
48
- class="show-phone dropdown-item"
49
- >
50
- {{ $t('My space') }}
51
- </router-link>
52
- <router-link
53
- class="dropdown-item"
54
- to="/main/priv/edit/profile"
55
- >
56
- {{ $t('Edit my profile') }}
57
- </router-link>
58
42
  <router-link
59
- v-if="isOrganisation"
60
- class="dropdown-item"
61
- to="/main/priv/edit/organisation"
43
+ v-if="!isPodcastmaker && routerBack.condition"
44
+ :class="routerBack.class"
45
+ :to="routerBack.path"
62
46
  >
63
- {{ $t('Edit my organisation') }}
47
+ {{ routerBack.title }}
64
48
  </router-link>
65
49
  </template>
66
50
  <template v-if="!isEducation">
@@ -90,6 +74,12 @@
90
74
  {{ $t('Logout') }}
91
75
  </a>
92
76
  </template>
77
+ <router-link
78
+ class="dropdown-item"
79
+ to="/main/pub/contact"
80
+ >
81
+ {{ $t('Contact') }}
82
+ </router-link>
93
83
  </div>
94
84
  </div>
95
85
  </div>
@@ -104,8 +94,20 @@ export default defineComponent({
104
94
  props: {
105
95
  isEducation: { default: false, type: Boolean},
106
96
  },
107
-
108
97
  computed: {
98
+ /* helpLink(){
99
+ return [
100
+ {title:this.$t('Help'), href:'https://help.octopus.saooti.com/Aide/'},
101
+ {title:this.$t('TutoMag'),href:"https://help.octopus.saooti.com/"}];
102
+ }, */
103
+ routerBackoffice(){
104
+ return [
105
+ {title:this.$t('Upload'),class:"btn btn-primary w-100", path:'/main/priv/upload', condition: this.isContribution},
106
+ {title:this.$t('My space'),class:"show-phone dropdown-item", path:'/main/priv/backoffice', condition: true},
107
+ {title:this.$t('Edit my profile'),class:"dropdown-item", path:'/main/priv/edit/profile', condition: true},
108
+ {title:this.$t('Edit my organisation'),class:"dropdown-item", path:'/main/priv/edit/organisation', condition: this.isOrganisation}];
109
+ },
110
+
109
111
  isPodcastmaker(): boolean {
110
112
  return (state.generalParameters.podcastmaker as boolean);
111
113
  },
@@ -131,13 +131,9 @@ export default defineComponent({
131
131
  async onOrganisationSelected(organisation: Organisation|undefined) {
132
132
  if (organisation && organisation.id) {
133
133
  await this.selectOrganisation(organisation.id);
134
- } else {
135
- if (this.$route.query.productor) {
136
- const queries = this.$route.query;
137
- this.$router.push({ query: {...queries, ...{productor: undefined} } });
138
- }
139
- this.$store.commit('filterOrga', { orgaId: undefined });
134
+ return;
140
135
  }
136
+ this.removeSelectedOrga();
141
137
  },
142
138
  },
143
139
  })
@@ -149,7 +145,7 @@ export default defineComponent({
149
145
  position: fixed;
150
146
  top: 3rem;
151
147
  bottom: 0;
152
- left: 0;
148
+ right: 0;
153
149
  z-index: 10;
154
150
  background: #fff;
155
151
  width: 20%;
@@ -3,11 +3,6 @@
3
3
  class="top-bar-container"
4
4
  :class="{ 'shadow-element': scrolled }"
5
5
  >
6
- <div
7
- class="saooti-burger-menu"
8
- :title="$t('open left Menu')"
9
- @click="onDisplayMenu(false)"
10
- />
11
6
  <router-link
12
7
  class="top-bar-logo"
13
8
  :to="{
@@ -51,6 +46,11 @@
51
46
  </router-link>
52
47
  </template>
53
48
  </div>
49
+ <div
50
+ class="saooti-burger-menu"
51
+ :title="$t('open left Menu')"
52
+ @click="onDisplayMenu(false)"
53
+ />
54
54
  <div class="d-flex flex-column">
55
55
  <div class="hosted-by">
56
56
  <span>{{ $t('Hosted by') }}</span><span class="ms-1 me-1 primary-darker">Saooti</span>
@@ -104,7 +104,7 @@ export default defineComponent({
104
104
  computed: {
105
105
  routerLinkArray(){
106
106
  return [
107
- {title : this.$t('Live'), routeName: 'lives', condition : this.isLiveTab &&((this.filterOrga && this.filterOrgaLive) || !this.filterOrga)},
107
+ {title : this.$t('Live'), routeName: 'lives', condition : (state.generalParameters.isLiveTab as boolean) &&((this.filterOrga && this.filterOrgaLive) || !this.filterOrga)},
108
108
  {title : this.$t('Podcasts'), routeName: 'podcasts', condition : true},
109
109
  {title : this.$t('Emissions'), routeName: 'emissions', condition : true},
110
110
  {title : this.$t('Speakers'), routeName: 'participants', condition : true},
@@ -124,9 +124,6 @@ export default defineComponent({
124
124
  isPodcastmaker(): boolean {
125
125
  return (state.generalParameters.podcastmaker as boolean);
126
126
  },
127
- isLiveTab(): boolean {
128
- return (state.generalParameters.isLiveTab as boolean);
129
- },
130
127
  filterOrga(): string {
131
128
  return this.$store.state.filter.organisationId;
132
129
  },
@@ -199,14 +196,10 @@ export default defineComponent({
199
196
  async onOrganisationSelected(organisation: Organisation | undefined): Promise<void> {
200
197
  if (organisation && organisation.id) {
201
198
  await this.selectOrganisation(organisation.id);
202
- } else {
203
- this.organisationId = undefined;
204
- if (this.$route.query.productor) {
205
- const queries = this.$route.query;
206
- this.$router.push({ query: { ...queries, ...{productor: undefined} } });
207
- }
208
- this.$store.commit('filterOrga', { orgaId: undefined });
199
+ return;
209
200
  }
201
+ this.organisationId = undefined;
202
+ this.removeSelectedOrga();
210
203
  },
211
204
  },
212
205
  })
@@ -9,7 +9,7 @@
9
9
  </div>
10
10
  <button
11
11
  type="button"
12
- class="btn-close"
12
+ class="btn-close btn-close-white"
13
13
  title="Close"
14
14
  @click="closePopup"
15
15
  />
@@ -13,7 +13,7 @@
13
13
  <button
14
14
  v-if="closable"
15
15
  type="button"
16
- class="btn-close"
16
+ class="btn-close btn-close-white"
17
17
  title="Close"
18
18
  @click="closePopup"
19
19
  />
@@ -12,7 +12,7 @@
12
12
  </h5>
13
13
  <button
14
14
  type="button"
15
- class="btn-close"
15
+ class="btn-close btn-close-white"
16
16
  title="Close"
17
17
  @click="closePopup"
18
18
  />
@@ -13,7 +13,7 @@
13
13
  </h5>
14
14
  <button
15
15
  type="button"
16
- class="btn-close"
16
+ class="btn-close btn-close-white"
17
17
  title="Close"
18
18
  @click="closePopup"
19
19
  />
@@ -29,5 +29,11 @@ export const orgaFilter = defineComponent({
29
29
  this.handle403((error as AxiosError));
30
30
  }
31
31
  },
32
+ removeSelectedOrga(): void{
33
+ if (this.$route.query.productor) {
34
+ this.$router.push({ query: {...this.$route.query, ...{productor: undefined} } });
35
+ }
36
+ this.$store.commit('filterOrga', { orgaId: undefined });
37
+ }
32
38
  },
33
39
  });
@@ -58,7 +58,7 @@ export const playerLive = defineComponent({
58
58
  let hls = new Hls();
59
59
  if(this.$store.state.authentication.isAuthenticated && this.$store.state.oAuthParam.accessToken){
60
60
  hls = new Hls({xhrSetup:
61
- (xhr: any) => {
61
+ (xhr: XMLHttpRequest) => {
62
62
  xhr.setRequestHeader("Authorization", "Bearer " + this.$store.state.oAuthParam.accessToken);
63
63
  }
64
64
  }
@@ -3,7 +3,7 @@
3
3
  <h1>{{ title }}</h1>
4
4
  <PodcastList
5
5
  :first="0"
6
- :size="12"
6
+ :size="30"
7
7
  :iab-id="iabId"
8
8
  :organisation-id="filterOrga"
9
9
  />
@@ -30,11 +30,6 @@
30
30
  />
31
31
  <!-- eslint-enable -->
32
32
  </div>
33
- <ShareButtons
34
- v-if="pageParameters.isRssButton"
35
- :emission="emission"
36
- :big-round="true"
37
- />
38
33
  </div>
39
34
  <SubscribeButtons
40
35
  v-if="pageParameters.isShareButtons && countLink >= 1"
@@ -140,7 +135,6 @@ export default defineComponent({
140
135
  isShareButtons: (state.podcastPage.ShareButtons as boolean),
141
136
  isSharePlayer: (state.podcastPage.SharePlayer as boolean),
142
137
  isShareDistribution:(state.podcastPage.ShareDistribution as boolean),
143
- isRssButton:(state.emissionPage.rssButton as boolean),
144
138
  isDisplayPodcasts:(state.emissionPage.isDisplayPodcasts as boolean),
145
139
  };
146
140
  },
@@ -67,7 +67,7 @@ export default defineComponent({
67
67
  data() {
68
68
  return {
69
69
  first: 0 as number,
70
- size: 12 as number,
70
+ size: 30 as number,
71
71
  searchPattern: '' as string,
72
72
  organisationId: undefined as string | undefined,
73
73
  monetization: 'UNDEFINED' as string, // UNDEFINED, YES, NO
@@ -1,24 +1,60 @@
1
1
  <template>
2
2
  <div class="page-box page-box-absolute bg-white justify-content-evenly">
3
- <img
4
- class="logo-octopus"
5
- src="/img/logo_octopus_final.svg"
6
- :alt="$t('Logo of main page')"
7
- >
8
- <h2>{{ $t('You do not have the right to access this page' ) }}</h2>
3
+ <div class="not-auth-content d-flex-column justify-content-between">
4
+ <div class="d-flex flex-column justify-content-around">
5
+ <img
6
+ class="logo-octopus"
7
+ src="/img/logo_octopus_final.svg"
8
+ :alt="$t('Logo of main page')"
9
+ >
10
+ <h2>{{ $t('You do not have the right to access this page' ) }}</h2>
11
+ </div>
12
+ <img
13
+ class="stop-octopus-img"
14
+ src="/img/403.jpeg"
15
+ :alt="$t('You do not have the right to access this page')"
16
+ >
17
+ </div>
18
+
9
19
  <a
10
20
  class="btn btn-primary"
11
- href="/sso/logout"
12
- >{{ $t('Logout') }}</a>
21
+ :href="authenticated ?'/sso/logout':'/sso/login'"
22
+ >{{ authText }}</a>
13
23
  </div>
14
24
  </template>
15
25
 
16
26
  <script lang="ts">
27
+ import { state } from '../../store/paramStore';
17
28
  import { defineComponent } from 'vue';
18
29
  export default defineComponent({
19
30
  name: 'Error403Page',
31
+ computed: {
32
+ authenticated(): boolean {
33
+ return (state.generalParameters.authenticated as boolean);
34
+ },
35
+ authText():string{
36
+ return this.authenticated ? this.$t('Logout') : this.$t('Login');
37
+ }
38
+ },
20
39
  mounted() {
21
40
  document.title = this.$store.state.general.metaTitle;
22
41
  },
23
42
  });
24
43
  </script>
44
+ <style lang="scss">
45
+ .octopus-app .not-auth-content{
46
+ @media (max-width: 960px) {
47
+ align-items: center;
48
+ }
49
+ .stop-octopus-img{
50
+ width: 600px;
51
+ height: auto;
52
+ @media (max-width: 1400px) {
53
+ width: 400px;
54
+ }
55
+ @media (max-width: 450px) {
56
+ width: 80%;
57
+ }
58
+ }
59
+ }
60
+ </style>