@saooti/octopus-sdk 1.0.0 → 1.1.1

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 (317) hide show
  1. package/README.md +261 -0
  2. package/index.d.ts +4 -0
  3. package/index.ts +55 -3
  4. package/package.json +53 -45
  5. package/public/config.ts +4 -0
  6. package/public/css/fonts/icomoon.eot +0 -0
  7. package/public/css/fonts/icomoon.svg +129 -0
  8. package/public/css/fonts/icomoon.ttf +0 -0
  9. package/public/css/fonts/icomoon.woff +0 -0
  10. package/public/css/fonts/style.css +186 -1224
  11. package/public/img/403.jpeg +0 -0
  12. package/public/img/404.svg +242 -0
  13. package/public/img/ACPM.png +0 -0
  14. package/public/img/ouest_france_logo.svg +12 -0
  15. package/src/App.vue +102 -31
  16. package/src/api/classicCrud.ts +34 -0
  17. package/src/api/initialize.ts +5 -2
  18. package/src/assets/bootstrap-diff.scss +197 -0
  19. package/src/assets/form.scss +77 -77
  20. package/src/assets/general.scss +284 -272
  21. package/src/assets/live.scss +39 -0
  22. package/src/assets/modal.scss +43 -50
  23. package/src/assets/multiselect.scss +522 -573
  24. package/src/assets/octopus-library.scss +18 -4
  25. package/src/assets/share.scss +243 -0
  26. package/src/assets/transition.scss +98 -2
  27. package/src/components/display/aggregator/RssSection.vue +3 -5
  28. package/src/components/display/categories/CategoryChooser.vue +151 -114
  29. package/src/components/display/categories/CategoryFilter.vue +162 -0
  30. package/src/components/display/categories/CategoryList.vue +149 -117
  31. package/src/components/display/comments/AddCommentModal.vue +103 -108
  32. package/src/components/display/comments/CommentBasicView.vue +95 -0
  33. package/src/components/display/comments/CommentInput.vue +195 -183
  34. package/src/components/display/comments/CommentItem.vue +170 -208
  35. package/src/components/display/comments/CommentList.vue +134 -228
  36. package/src/components/display/comments/CommentParentInfo.vue +28 -62
  37. package/src/components/display/comments/CommentPlayer.vue +53 -56
  38. package/src/components/display/comments/CommentSection.vue +52 -83
  39. package/src/components/display/edit/EditBox.vue +10 -4
  40. package/src/components/display/edit/EditCommentBox.vue +124 -38
  41. package/src/components/display/emission/EmissionChooser.vue +88 -108
  42. package/src/components/display/emission/EmissionInlineList.vue +156 -157
  43. package/src/components/display/emission/EmissionItem.vue +72 -226
  44. package/src/components/display/emission/EmissionList.vue +159 -201
  45. package/src/components/display/emission/EmissionPlayerItem.vue +203 -174
  46. package/src/components/display/filter/AdvancedSearch.vue +224 -432
  47. package/src/components/display/filter/CategoryFilter.vue +105 -0
  48. package/src/components/display/filter/MonetizableFilter.vue +18 -15
  49. package/src/components/display/filter/ProductorSearch.vue +153 -176
  50. package/src/components/display/filter/RubriqueChoice.vue +97 -0
  51. package/src/components/display/filter/RubriqueFilter.vue +232 -0
  52. package/src/components/display/list/ListPaginate.vue +145 -0
  53. package/src/components/display/list/Paginate.vue +218 -0
  54. package/src/components/display/live/CountDown.vue +31 -30
  55. package/src/components/display/live/LiveHorizontalList.vue +84 -62
  56. package/src/components/display/live/LiveItem.vue +161 -186
  57. package/src/components/display/live/LiveList.vue +184 -295
  58. package/src/components/display/organisation/OrganisationChooser.vue +124 -162
  59. package/src/components/display/organisation/OrganisationChooserLight.vue +53 -56
  60. package/src/components/display/participant/ParticipantItem.vue +91 -128
  61. package/src/components/display/participant/ParticipantList.vue +134 -121
  62. package/src/components/display/playlist/PlaylistItem.vue +60 -97
  63. package/src/components/display/playlist/PlaylistList.vue +99 -92
  64. package/src/components/display/playlist/PodcastList.vue +117 -132
  65. package/src/components/display/playlist/PodcastPlaylistInlineList.vue +191 -0
  66. package/src/components/display/podcasts/AnimatorsItem.vue +29 -37
  67. package/src/components/display/podcasts/ParticipantDescription.vue +82 -0
  68. package/src/components/display/podcasts/PodcastFilterList.vue +49 -102
  69. package/src/components/display/podcasts/PodcastImage.vue +208 -225
  70. package/src/components/display/podcasts/PodcastInlineList.vue +62 -355
  71. package/src/components/display/podcasts/PodcastInlineListClassic.vue +240 -0
  72. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +167 -0
  73. package/src/components/display/podcasts/PodcastItem.vue +94 -218
  74. package/src/components/display/podcasts/PodcastItemInfo.vue +166 -0
  75. package/src/components/display/podcasts/PodcastList.vue +127 -178
  76. package/src/components/display/podcasts/PodcastModuleBox.vue +234 -0
  77. package/src/components/display/podcasts/PodcastPlayBar.vue +101 -0
  78. package/src/components/display/podcasts/PodcastSwiperList.vue +204 -0
  79. package/src/components/display/podcasts/TagList.vue +60 -38
  80. package/src/components/display/rubriques/RubriqueChooser.vue +144 -131
  81. package/src/components/display/rubriques/RubriqueList.vue +216 -0
  82. package/src/components/display/sharing/PlayerParameters.vue +111 -153
  83. package/src/components/display/sharing/QrCode.vue +96 -0
  84. package/src/components/display/sharing/ShareButtons.vue +63 -233
  85. package/src/components/display/sharing/ShareButtonsIntern.vue +225 -0
  86. package/src/components/display/sharing/ShareDistribution.vue +102 -166
  87. package/src/components/display/sharing/SharePlayer.vue +189 -353
  88. package/src/components/display/sharing/SharePlayerColors.vue +78 -0
  89. package/src/components/display/sharing/SharePlayerTypes.vue +112 -0
  90. package/src/components/display/sharing/SplitButton.vue +42 -0
  91. package/src/components/display/sharing/SubscribeButtons.vue +65 -118
  92. package/src/components/display/studio/RecordingItemButton.vue +3 -5
  93. package/src/components/form/ClassicCheckbox.vue +66 -0
  94. package/src/components/form/ClassicLoading.vue +28 -0
  95. package/src/components/form/ClassicRadio.vue +66 -0
  96. package/src/components/form/ClassicSearch.vue +86 -0
  97. package/src/components/form/ClassicSelect.vue +65 -0
  98. package/src/components/misc/ErrorMessage.vue +27 -18
  99. package/src/components/misc/Footer.vue +151 -108
  100. package/src/components/misc/HomeDropdown.vue +95 -154
  101. package/src/components/misc/LeftMenu.vue +137 -206
  102. package/src/components/misc/Popover.vue +118 -0
  103. package/src/components/misc/Snackbar.vue +73 -37
  104. package/src/components/misc/TopBar.vue +211 -314
  105. package/src/components/misc/modal/ClipboardModal.vue +34 -47
  106. package/src/components/misc/modal/MessageModal.vue +74 -53
  107. package/src/components/misc/modal/NewsletterModal.vue +272 -224
  108. package/src/components/misc/modal/QrCodeModal.vue +58 -0
  109. package/src/components/misc/modal/ShareModalPlayer.vue +140 -74
  110. package/src/components/misc/player/Player.vue +146 -0
  111. package/src/components/misc/player/PlayerCompact.vue +154 -0
  112. package/src/components/misc/player/PlayerLarge.vue +166 -0
  113. package/src/components/misc/player/PlayerProgressBar.vue +112 -0
  114. package/src/components/misc/player/PlayerTimeline.vue +61 -0
  115. package/src/components/mixins/functions.ts +21 -18
  116. package/src/components/mixins/handle403.ts +17 -0
  117. package/src/components/mixins/init.ts +24 -0
  118. package/src/components/mixins/orgaComputed.ts +15 -0
  119. package/src/components/mixins/organisationFilter.ts +41 -0
  120. package/src/components/mixins/player/playerComment.ts +98 -0
  121. package/src/components/mixins/player/playerDisplay.ts +113 -0
  122. package/src/components/mixins/player/playerLive.ts +111 -0
  123. package/src/components/mixins/player/playerLogic.ts +225 -0
  124. package/src/components/mixins/tagOfMixins.ts +19 -0
  125. package/src/components/pages/Category.vue +24 -28
  126. package/src/components/pages/Emission.vue +144 -177
  127. package/src/components/pages/Emissions.vue +94 -110
  128. package/src/components/pages/Error403Page.vue +60 -0
  129. package/src/components/pages/Home.vue +74 -21
  130. package/src/components/pages/Lives.vue +53 -58
  131. package/src/components/pages/PageNotFound.vue +55 -0
  132. package/src/components/pages/Participant.vue +113 -129
  133. package/src/components/pages/Participants.vue +25 -41
  134. package/src/components/pages/Playlist.vue +86 -86
  135. package/src/components/pages/Playlists.vue +33 -52
  136. package/src/components/pages/Podcast.vue +206 -478
  137. package/src/components/pages/Podcasts.vue +112 -156
  138. package/src/components/pages/Rubrique.vue +21 -27
  139. package/src/components/pages/Search.vue +37 -94
  140. package/src/helper/dom.ts +2 -2
  141. package/src/helper/duration.ts +18 -8
  142. package/src/helper/useEventListener.ts +18 -0
  143. package/src/i18n.ts +36 -0
  144. package/src/locale/de.ts +309 -0
  145. package/src/locale/educationen.ts +14 -0
  146. package/src/locale/en.ts +316 -1
  147. package/src/locale/es.ts +309 -0
  148. package/src/locale/fr.ts +47 -15
  149. package/src/locale/it.ts +307 -0
  150. package/src/locale/messages.ts +11 -2
  151. package/src/locale/sl.ts +309 -0
  152. package/src/main.ts +64 -55
  153. package/src/router/router.ts +192 -159
  154. package/src/sass/_variables.scss +10 -8
  155. package/src/shims-tsx.d.ts +15 -0
  156. package/src/shims-vue-recaptcha-v3.d.ts +9 -0
  157. package/src/shims-vue.d.ts +5 -6
  158. package/src/store/AppStore.ts +41 -173
  159. package/src/store/class/adserver/adserverConfig.ts +9 -0
  160. package/src/store/class/adserver/adserverOtherEmission.ts +13 -0
  161. package/src/store/class/adserver/adserverTiming.ts +10 -0
  162. package/src/store/class/cartouchier/cartouche.ts +15 -0
  163. package/src/store/class/cartouchier/cartouchier.ts +9 -0
  164. package/src/store/class/conference/conference.ts +35 -0
  165. package/src/store/class/conference/conferenceMessage.ts +10 -0
  166. package/src/store/class/conference/conferenceParticipant.ts +18 -0
  167. package/src/store/class/conference/pad.ts +15 -0
  168. package/src/store/class/conference/studioCall.ts +7 -0
  169. package/src/store/class/contract/contract.ts +7 -0
  170. package/src/store/class/contract/contractOrganisation.ts +7 -0
  171. package/src/store/class/ftp/ftpEmission.ts +41 -0
  172. package/src/store/class/ftp/ftpParam.ts +12 -0
  173. package/src/store/class/ftp/testFtpEmission.ts +5 -0
  174. package/src/store/class/general/audioView.ts +21 -0
  175. package/src/store/class/general/category.ts +10 -0
  176. package/src/store/class/general/comment.ts +16 -0
  177. package/src/store/class/general/customPlayer.ts +9 -0
  178. package/src/store/class/general/emission.ts +23 -0
  179. package/src/store/class/general/fetchParam.ts +3 -0
  180. package/src/store/class/general/initState.ts +25 -0
  181. package/src/store/class/general/interfacePageable.ts +16 -0
  182. package/src/store/class/general/ituneCategory.ts +5 -0
  183. package/src/store/class/general/media.ts +14 -0
  184. package/src/store/class/general/organisation.ts +20 -0
  185. package/src/store/class/general/pageable.ts +13 -0
  186. package/src/store/class/general/participant.ts +12 -0
  187. package/src/store/class/general/player.ts +14 -0
  188. package/src/store/class/general/playlist.ts +13 -0
  189. package/src/store/class/general/podcast.ts +43 -0
  190. package/src/store/class/general/sortPageable.ts +5 -0
  191. package/src/store/class/general/soundcastCategory.ts +8 -0
  192. package/src/store/class/ouestFrance/ofTag.ts +36 -0
  193. package/src/store/class/ouestFrance/ofTagInfo.ts +9 -0
  194. package/src/store/class/ouestFrance/ofTagPage.ts +7 -0
  195. package/src/store/class/ouestFrance/ofTagSeo.ts +7 -0
  196. package/src/store/class/ouestFrance/ofTagVente.ts +6 -0
  197. package/src/store/class/ouestFrance/ofTagWithParents.ts +26 -0
  198. package/src/store/class/rss/aggregator.ts +28 -0
  199. package/src/store/class/rss/rssEmission.ts +14 -0
  200. package/src/store/class/rss/rssInfo.ts +8 -0
  201. package/src/store/class/rubrique/rubriquage.ts +10 -0
  202. package/src/store/class/rubrique/rubriquageFilter.ts +6 -0
  203. package/src/store/class/rubrique/rubrique.ts +9 -0
  204. package/src/store/class/stat/statArrayIncome.ts +6 -0
  205. package/src/store/class/stat/statArrayObject.ts +34 -0
  206. package/src/store/class/stat/statGraph.ts +7 -0
  207. package/src/store/class/user/person.ts +15 -0
  208. package/src/store/class/user/profile.ts +12 -0
  209. package/src/store/class/user/userKeycloak.ts +24 -0
  210. package/src/store/paramStore.ts +222 -217
  211. package/src/store/typeAppStore.ts +186 -235
  212. package/src/vuex-shim.d.ts +8 -0
  213. package/tsconfig.json +4 -0
  214. package/vue.config.js +16 -0
  215. package/public/css/fonts/saooti-ui.eot +0 -0
  216. package/public/css/fonts/saooti-ui.svg +0 -829
  217. package/public/css/fonts/saooti-ui.ttf +0 -0
  218. package/public/css/fonts/saooti-ui.woff +0 -0
  219. package/public/css/fonts/stitcher-logo.svg +0 -83
  220. package/public/img/ACPM.PNG +0 -0
  221. package/src/api/comments.ts +0 -7
  222. package/src/api/emissions.ts +0 -7
  223. package/src/api/podcasts.ts +0 -7
  224. package/src/api/profile.ts +0 -8
  225. package/src/api/studio.ts +0 -1
  226. package/src/assets/bootstrap_scss/_alert.scss +0 -51
  227. package/src/assets/bootstrap_scss/_badge.scss +0 -54
  228. package/src/assets/bootstrap_scss/_breadcrumb.scss +0 -42
  229. package/src/assets/bootstrap_scss/_button-group.scss +0 -164
  230. package/src/assets/bootstrap_scss/_buttons.scss +0 -291
  231. package/src/assets/bootstrap_scss/_card.scss +0 -278
  232. package/src/assets/bootstrap_scss/_carousel.scss +0 -197
  233. package/src/assets/bootstrap_scss/_close.scss +0 -41
  234. package/src/assets/bootstrap_scss/_code.scss +0 -48
  235. package/src/assets/bootstrap_scss/_custom-forms.scss +0 -522
  236. package/src/assets/bootstrap_scss/_dropdown.scss +0 -201
  237. package/src/assets/bootstrap_scss/_forms.scss +0 -352
  238. package/src/assets/bootstrap_scss/_functions.scss +0 -134
  239. package/src/assets/bootstrap_scss/_grid.scss +0 -69
  240. package/src/assets/bootstrap_scss/_images.scss +0 -42
  241. package/src/assets/bootstrap_scss/_input-group.scss +0 -191
  242. package/src/assets/bootstrap_scss/_jumbotron.scss +0 -17
  243. package/src/assets/bootstrap_scss/_list-group.scss +0 -158
  244. package/src/assets/bootstrap_scss/_media.scss +0 -8
  245. package/src/assets/bootstrap_scss/_mixins.scss +0 -47
  246. package/src/assets/bootstrap_scss/_modal.scss +0 -243
  247. package/src/assets/bootstrap_scss/_nav.scss +0 -120
  248. package/src/assets/bootstrap_scss/_navbar.scss +0 -324
  249. package/src/assets/bootstrap_scss/_pagination.scss +0 -74
  250. package/src/assets/bootstrap_scss/_popover.scss +0 -170
  251. package/src/assets/bootstrap_scss/_print.scss +0 -141
  252. package/src/assets/bootstrap_scss/_progress.scss +0 -46
  253. package/src/assets/bootstrap_scss/_reboot.scss +0 -482
  254. package/src/assets/bootstrap_scss/_root.scss +0 -20
  255. package/src/assets/bootstrap_scss/_spinners.scss +0 -55
  256. package/src/assets/bootstrap_scss/_tables.scss +0 -185
  257. package/src/assets/bootstrap_scss/_toasts.scss +0 -44
  258. package/src/assets/bootstrap_scss/_tooltip.scss +0 -115
  259. package/src/assets/bootstrap_scss/_transitions.scss +0 -20
  260. package/src/assets/bootstrap_scss/_type.scss +0 -125
  261. package/src/assets/bootstrap_scss/_utilities.scss +0 -17
  262. package/src/assets/bootstrap_scss/_variables.scss +0 -1145
  263. package/src/assets/bootstrap_scss/bootstrap-grid.scss +0 -29
  264. package/src/assets/bootstrap_scss/bootstrap-reboot.scss +0 -12
  265. package/src/assets/bootstrap_scss/bootstrap.scss +0 -44
  266. package/src/assets/bootstrap_scss/mixins/_alert.scss +0 -13
  267. package/src/assets/bootstrap_scss/mixins/_background-variant.scss +0 -22
  268. package/src/assets/bootstrap_scss/mixins/_badge.scss +0 -17
  269. package/src/assets/bootstrap_scss/mixins/_border-radius.scss +0 -63
  270. package/src/assets/bootstrap_scss/mixins/_box-shadow.scss +0 -20
  271. package/src/assets/bootstrap_scss/mixins/_breakpoints.scss +0 -123
  272. package/src/assets/bootstrap_scss/mixins/_buttons.scss +0 -110
  273. package/src/assets/bootstrap_scss/mixins/_caret.scss +0 -62
  274. package/src/assets/bootstrap_scss/mixins/_clearfix.scss +0 -7
  275. package/src/assets/bootstrap_scss/mixins/_deprecate.scss +0 -10
  276. package/src/assets/bootstrap_scss/mixins/_float.scss +0 -14
  277. package/src/assets/bootstrap_scss/mixins/_forms.scss +0 -177
  278. package/src/assets/bootstrap_scss/mixins/_gradients.scss +0 -45
  279. package/src/assets/bootstrap_scss/mixins/_grid-framework.scss +0 -71
  280. package/src/assets/bootstrap_scss/mixins/_grid.scss +0 -69
  281. package/src/assets/bootstrap_scss/mixins/_hover.scss +0 -37
  282. package/src/assets/bootstrap_scss/mixins/_image.scss +0 -36
  283. package/src/assets/bootstrap_scss/mixins/_list-group.scss +0 -21
  284. package/src/assets/bootstrap_scss/mixins/_lists.scss +0 -7
  285. package/src/assets/bootstrap_scss/mixins/_nav-divider.scss +0 -11
  286. package/src/assets/bootstrap_scss/mixins/_pagination.scss +0 -22
  287. package/src/assets/bootstrap_scss/mixins/_reset-text.scss +0 -17
  288. package/src/assets/bootstrap_scss/mixins/_resize.scss +0 -6
  289. package/src/assets/bootstrap_scss/mixins/_screen-reader.scss +0 -34
  290. package/src/assets/bootstrap_scss/mixins/_size.scss +0 -7
  291. package/src/assets/bootstrap_scss/mixins/_table-row.scss +0 -39
  292. package/src/assets/bootstrap_scss/mixins/_text-emphasis.scss +0 -17
  293. package/src/assets/bootstrap_scss/mixins/_text-hide.scss +0 -11
  294. package/src/assets/bootstrap_scss/mixins/_text-truncate.scss +0 -8
  295. package/src/assets/bootstrap_scss/mixins/_transition.scss +0 -16
  296. package/src/assets/bootstrap_scss/mixins/_visibility.scss +0 -8
  297. package/src/assets/bootstrap_scss/utilities/_align.scss +0 -8
  298. package/src/assets/bootstrap_scss/utilities/_background.scss +0 -19
  299. package/src/assets/bootstrap_scss/utilities/_borders.scss +0 -75
  300. package/src/assets/bootstrap_scss/utilities/_clearfix.scss +0 -3
  301. package/src/assets/bootstrap_scss/utilities/_display.scss +0 -26
  302. package/src/assets/bootstrap_scss/utilities/_embed.scss +0 -39
  303. package/src/assets/bootstrap_scss/utilities/_flex.scss +0 -51
  304. package/src/assets/bootstrap_scss/utilities/_float.scss +0 -11
  305. package/src/assets/bootstrap_scss/utilities/_overflow.scss +0 -5
  306. package/src/assets/bootstrap_scss/utilities/_position.scss +0 -32
  307. package/src/assets/bootstrap_scss/utilities/_screenreaders.scss +0 -11
  308. package/src/assets/bootstrap_scss/utilities/_shadows.scss +0 -6
  309. package/src/assets/bootstrap_scss/utilities/_sizing.scss +0 -20
  310. package/src/assets/bootstrap_scss/utilities/_spacing.scss +0 -73
  311. package/src/assets/bootstrap_scss/utilities/_stretched-link.scss +0 -19
  312. package/src/assets/bootstrap_scss/utilities/_text.scss +0 -72
  313. package/src/assets/bootstrap_scss/utilities/_visibility.scss +0 -13
  314. package/src/assets/bootstrap_scss/vendor/_rfs.scss +0 -204
  315. package/src/components/misc/Player.vue +0 -792
  316. package/src/shims-vuex.d.ts +0 -7
  317. package/src/views/Home.vue +0 -18
@@ -1,171 +1,204 @@
1
- import { createRouter, createWebHistory } from 'vue-router';
1
+ import { createRouter, createWebHistory, RouteLocationNormalized, RouteRecordRaw } from 'vue-router'
2
2
 
3
3
  /*--------------------------------------------------------------------------
4
4
  Composants publics
5
5
  --------------------------------------------------------------------------*/
6
- import Home from '@/components/pages/Home.vue';
7
- import PodcastsPage from '@/components/pages/Podcasts.vue';
8
- import EmissionPage from '@/components/pages/Emission.vue';
9
- import EmissionsPage from '@/components/pages/Emissions.vue';
10
- import ParticpantsPage from '@/components/pages/Participants.vue';
11
- import PodcastPage from '@/components/pages/Podcast.vue';
12
- import ParticipantPage from '@/components/pages/Participant.vue';
13
- import SearchPage from '@/components/pages/Search.vue';
14
- import CategoryPage from '@/components/pages/Category.vue';
15
- import RubriquePage from '@/components/pages/Rubrique.vue';
16
- import LivesPage from '@/components/pages/Lives.vue';
17
- import PlaylistPage from '@/components/pages/Playlist.vue';
18
- import PlaylistsPage from '@/components/pages/Playlists.vue';
19
6
 
7
+ const Home = () => import('@/components/pages/Home.vue');
8
+ const PodcastsPage = () => import('@/components/pages/Podcasts.vue');
9
+ const EmissionPage = () => import('@/components/pages/Emission.vue');
10
+ const EmissionsPage = () => import('@/components/pages/Emissions.vue');
11
+ const ParticpantsPage = () => import('@/components/pages/Participants.vue');
12
+ const PodcastPage = () => import('@/components/pages/Podcast.vue');
13
+ const ParticipantPage = () => import('@/components/pages/Participant.vue');
14
+ const SearchPage = () => import('@/components/pages/Search.vue');
15
+ const CategoryPage = () => import('@/components/pages/Category.vue');
16
+ const RubriquePage = () => import('@/components/pages/Rubrique.vue');
17
+ const LivesPage = () => import('@/components/pages/Lives.vue');
18
+ const PlaylistPage = () => import('@/components/pages/Playlist.vue');
19
+ const PlaylistsPage = () => import('@/components/pages/Playlists.vue');
20
+ const error403Page = () => import('@/components/pages/Error403Page.vue');
21
+ const PageNotFound = () => import('@/components/pages/PageNotFound.vue');
20
22
 
21
- const routes = [
23
+ const routes: Array<RouteRecordRaw> = [
22
24
  /*--------------------------------------------------------------------------
23
25
  Liens publics
24
26
  --------------------------------------------------------------------------*/
25
- {
26
- path: '/',
27
- name: '',
28
- component: Home,
29
- },
30
- {
31
- path: '/main/pub/home:productor?',
32
- name: 'home',
33
- component: Home,
34
- props: (route:any) => ({
35
- productor: route.params.productor,
36
- }),
37
- },
38
- {
39
- path: '/main/pub/search/:query?/:productor?',
40
- name: 'search',
41
- component: SearchPage,
42
- props: (route:any) => ({
43
- productor: route.params.productor,
44
- query: route.params.query,
45
- }),
46
- },
47
- {
48
- path: '/main/pub/podcasts/:productor?',
49
- name: 'podcasts',
50
- component: PodcastsPage,
51
- props: (route:any) => ({
52
- productor: route.params.productor,
53
- }),
54
- },
55
- {
56
- path: '/main/pub/emissions/:productor?',
57
- name: 'emissions',
58
- component: EmissionsPage,
59
- props: (route:any) => ({
60
- productor: route.params.productor,
61
- }),
62
- },
63
- {
64
- path: '/main/pub/participants/:productor?',
65
- name: 'participants',
66
- component: ParticpantsPage,
67
- props: (route:any) => ({
68
- productor: route.params.productor,
69
- }),
70
- },
71
- {
72
- path: '/main/pub/emission/:emissionId/:productor?',
73
- name: 'emission',
74
- component: EmissionPage,
75
- props: (route:any) => ({
76
- first: parseInt(route.query.first, 10) || 0,
77
- size: parseInt(route.query.size, 10) || 12,
78
- emissionId: parseInt(route.params.emissionId, 10),
79
- productor: route.params.productor,
80
- }),
81
- },
82
- {
83
- path: '/main/pub/podcast/:podcastId/:productor?',
84
- name: 'podcast',
85
- component: PodcastPage,
86
- props: (route:any) => ({
87
- podcastId: parseInt(route.params.podcastId, 10),
88
- productor: route.params.productor,
89
- }),
90
- },
91
- {
92
- path: '/main/pub/participant/:participantId/:productor?',
93
- name: 'participant',
94
- component: ParticipantPage,
95
- props: (route:any) => ({
96
- first: parseInt(route.query.first, 10) || 0,
97
- size: parseInt(route.query.size, 10) || 12,
98
- participantId: parseInt(route.params.participantId, 10),
99
- productor: route.params.productor,
100
- }),
101
- },
102
- {
103
- path: '/main/pub/category/:iabId/:productor?',
104
- name: 'category',
105
- component: CategoryPage,
106
- props: (route:any) => ({
107
- first: parseInt(route.query.first, 10) || 0,
108
- size: parseInt(route.query.size, 10) || 12,
109
- iabId: parseInt(route.params.iabId, 10),
110
- productor: route.params.productor,
111
- }),
112
- },
113
- {
114
- path: '/main/pub/rubrique/:rubriqueId/:productor?',
115
- name: 'rubrique',
116
- component: RubriquePage,
117
- props: (route:any) => ({
118
- first: parseInt(route.query.first, 10) || 0,
119
- size: parseInt(route.query.size, 10) || 12,
120
- rubriqueId: parseInt(route.params.rubriqueId, 10),
121
- productor: route.params.productor,
122
- }),
123
- },
124
- {
125
- path: '/main/pub/lives/:productor?',
126
- name: 'lives',
127
- component: LivesPage,
128
- props: (route:any) => ({
129
- productor: route.params.productor,
130
- }),
131
- },
132
- {
133
- path: '/main/pub/home',
134
- name: 'productor',
135
- component: Home,
136
- props: () => ({
137
- productorId: 0,
138
- }),
139
- },
140
- {
141
- path: '/main/pub/home',
142
- name: 'productors',
143
- component: Home,
144
- props: () => ({
145
- productorId: 0,
146
- }),
147
- },
148
- {
149
- path: '/main/pub/playlists/:productor?',
150
- name: 'playlists',
151
- component: PlaylistsPage,
152
- props: (route:any) => ({
153
- productor: route.params.productor,
154
- }),
155
- },
156
- {
157
- path: '/main/pub/playlist/:playlistId/:productor?',
158
- name: 'playlist',
159
- component: PlaylistPage,
160
- props: (route:any) => ({
161
- playlistId: parseInt(route.params.playlistId, 10),
162
- productor: route.params.productor,
163
- }),
164
- },
27
+ {
28
+ path: '/',
29
+ name: '',
30
+ component: Home,
31
+ },
32
+ {
33
+ path: '/main/pub/error',
34
+ name: 'error',
35
+ component: error403Page,
36
+ },
37
+ {
38
+ path: '/main/pub/home:productor?:iabId?:rubriquesId?',
39
+ name: 'home',
40
+ component: Home,
41
+ props: (route: RouteLocationNormalized) => ({
42
+ productor: route.params.productor,
43
+ iabId: route.params.iabId,
44
+ rubriquesId: route.params.rubriquesId,
45
+ }),
46
+ },
47
+ {
48
+ path: '/main/pub/search/:query?/:productor?',
49
+ name: 'search',
50
+ component: SearchPage,
51
+ props: (route: RouteLocationNormalized) => ({
52
+ productor: route.params.productor,
53
+ queryRoute: route.params.query,
54
+ }),
55
+ },
56
+ {
57
+ path: '/main/pub/podcasts/:productor?:iabId?:rubriquesId?',
58
+ name: 'podcasts',
59
+ component: PodcastsPage,
60
+ props: (route: RouteLocationNormalized) => ({
61
+ productor: route.params.productor,
62
+ iabId: route.params.iabId,
63
+ rubriquesId: route.params.rubriquesId,
64
+ }),
65
+ },
66
+ {
67
+ path: '/main/pub/emissions/:productor?:iabId?:rubriquesId?',
68
+ name: 'emissions',
69
+ component: EmissionsPage,
70
+ props: (route: RouteLocationNormalized) => ({
71
+ productor: route.params.productor,
72
+ iabId: route.params.iabId,
73
+ rubriquesId: route.params.rubriquesId,
74
+ }),
75
+ },
76
+ {
77
+ path: '/main/pub/participants/:productor?',
78
+ name: 'participants',
79
+ component: ParticpantsPage,
80
+ props: (route: RouteLocationNormalized) => ({
81
+ productor: route.params.productor,
82
+ }),
83
+ },
84
+ {
85
+ path: '/main/pub/emission/:emissionId/:productor?',
86
+ name: 'emission',
87
+ component: EmissionPage,
88
+ props: (route: RouteLocationNormalized) => ({
89
+ firstRoute: route.query.first ? parseInt(route.query.first.toString(), 10) : 0,
90
+ sizeRoute: route.query.size ? parseInt(route.query.size.toString(), 10) :12,
91
+ emissionId: parseInt(route.params.emissionId.toString(), 10),
92
+ productor: route.params.productor,
93
+ }),
94
+ },
95
+ {
96
+ path: '/main/pub/podcast/:podcastId/:productor?',
97
+ name: 'podcast',
98
+ component: PodcastPage,
99
+ props: (route: RouteLocationNormalized) => ({
100
+ podcastId: parseInt(route.params.podcastId.toString(), 10),
101
+ productor: route.params.productor,
102
+ }),
103
+ },
104
+ {
105
+ path: '/main/pub/participant/:participantId/:productor?',
106
+ name: 'participant',
107
+ component: ParticipantPage,
108
+ props: (route: RouteLocationNormalized) => ({
109
+ firstRoute: route.query.first ? parseInt(route.query.first.toString(), 10) : 0,
110
+ sizeRoute: route.query.size ? parseInt(route.query.size.toString(), 10) :12,
111
+ participantId: parseInt(route.params.participantId.toString(), 10),
112
+ productor: route.params.productor,
113
+ }),
114
+ },
115
+ {
116
+ path: '/main/pub/category/:iabId/:productor?',
117
+ name: 'category',
118
+ component: CategoryPage,
119
+ props: (route: RouteLocationNormalized) => ({
120
+ firstRoute: route.query.first ? parseInt(route.query.first.toString(), 10) : 0,
121
+ sizeRoute: route.query.size ? parseInt(route.query.size.toString(), 10) :12,
122
+ iabId: parseInt(route.params.iabId.toString(), 10),
123
+ productor: route.params.productor,
124
+ }),
125
+ },
126
+ {
127
+ path: '/main/pub/rubrique/:rubriqueId/:productor?',
128
+ name: 'rubrique',
129
+ component: RubriquePage,
130
+ props: (route: RouteLocationNormalized) => ({
131
+ firstRoute: route.query.first ? parseInt(route.query.first.toString(), 10) : 0,
132
+ sizeRoute: route.query.size ? parseInt(route.query.size.toString(), 10) :12,
133
+ rubriqueId: parseInt(route.params.rubriqueId.toString(), 10),
134
+ productor: route.params.productor,
135
+ }),
136
+ },
137
+ {
138
+ path: '/main/pub/lives/:productor?',
139
+ name: 'lives',
140
+ component: LivesPage,
141
+ props: (route: RouteLocationNormalized) => ({
142
+ productor: route.params.productor,
143
+ }),
144
+ },
145
+ {
146
+ path: '/main/pub/home',
147
+ name: 'productor',
148
+ component: Home,
149
+ props: () => ({
150
+ productorId: 0,
151
+ }),
152
+ },
153
+ {
154
+ path: '/main/pub/home',
155
+ name: 'productors',
156
+ component: Home,
157
+ props: () => ({
158
+ productorId: 0,
159
+ }),
160
+ },
161
+ {
162
+ path: '/main/pub/playlists/:productor?',
163
+ name: 'playlists',
164
+ component: PlaylistsPage,
165
+ props: (route: RouteLocationNormalized) => ({
166
+ productor: route.params.productor,
167
+ }),
168
+ },
169
+ {
170
+ path: '/main/pub/playlist/:playlistId/:productor?',
171
+ name: 'playlist',
172
+ component: PlaylistPage,
173
+ props: (route: RouteLocationNormalized) => ({
174
+ playlistId: parseInt(route.params.playlistId.toString(), 10),
175
+ productor: route.params.productor,
176
+ }),
177
+ },
178
+ //Fake route to avoid errors
179
+ {
180
+ path: '/main/pub/contact',
181
+ component: Home,
182
+ },
183
+ {
184
+ path: '/main/pub/cgu',
185
+ component: Home,
186
+ },
187
+ {
188
+ path: '/main/pub/libraries',
189
+ component: Home,
190
+ },
191
+ {
192
+ path: '/main/priv/distribution/:distrib/:id',
193
+ component: Home,
194
+ },
195
+ { path: '/:pathMatch(.*)*', component: PageNotFound }
196
+
165
197
  ];
166
- const router = createRouter({
198
+ export default createRouter({
167
199
  history: createWebHistory(process.env.BASE_URL),
168
- routes
200
+ routes: routes,
201
+ scrollBehavior(): {left: number; top: number} {
202
+ return { left: 0, top: 0 };
203
+ },
169
204
  })
170
-
171
- export default router;
@@ -5,7 +5,9 @@ $body-bg: #f8fafc;
5
5
  $font-family-sans-serif: 'Roboto', sans-serif;
6
6
  $font-size-base: 0.9rem;
7
7
  $line-height-base: 1.6;
8
- $primary: #40a372;
8
+ $primary: #32815C;
9
+ $secondary: #636C73;
10
+ $danger: #E22C27;
9
11
 
10
12
  // Colors
11
13
  $blue: #3490dc;
@@ -20,14 +22,14 @@ $teal: #4dc0b5;
20
22
  $cyan: #6cb2eb;
21
23
 
22
24
  //Octopus style
23
- $octopus-background: #f3f3f3;
24
- $octopus-secondary-background: #fafafa;
25
+ $octopus-background: #fafafa;
25
26
  $octopus-primary-color: #40a372;
26
27
  $octopus-secondary-color : #ddd;
27
- $octopus-light-secondary-color: #eee;
28
- $octopus-third-color: rgba(214,217,31,1);
29
- $octopus-alert-text: darkred;
30
- $octopus-primary-dark : #48a879;
31
- $primaryColorReallyTransparent : #a2f3c993;
28
+ $octopus-primary-linear-background: #7fd8ab;
29
+ $octopus-primary-dark : #1a8658;
30
+
31
+ $primaryColorTransparent : #40a37193;
32
+ $primaryColorMoreTransparent : #40a37154;
33
+ $primaryColorReallyTransparent : #cef7e250;
32
34
 
33
35
 
@@ -0,0 +1,15 @@
1
+ /* eslint-disable */
2
+ import Vue, { VNode } from 'vue'
3
+
4
+ declare global {
5
+ namespace JSX {
6
+ // tslint:disable no-empty-interface
7
+ type Element = VNode
8
+ // tslint:disable no-empty-interface
9
+ type ElementClass = Vue
10
+ interface IntrinsicElements {
11
+ [elem: string]: any;
12
+ }
13
+ }
14
+ }
15
+ /* eslint-enable */
@@ -0,0 +1,9 @@
1
+ import { ReCaptchaInstance } from 'recaptcha-v3'
2
+
3
+ declare module '@vue/runtime-core' {
4
+ interface ComponentCustomProperties {
5
+ $recaptcha: (action: string) => Promise<string>
6
+ $recaptchaLoaded: () => Promise<boolean>
7
+ $recaptchaInstance: ReCaptchaInstance
8
+ }
9
+ }
@@ -1,6 +1,5 @@
1
- /* eslint-disable */
2
- declare module '*.vue' {
3
- import type { DefineComponent } from 'vue'
4
- const component: DefineComponent<{}, {}, any>
5
- export default component
6
- }
1
+ declare module "*.vue" {
2
+ import { defineComponent } from "vue";
3
+ const component: ReturnType<typeof defineComponent>;
4
+ export default component;
5
+ }