@saooti/octopus-sdk 29.0.1 → 29.0.2

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.
@@ -1,63 +1,89 @@
1
1
  <template>
2
2
  <div>
3
- <b-modal
3
+ <div
4
4
  id="share-modal"
5
- :show="true"
6
- :title="$t('Share the player')"
7
- @close="closePopup"
8
- @hide="closePopup"
9
- @cancel="closePopup"
5
+ class="modal"
10
6
  >
11
- <template #default>
12
- <b-tabs content-class="p-2 share-modal-border">
13
- <b-tab
14
- :title="$t('Embed link')"
15
- class="tab-pane"
16
- active
17
- >
18
- <p>{{ embedLink }}</p>
19
- <div
20
- class="saooti-copy"
21
- @click="onCopyCode(embedLink, afterCopy)"
7
+ <div class="modal-backdrop" />
8
+ <div class="modal-dialog">
9
+ <div class="modal-content">
10
+ <div class="modal-header">
11
+ <h5 class="modal-title">
12
+ {{ $t('Share the player') }}
13
+ </h5>
14
+ <button
15
+ type="button"
16
+ class="btn-close"
17
+ aria-label="Close"
18
+ @click="closePopup"
22
19
  />
23
- </b-tab>
24
- <b-tab
25
- :title="$t('Embedly link')"
26
- class="tab-pane"
27
- >
28
- <div class="d-flex flex-column">
29
- <div class="d-flex">
30
- <p>{{ embedlyLink }}</p>
20
+ </div>
21
+ <div class="modal-body">
22
+ <ul class="nav nav-tabs">
23
+ <li
24
+ v-for="(tab, index) in tabs"
25
+ :key="tab"
26
+ class="nav-item"
27
+ >
28
+ <div
29
+ class="nav-link"
30
+ :class="activeTab === index? 'active':''"
31
+ @click="activeTab = index"
32
+ >
33
+ {{ tab }}
34
+ </div>
35
+ </li>
36
+ </ul>
37
+ <div class="tab-content p-2 share-modal-border">
38
+ <div
39
+ class="tab-pane tab-pane"
40
+ :class="activeTab === 0? 'active':''"
41
+ >
42
+ <p>{{ embedLink }}</p>
43
+ <div
44
+ class="saooti-copy"
45
+ @click="onCopyCode(embedLink, afterCopy)"
46
+ />
47
+ </div>
48
+ <div
49
+ class="tab-pane tab-pane"
50
+ :class="activeTab === 1? 'active':''"
51
+ >
52
+ <div class="d-flex flex-column">
53
+ <div class="d-flex">
54
+ <p>{{ embedlyLink }}</p>
55
+ <div
56
+ class="saooti-copy"
57
+ @click="onCopyCode(embedlyLink, afterCopy)"
58
+ />
59
+ </div>
60
+ <QrCode :url="embedlyLink" />
61
+ </div>
62
+ </div>
63
+ <div
64
+ v-if="directLink"
65
+ class="tab-pane tab-pane active"
66
+ :class="activeTab === 2? 'active':''"
67
+ >
68
+ <p>{{ directLink.audioUrl }}</p>
31
69
  <div
32
70
  class="saooti-copy"
33
- @click="onCopyCode(embedlyLink, afterCopy)"
71
+ @click="onCopyCode(directLink.audioUrl, snackbarRef)"
34
72
  />
35
73
  </div>
36
- <QrCode :url="embedlyLink" />
37
74
  </div>
38
- </b-tab>
39
- <b-tab
40
- v-if="directLink"
41
- :title="$t('Direct link')"
42
- class="tab-pane"
43
- >
44
- <p>{{ directLink.audioUrl }}</p>
45
- <div
46
- class="saooti-copy"
47
- @click="onCopyCode(directLink.audioUrl, snackbarRef)"
48
- />
49
- </b-tab>
50
- </b-tabs>
51
- </template>
52
- <template #modal-footer>
53
- <button
54
- class="btn btn-primary m-1"
55
- @click="closePopup"
56
- >
57
- {{ $t('Close') }}
58
- </button>
59
- </template>
60
- </b-modal>
75
+ </div>
76
+ <div class="modal-footer">
77
+ <button
78
+ class="btn btn-primary m-1"
79
+ @click="closePopup"
80
+ >
81
+ {{ $t('Close') }}
82
+ </button>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </div>
61
87
  <Snackbar
62
88
  ref="snackbar"
63
89
  position="bottom-left"
@@ -71,6 +97,7 @@ import { displayMethods } from '../../mixins/functions';
71
97
 
72
98
  import QrCode from '../../display/sharing/QrCode.vue';
73
99
  import { defineComponent } from 'vue'
100
+ import { Podcast } from '@/store/class/podcast';
74
101
  export default defineComponent({
75
102
  name: 'ShareModalPlayer',
76
103
 
@@ -82,9 +109,22 @@ export default defineComponent({
82
109
  props: {
83
110
  embedLink: { default: undefined, type: String},
84
111
  embedlyLink: { default: undefined, type: String},
85
- directLink: { default: undefined, type: String},
112
+ directLink: { default: undefined, type: Object as ()=>Podcast},
86
113
  },
87
114
  emits: ['close'],
115
+ data() {
116
+ return {
117
+ activeTab: 0 as number,
118
+ };
119
+ },
120
+ computed:{
121
+ tabs(): Array<string>{
122
+ if(this.directLink){
123
+ return [this.$t('Embed link'),this.$t('Embedly link'),this.$t('Direct link')];
124
+ }
125
+ return [this.$t('Embed link'),this.$t('Embedly link')];
126
+ }
127
+ },
88
128
  methods: {
89
129
  closePopup(event: { preventDefault: () => void }): void {
90
130
  event.preventDefault();
@@ -158,8 +158,9 @@ export default defineComponent({
158
158
  ).trim();
159
159
  },
160
160
  editRight(): boolean {
161
+ if(!this.participant || !this.participant.orga ){return false;}
161
162
  if (
162
- (this.authenticated && this.participant &&
163
+ (this.authenticated &&
163
164
  this.organisationId === this.participant.orga.id) ||
164
165
  state.generalParameters.isAdmin
165
166
  )
package/src/main.ts CHANGED
@@ -11,8 +11,8 @@ import { VueReCaptcha } from 'vue-recaptcha-v3';
11
11
  FormGroupPlugin,
12
12
  FormTextareaPlugin,
13
13
  CollapsePlugin } from 'bootstrap-vue-3'; */
14
- import bootstrap from 'bootstrap-vue-3';
15
- import 'bootstrap-vue-3/dist/bootstrap-vue-3.css';
14
+ /* import bootstrap from 'bootstrap-vue-3';
15
+ import 'bootstrap-vue-3/dist/bootstrap-vue-3.css'; */
16
16
  import App from './App.vue';
17
17
  import { createI18n } from 'vue-i18n';
18
18
  import I18nResources from './locale/messages';
@@ -20,6 +20,11 @@ import router from '@/router/router';
20
20
  const moment = require('moment');
21
21
  import store from '@/store/AppStore';
22
22
  const paramStore = require('./store/paramStore');
23
+ /* import 'popper.js/dist/popper.min.js'; */
24
+ /* import 'jquery/src/jquery.js'; */
25
+ import 'jquery';
26
+ import 'bootstrap/dist/js/bootstrap.bundle.min.js';
27
+
23
28
 
24
29
  //TODO
25
30
  const navigatorLang = navigator.language /* || navigator.userLanguage */;
@@ -62,7 +67,7 @@ paramStore
62
67
  .use(i18n)
63
68
  .use(store)
64
69
  .use(router)
65
- .use(bootstrap)
70
+ /* .use(bootstrap) */
66
71
  .use(VueReCaptcha, { siteKey: '6LfyP_4ZAAAAAPODj8nov2LvosIwcX0GYeBSungh' })
67
72
  /* .use(ModalPlugin)
68
73
  .use(FormRadioPlugin)