@saooti/octopus-sdk 1.0.0 → 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.
Files changed (230) hide show
  1. package/README.md +73 -0
  2. package/index.d.ts +4 -0
  3. package/index.ts +12 -0
  4. package/package.json +61 -39
  5. package/public/css/fonts/saooti-ui.eot +0 -0
  6. package/public/css/fonts/saooti-ui.svg +30 -19
  7. package/public/css/fonts/saooti-ui.ttf +0 -0
  8. package/public/css/fonts/saooti-ui.woff +0 -0
  9. package/public/css/fonts/style.css +48 -5
  10. package/public/img/ACPM.png +0 -0
  11. package/public/img/article.png +0 -0
  12. package/src/App.vue +97 -31
  13. package/src/api/comments.ts +3 -1
  14. package/src/api/emissions.ts +5 -2
  15. package/src/api/initialize.ts +3 -2
  16. package/src/api/podcasts.ts +5 -2
  17. package/src/api/profile.ts +4 -2
  18. package/src/api/studio.ts +12 -1
  19. package/src/assets/bootstrap-diff.scss +265 -0
  20. package/src/assets/form.scss +23 -0
  21. package/src/assets/general.scss +47 -20
  22. package/src/assets/modal.scss +9 -10
  23. package/src/assets/multiselect.scss +19 -2
  24. package/src/assets/octopus-library.scss +16 -4
  25. package/src/assets/share.scss +343 -0
  26. package/src/components/display/aggregator/RssSection.vue +4 -4
  27. package/src/components/display/categories/CategoryChooser.vue +152 -105
  28. package/src/components/display/categories/CategoryFilter.vue +108 -0
  29. package/src/components/display/categories/CategoryList.vue +138 -109
  30. package/src/components/display/comments/AddCommentModal.vue +104 -87
  31. package/src/components/display/comments/CommentInput.vue +137 -118
  32. package/src/components/display/comments/CommentItem.vue +155 -137
  33. package/src/components/display/comments/CommentList.vue +142 -120
  34. package/src/components/display/comments/CommentParentInfo.vue +39 -35
  35. package/src/components/display/comments/CommentPlayer.vue +54 -48
  36. package/src/components/display/comments/CommentSection.vue +57 -58
  37. package/src/components/display/edit/EditBox.vue +4 -4
  38. package/src/components/display/edit/EditCommentBox.vue +25 -31
  39. package/src/components/display/emission/EmissionChooser.vue +82 -80
  40. package/src/components/display/emission/EmissionInlineList.vue +118 -105
  41. package/src/components/display/emission/EmissionItem.vue +66 -167
  42. package/src/components/display/emission/EmissionList.vue +96 -122
  43. package/src/components/display/emission/EmissionPlayerItem.vue +131 -126
  44. package/src/components/display/filter/AdvancedSearch.vue +306 -372
  45. package/src/components/display/filter/CategoryFilter.vue +117 -0
  46. package/src/components/display/filter/MonetizableFilter.vue +24 -10
  47. package/src/components/display/filter/ProductorSearch.vue +131 -135
  48. package/src/components/display/filter/RubriqueChoice.vue +104 -0
  49. package/src/components/display/filter/RubriqueFilter.vue +235 -0
  50. package/src/components/display/live/CountDown.vue +30 -29
  51. package/src/components/display/live/LiveHorizontalList.vue +40 -34
  52. package/src/components/display/live/LiveItem.vue +146 -158
  53. package/src/components/display/live/LiveList.vue +167 -154
  54. package/src/components/display/organisation/OrganisationChooser.vue +125 -124
  55. package/src/components/display/organisation/OrganisationChooserLight.vue +40 -47
  56. package/src/components/display/participant/ParticipantItem.vue +92 -108
  57. package/src/components/display/participant/ParticipantList.vue +76 -69
  58. package/src/components/display/playlist/PlaylistItem.vue +45 -56
  59. package/src/components/display/playlist/PlaylistList.vue +57 -48
  60. package/src/components/display/playlist/PodcastList.vue +94 -70
  61. package/src/components/display/podcasts/AnimatorsItem.vue +26 -23
  62. package/src/components/display/podcasts/ParticipantDescription.vue +115 -0
  63. package/src/components/display/podcasts/PodcastFilterList.vue +84 -85
  64. package/src/components/display/podcasts/PodcastImage.vue +244 -208
  65. package/src/components/display/podcasts/PodcastInlineList.vue +145 -207
  66. package/src/components/display/podcasts/PodcastItem.vue +150 -132
  67. package/src/components/display/podcasts/PodcastList.vue +89 -110
  68. package/src/components/display/podcasts/TagList.vue +23 -16
  69. package/src/components/display/rubriques/RubriqueChooser.vue +137 -123
  70. package/src/components/display/rubriques/RubriqueList.vue +227 -0
  71. package/src/components/display/sharing/PlayerParameters.vue +154 -106
  72. package/src/components/display/sharing/QrCode.vue +58 -0
  73. package/src/components/display/sharing/ShareButtons.vue +214 -92
  74. package/src/components/display/sharing/ShareDistribution.vue +110 -121
  75. package/src/components/display/sharing/SharePlayer.vue +245 -190
  76. package/src/components/display/sharing/SubscribeButtons.vue +130 -66
  77. package/src/components/display/studio/RecordingItemButton.vue +4 -4
  78. package/src/components/misc/ErrorMessage.vue +21 -16
  79. package/src/components/misc/Footer.vue +131 -66
  80. package/src/components/misc/HomeDropdown.vue +166 -123
  81. package/src/components/misc/LeftMenu.vue +151 -134
  82. package/src/components/misc/Player.vue +332 -328
  83. package/src/components/misc/Snackbar.vue +27 -29
  84. package/src/components/misc/TopBar.vue +204 -174
  85. package/src/components/misc/modal/ClipboardModal.vue +46 -26
  86. package/src/components/misc/modal/MessageModal.vue +67 -51
  87. package/src/components/misc/modal/NewsletterModal.vue +179 -136
  88. package/src/components/misc/modal/QrCodeModal.vue +83 -0
  89. package/src/components/misc/modal/ShareModalPlayer.vue +133 -74
  90. package/src/components/mixins/functions.ts +21 -18
  91. package/src/components/mixins/init.ts +24 -0
  92. package/src/components/mixins/organisationFilter.ts +24 -0
  93. package/src/components/pages/Category.vue +26 -26
  94. package/src/components/pages/Emission.vue +120 -92
  95. package/src/components/pages/Emissions.vue +109 -86
  96. package/src/components/pages/Home.vue +70 -16
  97. package/src/components/pages/Lives.vue +57 -47
  98. package/src/components/pages/Participant.vue +93 -77
  99. package/src/components/pages/Participants.vue +44 -31
  100. package/src/components/pages/Playlist.vue +63 -52
  101. package/src/components/pages/Playlists.vue +41 -39
  102. package/src/components/pages/Podcast.vue +265 -251
  103. package/src/components/pages/Podcasts.vue +135 -104
  104. package/src/components/pages/Rubrique.vue +25 -19
  105. package/src/components/pages/Search.vue +71 -67
  106. package/src/helper/dom.ts +2 -2
  107. package/src/helper/duration.ts +18 -8
  108. package/src/locale/educationen.ts +14 -0
  109. package/src/locale/en.ts +299 -1
  110. package/src/locale/fr.ts +25 -10
  111. package/src/locale/messages.ts +3 -2
  112. package/src/main.ts +54 -32
  113. package/src/router/router.ts +184 -159
  114. package/src/shims-tsx.d.ts +13 -0
  115. package/src/shims-vue-recaptcha-v3.d.ts +9 -0
  116. package/src/shims-vue.d.ts +5 -6
  117. package/src/store/AppStore.ts +36 -171
  118. package/src/store/class/category.ts +8 -0
  119. package/src/store/class/comment.ts +17 -0
  120. package/src/store/class/conference.ts +27 -0
  121. package/src/store/class/customPlayer.ts +8 -0
  122. package/src/store/class/emission.ts +20 -0
  123. package/src/store/class/fetchParam.ts +16 -0
  124. package/src/store/class/media.ts +13 -0
  125. package/src/store/class/organisation.ts +19 -0
  126. package/src/store/class/participant.ts +12 -0
  127. package/src/store/class/person.ts +13 -0
  128. package/src/store/class/player.ts +12 -0
  129. package/src/store/class/playlist.ts +15 -0
  130. package/src/store/class/podcast.ts +37 -0
  131. package/src/store/class/rubriquage.ts +9 -0
  132. package/src/store/class/rubriquageFilter.ts +5 -0
  133. package/src/store/class/rubrique.ts +8 -0
  134. package/src/store/paramStore.ts +70 -29
  135. package/src/store/typeAppStore.ts +171 -237
  136. package/src/vuex-shim.d.ts +8 -0
  137. package/tsconfig.json +4 -0
  138. package/vue.config.js +14 -0
  139. package/public/img/ACPM.PNG +0 -0
  140. package/src/assets/bootstrap_scss/_alert.scss +0 -51
  141. package/src/assets/bootstrap_scss/_badge.scss +0 -54
  142. package/src/assets/bootstrap_scss/_breadcrumb.scss +0 -42
  143. package/src/assets/bootstrap_scss/_button-group.scss +0 -164
  144. package/src/assets/bootstrap_scss/_buttons.scss +0 -291
  145. package/src/assets/bootstrap_scss/_card.scss +0 -278
  146. package/src/assets/bootstrap_scss/_carousel.scss +0 -197
  147. package/src/assets/bootstrap_scss/_close.scss +0 -41
  148. package/src/assets/bootstrap_scss/_code.scss +0 -48
  149. package/src/assets/bootstrap_scss/_custom-forms.scss +0 -522
  150. package/src/assets/bootstrap_scss/_dropdown.scss +0 -201
  151. package/src/assets/bootstrap_scss/_forms.scss +0 -352
  152. package/src/assets/bootstrap_scss/_functions.scss +0 -134
  153. package/src/assets/bootstrap_scss/_grid.scss +0 -69
  154. package/src/assets/bootstrap_scss/_images.scss +0 -42
  155. package/src/assets/bootstrap_scss/_input-group.scss +0 -191
  156. package/src/assets/bootstrap_scss/_jumbotron.scss +0 -17
  157. package/src/assets/bootstrap_scss/_list-group.scss +0 -158
  158. package/src/assets/bootstrap_scss/_media.scss +0 -8
  159. package/src/assets/bootstrap_scss/_mixins.scss +0 -47
  160. package/src/assets/bootstrap_scss/_modal.scss +0 -243
  161. package/src/assets/bootstrap_scss/_nav.scss +0 -120
  162. package/src/assets/bootstrap_scss/_navbar.scss +0 -324
  163. package/src/assets/bootstrap_scss/_pagination.scss +0 -74
  164. package/src/assets/bootstrap_scss/_popover.scss +0 -170
  165. package/src/assets/bootstrap_scss/_print.scss +0 -141
  166. package/src/assets/bootstrap_scss/_progress.scss +0 -46
  167. package/src/assets/bootstrap_scss/_reboot.scss +0 -482
  168. package/src/assets/bootstrap_scss/_root.scss +0 -20
  169. package/src/assets/bootstrap_scss/_spinners.scss +0 -55
  170. package/src/assets/bootstrap_scss/_tables.scss +0 -185
  171. package/src/assets/bootstrap_scss/_toasts.scss +0 -44
  172. package/src/assets/bootstrap_scss/_tooltip.scss +0 -115
  173. package/src/assets/bootstrap_scss/_transitions.scss +0 -20
  174. package/src/assets/bootstrap_scss/_type.scss +0 -125
  175. package/src/assets/bootstrap_scss/_utilities.scss +0 -17
  176. package/src/assets/bootstrap_scss/_variables.scss +0 -1145
  177. package/src/assets/bootstrap_scss/bootstrap-grid.scss +0 -29
  178. package/src/assets/bootstrap_scss/bootstrap-reboot.scss +0 -12
  179. package/src/assets/bootstrap_scss/bootstrap.scss +0 -44
  180. package/src/assets/bootstrap_scss/mixins/_alert.scss +0 -13
  181. package/src/assets/bootstrap_scss/mixins/_background-variant.scss +0 -22
  182. package/src/assets/bootstrap_scss/mixins/_badge.scss +0 -17
  183. package/src/assets/bootstrap_scss/mixins/_border-radius.scss +0 -63
  184. package/src/assets/bootstrap_scss/mixins/_box-shadow.scss +0 -20
  185. package/src/assets/bootstrap_scss/mixins/_breakpoints.scss +0 -123
  186. package/src/assets/bootstrap_scss/mixins/_buttons.scss +0 -110
  187. package/src/assets/bootstrap_scss/mixins/_caret.scss +0 -62
  188. package/src/assets/bootstrap_scss/mixins/_clearfix.scss +0 -7
  189. package/src/assets/bootstrap_scss/mixins/_deprecate.scss +0 -10
  190. package/src/assets/bootstrap_scss/mixins/_float.scss +0 -14
  191. package/src/assets/bootstrap_scss/mixins/_forms.scss +0 -177
  192. package/src/assets/bootstrap_scss/mixins/_gradients.scss +0 -45
  193. package/src/assets/bootstrap_scss/mixins/_grid-framework.scss +0 -71
  194. package/src/assets/bootstrap_scss/mixins/_grid.scss +0 -69
  195. package/src/assets/bootstrap_scss/mixins/_hover.scss +0 -37
  196. package/src/assets/bootstrap_scss/mixins/_image.scss +0 -36
  197. package/src/assets/bootstrap_scss/mixins/_list-group.scss +0 -21
  198. package/src/assets/bootstrap_scss/mixins/_lists.scss +0 -7
  199. package/src/assets/bootstrap_scss/mixins/_nav-divider.scss +0 -11
  200. package/src/assets/bootstrap_scss/mixins/_pagination.scss +0 -22
  201. package/src/assets/bootstrap_scss/mixins/_reset-text.scss +0 -17
  202. package/src/assets/bootstrap_scss/mixins/_resize.scss +0 -6
  203. package/src/assets/bootstrap_scss/mixins/_screen-reader.scss +0 -34
  204. package/src/assets/bootstrap_scss/mixins/_size.scss +0 -7
  205. package/src/assets/bootstrap_scss/mixins/_table-row.scss +0 -39
  206. package/src/assets/bootstrap_scss/mixins/_text-emphasis.scss +0 -17
  207. package/src/assets/bootstrap_scss/mixins/_text-hide.scss +0 -11
  208. package/src/assets/bootstrap_scss/mixins/_text-truncate.scss +0 -8
  209. package/src/assets/bootstrap_scss/mixins/_transition.scss +0 -16
  210. package/src/assets/bootstrap_scss/mixins/_visibility.scss +0 -8
  211. package/src/assets/bootstrap_scss/utilities/_align.scss +0 -8
  212. package/src/assets/bootstrap_scss/utilities/_background.scss +0 -19
  213. package/src/assets/bootstrap_scss/utilities/_borders.scss +0 -75
  214. package/src/assets/bootstrap_scss/utilities/_clearfix.scss +0 -3
  215. package/src/assets/bootstrap_scss/utilities/_display.scss +0 -26
  216. package/src/assets/bootstrap_scss/utilities/_embed.scss +0 -39
  217. package/src/assets/bootstrap_scss/utilities/_flex.scss +0 -51
  218. package/src/assets/bootstrap_scss/utilities/_float.scss +0 -11
  219. package/src/assets/bootstrap_scss/utilities/_overflow.scss +0 -5
  220. package/src/assets/bootstrap_scss/utilities/_position.scss +0 -32
  221. package/src/assets/bootstrap_scss/utilities/_screenreaders.scss +0 -11
  222. package/src/assets/bootstrap_scss/utilities/_shadows.scss +0 -6
  223. package/src/assets/bootstrap_scss/utilities/_sizing.scss +0 -20
  224. package/src/assets/bootstrap_scss/utilities/_spacing.scss +0 -73
  225. package/src/assets/bootstrap_scss/utilities/_stretched-link.scss +0 -19
  226. package/src/assets/bootstrap_scss/utilities/_text.scss +0 -72
  227. package/src/assets/bootstrap_scss/utilities/_visibility.scss +0 -13
  228. package/src/assets/bootstrap_scss/vendor/_rfs.scss +0 -204
  229. package/src/shims-vuex.d.ts +0 -7
  230. package/src/views/Home.vue +0 -18
@@ -8,102 +8,160 @@
8
8
  type="button"
9
9
  :value="$t('Copy')"
10
10
  class="btn btn-primary"
11
- @click="onCopyCode(rss,afterCopy)"
12
11
  :aria-label="$t('Copy')"
13
- />
12
+ @click="onCopyCode(rss, afterCopy)"
13
+ >
14
14
  </p>
15
- <RssSection :emission="emission" v-if="emission" />
15
+ <RssSection
16
+ v-if="emission"
17
+ :emission="emission"
18
+ />
16
19
  <div class="sharing-distribution-container">
17
20
  <router-link
18
- v-bind:to="'/main/priv/distribution/deezer/' + emissionId"
21
+ :to="'/main/priv/distribution/amazon/' + emissionId"
19
22
  class="text-dark"
20
23
  >
21
- <span class="saooti-deezer" />Deezer
24
+ <span class="saooti-amazon">
25
+ <div class="path1" />
26
+ <div class="path2" />
27
+ <div class="path3" />
28
+ </span> Amazon Music | Podcasters
22
29
  </router-link>
23
30
  <router-link
24
- v-bind:to="'/main/priv/distribution/apple/' + emissionId"
31
+ :to="'/main/priv/distribution/apple/' + emissionId"
25
32
  class="text-dark"
26
33
  >
27
34
  <span class="saooti-apple" />Apple Podcast / iTunes
28
35
  </router-link>
29
36
  <router-link
30
- v-bind:to="'/main/priv/distribution/tuneIn/' + emissionId"
31
- class="text-dark"
32
- >
33
- <span class="saooti-tunin" />TuneIn
34
- </router-link>
35
- <router-link
36
- v-bind:to="'/main/priv/distribution/audioNow/' + emissionId"
37
+ :to="'/main/priv/distribution/deezer/' + emissionId"
37
38
  class="text-dark"
38
39
  >
39
- <span class="saooti-audionow"></span> Now
40
+ <span class="saooti-deezer" />Deezer
40
41
  </router-link>
41
42
  <router-link
42
- v-bind:to="'/main/priv/distribution/tootak/' + emissionId"
43
+ :to="'/main/priv/distribution/PlayerFM/' + emissionId"
43
44
  class="text-dark"
44
45
  >
45
- <span class="saooti-tootak" />Tootak
46
+ <span class="saooti-playerfm" />PlayerFM
46
47
  </router-link>
47
48
  <router-link
48
- v-bind:to="'/main/priv/distribution/radioline/' + emissionId"
49
+ :to="'/main/priv/distribution/PocketCasts/' + emissionId"
49
50
  class="text-dark"
50
51
  >
51
- <span class="saooti-radioline" />Radioline
52
+ <span class="saooti-pocket-casts" />Pocket Casts
52
53
  </router-link>
53
54
  <router-link
54
- v-bind:to="'/main/priv/distribution/spotify/' + emissionId"
55
+ :to="'/main/priv/distribution/PodcastAddict/' + emissionId"
55
56
  class="text-dark"
56
57
  >
57
- <span class="saooti-spotify" />Spotify
58
+ <span class="saooti-podcast-addict" />Podcast Addict
58
59
  </router-link>
59
-
60
60
  <router-link
61
- v-bind:to="'/main/priv/distribution/PocketCasts/' + emissionId"
61
+ :to="'/main/priv/distribution/radioline/' + emissionId"
62
62
  class="text-dark"
63
63
  >
64
- <span class="saooti-pocket-casts"></span>Pocket Casts
64
+ <span class="saooti-radioline" />Radioline
65
65
  </router-link>
66
66
  <router-link
67
- v-bind:to="'/main/priv/distribution/PodcastAddict/' + emissionId"
67
+ :to="'/main/priv/distribution/spotify/' + emissionId"
68
68
  class="text-dark"
69
69
  >
70
- <span class="saooti-podcast-addict" />Podcast Addict
70
+ <span class="saooti-spotify" />Spotify
71
71
  </router-link>
72
+
72
73
  <router-link
73
- v-bind:to="'/main/priv/distribution/Stitcher/' + emissionId"
74
+ :to="'/main/priv/distribution/Stitcher/' + emissionId"
74
75
  class="text-dark"
75
76
  >
76
77
  <span class="saooti-stitcher-logo">
77
- <div class="path1"></div>
78
- <div class="path2"></div>
79
- <div class="path3"></div>
80
- <div class="path4"></div>
81
- <div class="path5"></div>
82
- <div class="path6"></div>
83
- <div class="path7"></div>
84
- <div class="path8"></div>
85
- <div class="path9"></div>
86
- <div class="path10"></div>
87
- <div class="path11"></div>
88
- <div class="path12"></div>
89
- <div class="path13"></div>
90
- <div class="path14"></div>
91
- <div class="path15"></div>
92
- <div class="path16"></div>
93
- <div class="path17"></div>
94
- <div class="path18"></div> </span
95
- >Stitcher
78
+ <div class="path1" />
79
+ <div class="path2" />
80
+ <div class="path3" />
81
+ <div class="path4" />
82
+ <div class="path5" />
83
+ <div class="path6" />
84
+ <div class="path7" />
85
+ <div class="path8" />
86
+ <div class="path9" />
87
+ <div class="path10" />
88
+ <div class="path11" />
89
+ <div class="path12" />
90
+ <div class="path13" />
91
+ <div class="path14" />
92
+ <div class="path15" />
93
+ <div class="path16" />
94
+ <div class="path17" />
95
+ <div class="path18" /> </span>Stitcher
96
96
  </router-link>
97
+
97
98
  <router-link
98
- v-bind:to="'/main/priv/distribution/PlayerFM/' + emissionId"
99
+ :to="'/main/priv/distribution/tuneIn/' + emissionId"
99
100
  class="text-dark"
100
101
  >
101
- <span class="saooti-playerfm" />PlayerFM
102
+ <span class="saooti-tunin" />TuneIn
102
103
  </router-link>
103
104
  </div>
104
- <Snackbar ref="snackbar" position="bottom-left"></Snackbar>
105
+ <Snackbar
106
+ ref="snackbar"
107
+ position="bottom-left"
108
+ />
105
109
  </div>
106
110
  </template>
111
+
112
+ <script lang="ts">
113
+ const octopusApi = require('@saooti/octopus-api');
114
+ import Snackbar from '../../misc/Snackbar.vue';
115
+ import { displayMethods } from '../../mixins/functions';
116
+ import { Emission } from '@/store/class/emission';
117
+
118
+ import { defineComponent, defineAsyncComponent } from 'vue';
119
+ const RssSection = defineAsyncComponent(() => import('@/components/display/aggregator/RssSection.vue'));
120
+ export default defineComponent({
121
+ components: {
122
+ Snackbar,
123
+ RssSection,
124
+ },
125
+ mixins: [displayMethods],
126
+ props: {
127
+ emissionId: { default: undefined, type: Number},
128
+ },
129
+
130
+ data() {
131
+ return {
132
+ emission: undefined as Emission|undefined,
133
+ error: false as boolean,
134
+ baseRss: '' as string,
135
+ rss: '' as string,
136
+ };
137
+ },
138
+
139
+ mounted() {
140
+ this.getEmissionDetails();
141
+ this.getRSS();
142
+ },
143
+
144
+ methods: {
145
+ async getEmissionDetails(): Promise<void> {
146
+ try {
147
+ const data = await octopusApi.fetchEmission(this.emissionId);
148
+ this.emission = data;
149
+ } catch {
150
+ this.error = true;
151
+ }
152
+ },
153
+ getRSS(): void {
154
+ if (!this.$props.emissionId || this.$props.emissionId <= 0) return;
155
+ this.baseRss = octopusApi.fetchRSS(this.emissionId);
156
+ this.rss = this.baseRss;
157
+ },
158
+ afterCopy(): void{
159
+ (this.$refs.snackbar as any).open(this.$t('Link in clipboard'));
160
+ }
161
+ },
162
+ })
163
+ </script>
164
+
107
165
  <style lang="scss">
108
166
  .sharing-distribution-container {
109
167
  border: 0.05rem solid #dee2e6;
@@ -115,29 +173,17 @@
115
173
  align-items: center;
116
174
  justify-content: space-between;
117
175
  flex-wrap: wrap;
118
- .saooti-stitcher-logo {
119
- font-size: 1.7rem;
120
- position: relative;
121
- width: 25px;
176
+ .saooti-stitcher-logo, .saooti-amazon {
177
+ width: 35px;
122
178
  height: 20px;
123
179
  div {
124
- position: absolute;
125
- top: -7px;
126
180
  right: 0;
127
181
  }
128
182
  }
129
- .saooti-tunin {
130
- color: #36b4a7;
131
- }
132
- .saooti-radioline {
133
- color: #2273b9;
134
- }
135
- .saooti-tootak {
136
- color: #ff4d53;
137
- }
138
183
  a {
139
184
  display: flex;
140
185
  align-items: center;
186
+ margin: 5px;
141
187
  }
142
188
  span {
143
189
  font-size: 1.3em;
@@ -159,61 +205,4 @@
159
205
  }
160
206
  }
161
207
  }
162
- </style>
163
- <script lang="ts">
164
- const octopusApi = require('@saooti/octopus-api');
165
- import Snackbar from '../../misc/Snackbar.vue';
166
- import RssSection from '@/components/display/aggregator/RssSection.vue';
167
- import { displayMethods } from '../../mixins/functions';
168
-
169
- import { defineComponent } from 'vue'
170
- export default defineComponent({
171
- components: {
172
- Snackbar,
173
- RssSection,
174
- },
175
-
176
- mounted() {
177
- this.getEmissionDetails(this.emissionId);
178
- this.getRSS();
179
- },
180
-
181
- props: ['emissionId'],
182
-
183
- mixins: [displayMethods],
184
-
185
- data() {
186
- return {
187
- emission: undefined as any,
188
- error: false,
189
- baseRss: '',
190
- rss: '',
191
- };
192
- },
193
-
194
- computed: {
195
- snackbarRef():any {
196
- return this.$refs.snackbar;
197
- },
198
- },
199
-
200
- methods: {
201
- async getEmissionDetails(emissionId: any) {
202
- try {
203
- const data = await octopusApi.fetchEmission(emissionId);
204
- this.emission = data;
205
- } catch {
206
- this.error = true;
207
- }
208
- },
209
- getRSS() {
210
- if (!this.$props.emissionId || this.$props.emissionId <= 0) return;
211
- this.baseRss = octopusApi.fetchRSS(this.emissionId);
212
- this.rss = this.baseRss;
213
- },
214
- afterCopy(){
215
- this.snackbarRef.open(this.$t('Link in clipboard'));
216
- }
217
- },
218
- });
219
- </script>
208
+ </style>