@saooti/octopus-sdk 30.0.8 → 30.0.9

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 (66) hide show
  1. package/README.md +2 -1
  2. package/package.json +1 -1
  3. package/src/assets/bootstrap-diff.scss +15 -24
  4. package/src/assets/form.scss +0 -37
  5. package/src/assets/general.scss +44 -152
  6. package/src/assets/live.scss +39 -0
  7. package/src/assets/modal.scss +14 -18
  8. package/src/assets/multiselect.scss +30 -77
  9. package/src/assets/octopus-library.scss +1 -0
  10. package/src/assets/share.scss +149 -256
  11. package/src/assets/transition.scss +95 -1
  12. package/src/components/display/categories/CategoryChooser.vue +1 -1
  13. package/src/components/display/categories/CategoryList.vue +2 -4
  14. package/src/components/display/comments/CommentInput.vue +2 -2
  15. package/src/components/display/comments/CommentItem.vue +6 -6
  16. package/src/components/display/comments/CommentParentInfo.vue +1 -1
  17. package/src/components/display/edit/EditCommentBox.vue +8 -16
  18. package/src/components/display/emission/EmissionChooser.vue +1 -3
  19. package/src/components/display/emission/EmissionInlineList.vue +11 -2
  20. package/src/components/display/emission/EmissionItem.vue +22 -64
  21. package/src/components/display/emission/EmissionList.vue +59 -68
  22. package/src/components/display/emission/EmissionPlayerItem.vue +9 -8
  23. package/src/components/display/filter/AdvancedSearch.vue +11 -45
  24. package/src/components/display/filter/MonetizableFilter.vue +2 -4
  25. package/src/components/display/filter/ProductorSearch.vue +0 -1
  26. package/src/components/display/filter/RubriqueChoice.vue +4 -6
  27. package/src/components/display/filter/RubriqueFilter.vue +0 -1
  28. package/src/components/display/live/CountDown.vue +4 -2
  29. package/src/components/display/live/LiveHorizontalList.vue +1 -1
  30. package/src/components/display/live/LiveItem.vue +4 -4
  31. package/src/components/display/live/LiveList.vue +84 -214
  32. package/src/components/display/organisation/OrganisationChooser.vue +5 -23
  33. package/src/components/display/participant/ParticipantItem.vue +7 -19
  34. package/src/components/display/participant/ParticipantList.vue +39 -52
  35. package/src/components/display/playlist/PlaylistItem.vue +1 -1
  36. package/src/components/display/playlist/PlaylistList.vue +8 -14
  37. package/src/components/display/playlist/PodcastList.vue +14 -22
  38. package/src/components/display/podcasts/AnimatorsItem.vue +0 -1
  39. package/src/components/display/podcasts/ParticipantDescription.vue +4 -16
  40. package/src/components/display/podcasts/PodcastFilterList.vue +13 -47
  41. package/src/components/display/podcasts/PodcastImage.vue +26 -83
  42. package/src/components/display/podcasts/PodcastInlineList.vue +13 -35
  43. package/src/components/display/podcasts/PodcastItem.vue +4 -4
  44. package/src/components/display/podcasts/PodcastList.vue +7 -14
  45. package/src/components/display/podcasts/PodcastModuleBox.vue +9 -28
  46. package/src/components/display/podcasts/TagList.vue +2 -3
  47. package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
  48. package/src/components/display/rubriques/RubriqueList.vue +5 -25
  49. package/src/components/display/sharing/PlayerParameters.vue +6 -26
  50. package/src/components/display/sharing/ShareButtons.vue +21 -45
  51. package/src/components/display/sharing/ShareDistribution.vue +1 -7
  52. package/src/components/display/sharing/SharePlayer.vue +2 -2
  53. package/src/components/display/sharing/SharePlayerColors.vue +3 -7
  54. package/src/components/display/sharing/SharePlayerTypes.vue +1 -2
  55. package/src/components/display/sharing/SubscribeButtons.vue +1 -3
  56. package/src/components/misc/ErrorMessage.vue +3 -0
  57. package/src/components/misc/HomeDropdown.vue +2 -2
  58. package/src/components/misc/LeftMenu.vue +1 -1
  59. package/src/components/misc/Player.vue +1 -1
  60. package/src/components/misc/PlayerClockAndTimeline.vue +1 -1
  61. package/src/components/misc/PlayerProgressBar.vue +1 -1
  62. package/src/components/misc/TopBar.vue +1 -1
  63. package/src/components/pages/Lives.vue +0 -1
  64. package/src/components/pages/Participant.vue +1 -1
  65. package/src/sass/_variables.scss +0 -1
  66. package/src/store/class/general/media.ts +1 -1
@@ -1,5 +1,99 @@
1
1
  .octopus-app{
2
2
  .transition-height {
3
- transition: height 1s;
3
+ transition: height 1s;
4
4
  }
5
+ .arrow-transform {
6
+ transform: rotate(180deg);
7
+ }
8
+ .bloc-paddle {
9
+ align-items: flex-end;
10
+ display: flex;
11
+ width: 2rem;
12
+ height: 2.6rem;
13
+ padding: 0.7rem;
14
+ justify-content: space-around;
15
+ align-content: flex-start;
16
+ border-radius: 50%;
17
+ background: transparent !important;
18
+
19
+ > span {
20
+ width: 0.1rem;
21
+ margin: 0.05rem;
22
+ background: #fff;
23
+ }
24
+
25
+ .paddle1 {
26
+ animation-duration: 0.6s;
27
+ animation-name: slidein;
28
+ animation-iteration-count: infinite;
29
+ animation-direction: alternate;
30
+ }
31
+
32
+ .paddle2 {
33
+ animation-duration: 0.3s;
34
+ animation-name: slidein2;
35
+ animation-iteration-count: infinite;
36
+ animation-direction: alternate;
37
+ }
38
+
39
+ .paddle3 {
40
+ animation-duration: 0.5s;
41
+ animation-name: slidein3;
42
+ animation-iteration-count: infinite;
43
+ animation-direction: alternate;
44
+ }
45
+ @keyframes slidein {
46
+ 0% {
47
+ height: 0;
48
+ }
49
+ 100% {
50
+ height: 1rem;
51
+ }
52
+ }
53
+
54
+ @keyframes slidein2 {
55
+ 0% {
56
+ height: 0.3rem;
57
+ }
58
+ 100% {
59
+ height: 1.2rem;
60
+ }
61
+ }
62
+
63
+ @keyframes slidein3 {
64
+ 0% {
65
+ height: 1.2rem;
66
+ }
67
+ 100% {
68
+ height: 0;
69
+ }
70
+ }
71
+ }
72
+ .out-left-enter-active,
73
+ .out-left-leave-active,
74
+ .out-right-enter-active,
75
+ .out-right-leave-active {
76
+ transition: all 0.3s ease;
77
+ }
78
+
79
+ .out-left-leave-to,
80
+ .out-right-enter {
81
+ transform: translateX(-110%);
82
+ opacity: 0;
83
+ }
84
+
85
+ .out-left-enter,
86
+ .out-right-leave-to {
87
+ transform: translateX(110%);
88
+ opacity: 0;
89
+ }
90
+
91
+ .out-left-leave-to,
92
+ .out-right-leave-to {
93
+ position: absolute;
94
+ }
95
+ .out-right-leave-to {
96
+ right: 5rem;
97
+ z-index: -1;
98
+ }
5
99
  }
@@ -56,7 +56,7 @@
56
56
  <template #caret="">
57
57
  <div class="position-relative">
58
58
  <span
59
- class="saooti-arrow_down octopus-arrow-down-2 octopus-arrow-down-top"
59
+ class="saooti-arrow_down octopus-arrow-down"
60
60
  />
61
61
  </div>
62
62
  </template>
@@ -19,13 +19,11 @@
19
19
  class="dropdown btn-group"
20
20
  >
21
21
  <button
22
- class="btn dropdown-toggle btn-secondary text-decoration-none text-dark category-item category-item-plus dropdown-toggle-no-caret"
22
+ class="btn dropdown-toggle category-rubrique-item-plus dropdown-toggle-no-caret saooti-plus"
23
23
  data-bs-toggle="dropdown"
24
24
  aria-expanded="false"
25
25
  :aria-label="$t('See more')"
26
- >
27
- <i class="saooti-plus" />
28
- </button>
26
+ />
29
27
  <ul class="dropdown-menu dropdown-menu-right px-4">
30
28
  <div
31
29
  v-for="category in hidenCategories"
@@ -5,7 +5,7 @@
5
5
  >
6
6
  <b
7
7
  v-if="knownIdentity && !editName"
8
- class="small-Text mt-1 c-hand"
8
+ class="small-text mt-1 c-hand"
9
9
  @click="changeIdentity"
10
10
  >{{ knownIdentity }}</b>
11
11
  <div
@@ -14,7 +14,7 @@
14
14
  >
15
15
  <input
16
16
  v-model="temporaryName"
17
- class="small-Text mt-1"
17
+ class="small-text mt-1"
18
18
  type="text"
19
19
  :class="{ 'border border-danger': temporaryName.length < 2 }"
20
20
  >
@@ -1,13 +1,13 @@
1
1
  <template>
2
2
  <div class="d-flex flex-column mt-2 mb-1 item-comment">
3
- <div class="d-flex small-Text">
3
+ <div class="d-flex small-text">
4
4
  <template v-if="!isEditing">
5
5
  <b
6
6
  v-if="
7
7
  recordingInLive &&
8
8
  ('Live' === comment.phase || 'Prelive' === comment.phase)
9
9
  "
10
- class="recording-bg me-1 text-light p-01"
10
+ class="recording-bg me-1 text-light p-1"
11
11
  >{{ $t('Live') }}</b>
12
12
  <b
13
13
  v-if="editRight || comment.status == 'Valid'"
@@ -92,7 +92,7 @@
92
92
  >
93
93
  <button
94
94
  v-if="null === comment.commentIdReferer && 'Valid' === comment.status"
95
- class="btn btn-answer primary-color me-2"
95
+ class="btn py-1 px-3 primary-color me-2"
96
96
  :data-selenium="'answer-button-comment-' + seleniumFormat(comment.name)"
97
97
  @click="answerComment"
98
98
  >
@@ -104,7 +104,7 @@
104
104
  (isFlat && comment.commentIdReferer)
105
105
  "
106
106
  :id="'commentItem'+comment.comId"
107
- class="primary-color c-hand d-flex align-items-center small-Text input-no-outline"
107
+ class="primary-color c-hand d-flex align-items-center small-text input-no-outline"
108
108
  type="button"
109
109
  data-bs-toggle="collapse"
110
110
  :data-bs-target="'#commentItemDetail'+comment.comId"
@@ -124,7 +124,7 @@
124
124
  <div v-else>
125
125
  {{ $t('In response to') }}
126
126
  </div>
127
- <span class="saooti-arrow_down saooti-arrow_down-margin" />
127
+ <span class="saooti-arrow_down" />
128
128
  </div>
129
129
  <div class="d-flex align-items-center when-opened">
130
130
  <div v-if="comment.relatedComments">
@@ -134,7 +134,7 @@
134
134
  {{ $t('In response to') }}
135
135
  </div>
136
136
  <span
137
- class="saooti-arrow_down saooti-arrow_down-margin arrow-transform me-2"
137
+ class="saooti-arrow_down arrow-transform me-2"
138
138
  />
139
139
  </div>
140
140
  </div>
@@ -10,7 +10,7 @@
10
10
  </div>
11
11
  </div>
12
12
  <div v-else>
13
- <div class="d-flex small-Text">
13
+ <div class="d-flex small-text">
14
14
  <b class="me-2">{{ comment.name }}</b>
15
15
  <img
16
16
  v-if="comment.certified"
@@ -1,35 +1,27 @@
1
1
  <template>
2
2
  <div class="d-flex">
3
3
  <button
4
- class="btn btn-circle primary-color me-1"
4
+ class="btn btn-comment-edit saooti-edit-bounty"
5
5
  aria-label="edit"
6
6
  @click="editComment"
7
- >
8
- <span class="saooti-edit-bounty" />
9
- </button>
7
+ />
10
8
  <button
11
9
  v-if="'Pending' === comment.status || 'Invalid' === comment.status"
12
- class="btn btn-circle primary-color me-1"
10
+ class="btn btn-comment-edit saooti-valid-stud"
13
11
  aria-label="valid"
14
12
  @click="validComment"
15
- >
16
- <span class="saooti-valid-stud" />
17
- </button>
13
+ />
18
14
  <button
19
15
  v-if="'Pending' === comment.status || 'Valid' === comment.status"
20
- class="btn btn-circle primary-color me-1"
16
+ class="btn btn-comment-edit saooti-cross"
21
17
  aria-label="invalid"
22
18
  @click="invalidComment"
23
- >
24
- <span class="saooti-cross" />
25
- </button>
19
+ />
26
20
  <button
27
- class="btn btn-circle primary-color me-1"
21
+ class="btn btn-comment-edit saooti-bin"
28
22
  aria-label="delete"
29
23
  @click="deleteComment"
30
- >
31
- <span class="saooti-bin" />
32
- </button>
24
+ />
33
25
  </div>
34
26
  </template>
35
27
 
@@ -1,7 +1,6 @@
1
1
  <template>
2
2
  <div
3
3
  class="default-multiselect-width"
4
- :class="{ 'multiselect-hide-arrow': !displayArrow }"
5
4
  :style="{ width: width }"
6
5
  >
7
6
  <label
@@ -72,7 +71,7 @@
72
71
  <template #caret="">
73
72
  <div class="position-relative">
74
73
  <span
75
- class="saooti-arrow_down octopus-arrow-down-2 octopus-arrow-down-top"
74
+ class="saooti-arrow_down octopus-arrow-down"
76
75
  />
77
76
  </div>
78
77
  </template>
@@ -120,7 +119,6 @@ export default defineComponent({
120
119
  defaultanswer: { default: '', type: String },
121
120
  organisationId: { default: undefined, type: String},
122
121
  emissionChosen: { default: undefined, type: Object as ()=>Emission},
123
- displayArrow: { default: true, type: Boolean },
124
122
  distributedBy: { default: undefined, type: String},
125
123
  organisationDistributedBy: { default: undefined, type: String},
126
124
  reset: { default: false, type: Boolean },
@@ -37,7 +37,7 @@
37
37
  (displayRubriquage && rubriques) || !(displayRubriquage && loaded)
38
38
  "
39
39
  :name="transitionName"
40
- class="podcast-list-inline"
40
+ class="element-list-inline"
41
41
  tag="ul"
42
42
  :class="[
43
43
  alignLeft ? 'justify-content-start' : '',
@@ -257,7 +257,16 @@ export default defineComponent({
257
257
  </script>
258
258
 
259
259
  <style lang="scss">
260
- .podcast-list-inline.overflowScroll {
260
+ .list-episode {
261
+ padding: 2rem 0rem 1rem !important;
262
+ @media (max-width: 450px) {
263
+ padding: 0.5rem 0rem 1rem !important;
264
+ }
265
+ h2 {
266
+ margin-bottom: 1rem;
267
+ }
268
+ }
269
+ .element-list-inline.overflowScroll {
261
270
  display: flex;
262
271
  flex-wrap: wrap;
263
272
  -webkit-overflow-scrolling: touch;
@@ -1,11 +1,6 @@
1
1
  <template>
2
2
  <li
3
- class="mt-3"
4
- :class="
5
- lightItems
6
- ? 'noList emission-light-max-size'
7
- : 'emission-item-container shadow-element'
8
- "
3
+ class="mt-3 emission-item-container shadow-element"
9
4
  >
10
5
  <router-link
11
6
  :to="{
@@ -14,40 +9,14 @@
14
9
  query: { productor: $store.state.filter.organisationId },
15
10
  }"
16
11
  :aria-label="$t('Emission')"
17
- class="text-dark"
12
+ class="d-flex text-dark"
18
13
  >
19
14
  <div
20
- v-if="!lightItems"
21
15
  class="img-box"
22
16
  :style="{ 'background-image': 'url(\'' + emission.imageUrl + '\')' }"
23
17
  />
24
- <div
25
- v-else
26
- class="d-flex"
27
- >
18
+ <div class="emission-item-text">
28
19
  <div
29
- class="img-box-light flex-shrink-0"
30
- :style="{ 'background-image': 'url(\'' + emission.imageUrl + '\')' }"
31
- />
32
- <div class="emission-light-title">
33
- {{ name }}
34
- </div>
35
- </div>
36
- </router-link>
37
- <div
38
- class="emission-item-text"
39
- :class="lightItems ? 'p-0' : ''"
40
- >
41
- <router-link
42
- :to="{
43
- name: 'emission',
44
- params: { emissionId: emission.emissionId },
45
- query: { productor: $store.state.filter.organisationId },
46
- }"
47
- class="text-dark"
48
- >
49
- <div
50
- v-if="!lightItems"
51
20
  class="emission-name"
52
21
  >
53
22
  <img
@@ -55,36 +24,34 @@
55
24
  class="icon-caution"
56
25
  src="/img/caution.png"
57
26
  :title="$t('Emission have not podcasts')"
58
- >{{ name }}
27
+ >{{ emission.name }}
59
28
  </div>
60
29
  <div
61
30
  :id="'description-emission-container-' + emission.emissionId"
62
31
  class="emission-description htms-wysiwyg-content"
63
- :class="lightItems ? 'emission-small-description' : ''"
64
32
  >
65
33
  <!-- eslint-disable vue/no-v-html -->
66
34
  <div
67
35
  :id="'description-emission-' + emission.emissionId"
68
- v-html="urlify(description)"
36
+ v-html="urlify(emission.description|| '')"
69
37
  />
70
- <!-- eslint-enable -->
71
- </div>
72
- </router-link>
73
- <div class="flex-grow-1" />
74
- <router-link
75
- v-if="!isPodcastmaker"
76
- :to="{
77
- name: 'productor',
78
- params: { productorId: emission.orga.id },
79
- query: { productor: $store.state.filter.organisationId },
80
- }"
81
- class="text-dark"
82
- >
83
- <div class="emission-producer primary-color">
84
- © {{ emission.orga.name }}
38
+ <!-- eslint-enable -->
85
39
  </div>
86
- </router-link>
87
- </div>
40
+ <div class="flex-grow-1" />
41
+ <router-link
42
+ v-if="!isPodcastmaker"
43
+ :to="{
44
+ name: 'productor',
45
+ params: { productorId: emission.orga.id },
46
+ query: { productor: $store.state.filter.organisationId },
47
+ }"
48
+ >
49
+ <div class="emission-producer">
50
+ © {{ emission.orga.name }}
51
+ </div>
52
+ </router-link>
53
+ </div>
54
+ </router-link>
88
55
  </li>
89
56
  </template>
90
57
 
@@ -115,19 +82,10 @@ export default defineComponent({
115
82
  },
116
83
  organisation(): string {
117
84
  if(this.emission && this.emission.publisher && this.emission.publisher.organisation){
118
- return '' + this.emission.publisher.organisation.name;
85
+ return this.emission.publisher.organisation.name;
119
86
  }
120
87
  return '';
121
88
  },
122
- lightItems(): boolean {
123
- return (state.emissionsPage.lightItems as boolean);
124
- },
125
- description(): string {
126
- return this.emission.description || '';
127
- },
128
- name(): string {
129
- return this.emission.name;
130
- },
131
89
  organisationId(): string|undefined {
132
90
  return state.generalParameters.organisationId;
133
91
  },
@@ -1,68 +1,64 @@
1
1
  <template>
2
2
  <div class="d-flex flex-column align-items-center">
3
- <div
4
- v-if="loading"
5
- class="d-flex justify-content-center"
6
- >
7
- <div class="spinner-border me-3" />
8
- <h3 class="mt-2">
9
- {{ $t('Loading emissions ...') }}
10
- </h3>
11
- </div>
12
- <div
13
- v-if="showCount && loaded && emissions.length > 1"
14
- class="text-secondary mb-2"
15
- >
16
- {{ $t('Number emissions', { nb: displayCount }) + sortText }}
17
- </div>
18
- <ul
19
- v-if="!itemPlayer"
20
- class="emission-list"
21
- :class="smallItems ? 'threeEmissions' : 'twoEmissions'"
22
- >
23
- <EmissionItem
24
- v-for="e in emissions"
25
- :key="e.emissionId"
26
- :emission="e"
27
- />
28
- </ul>
29
- <ul
30
- v-show="
31
- (displayRubriquage && rubriques) || !(displayRubriquage && loaded)
32
- "
33
- v-else
34
- class="d-flex flex-wrap justify-content-around"
35
- >
36
- <EmissionPlayerItem
37
- v-for="e in emissions"
38
- :key="e.emissionId"
39
- :emission="e"
40
- class="m-3 flex-shrink-0"
41
- :class="mainRubriquage(e)"
42
- :rubrique-name="rubriquesId(e)"
43
- @emissionNotVisible="displayCount--"
44
- />
45
- </ul>
46
- <button
47
- v-show="!allFetched && loaded"
48
- class="btn"
49
- :class="buttonPlus ? 'btn-linkPlus' : 'btn-more'"
50
- :disabled="inFetching"
51
- :aria-label="$t('See more')"
52
- @click="displayMore"
53
- >
54
- <template v-if="buttonPlus">
55
- {{ $t('See more') }}
56
- </template>
57
- <div class="saooti-plus" />
58
- </button>
3
+ <ClassicLoading
4
+ :loading-text="loading?$t('Loading emissions ...'):undefined"
5
+ />
6
+ <template v-if="isLoadingMoreOrFinished">
7
+ <div
8
+ v-if="showCount && emissions.length > 1"
9
+ class="text-secondary mb-2"
10
+ >
11
+ {{ $t('Number emissions', { nb: displayCount }) + sortText }}
12
+ </div>
13
+ <ul
14
+ v-if="!itemPlayer"
15
+ class="emission-list"
16
+ :class="smallItems ? 'three-emissions' : 'two-emissions'"
17
+ >
18
+ <EmissionItem
19
+ v-for="e in emissions"
20
+ :key="e.emissionId"
21
+ :emission="e"
22
+ />
23
+ </ul>
24
+ <div
25
+ v-show="
26
+ (displayRubriquage && rubriques) || !(displayRubriquage)
27
+ "
28
+ v-else
29
+ class="d-flex flex-wrap justify-content-around"
30
+ >
31
+ <EmissionPlayerItem
32
+ v-for="e in emissions"
33
+ :key="e.emissionId"
34
+ :emission="e"
35
+ class="m-3 flex-shrink-0"
36
+ :class="mainRubriquage(e)"
37
+ :rubrique-name="rubriquesId(e)"
38
+ @emissionNotVisible="displayCount--"
39
+ />
40
+ </div>
41
+ <button
42
+ v-show="!allFetched"
43
+ class="btn"
44
+ :class="buttonPlus ? 'btn-link-plus' : 'btn-more'"
45
+ :disabled="loading"
46
+ :aria-label="$t('See more')"
47
+ @click="fetchContent(false)"
48
+ >
49
+ <template v-if="buttonPlus">
50
+ {{ $t('See more') }}
51
+ </template>
52
+ <div class="saooti-plus" />
53
+ </button>
54
+ </template>
59
55
  </div>
60
56
  </template>
61
57
 
62
58
  <script lang="ts">
63
59
  import octopusApi from '@saooti/octopus-api';
64
60
  import { state } from '../../../store/paramStore';
65
-
61
+ import ClassicLoading from '../../form/ClassicLoading.vue';
66
62
  import { Emission } from '@/store/class/general/emission';
67
63
  import { Rubrique } from '@/store/class/rubrique/rubrique';
68
64
  import { defineComponent, defineAsyncComponent } from 'vue';
@@ -75,6 +71,7 @@ export default defineComponent({
75
71
  components: {
76
72
  EmissionItem,
77
73
  EmissionPlayerItem,
74
+ ClassicLoading
78
75
  },
79
76
 
80
77
  props: {
@@ -97,18 +94,19 @@ export default defineComponent({
97
94
  data() {
98
95
  return {
99
96
  loading: true as boolean,
100
- loaded: false as boolean,
101
97
  dfirst: this.first as number,
102
98
  dsize: this.size as number,
103
99
  totalCount: 0 as number,
104
100
  displayCount: 0 as number,
105
101
  emissions: [] as Array<Emission>,
106
102
  rubriques: undefined as Array<Rubrique>|undefined,
107
- inFetching: false as boolean,
108
103
  };
109
104
  },
110
105
 
111
106
  computed: {
107
+ isLoadingMoreOrFinished():boolean{
108
+ return !this.loading || this.emissions.length > 1;
109
+ },
112
110
  allFetched(): boolean {
113
111
  return this.dfirst >= this.totalCount;
114
112
  },
@@ -165,12 +163,10 @@ export default defineComponent({
165
163
  },
166
164
  methods: {
167
165
  async fetchContent(reset: boolean): Promise<void> {
168
- this.inFetching = true;
166
+ this.loading = true;
169
167
  if (reset) {
170
168
  this.emissions.length = 0;
171
169
  this.dfirst = 0;
172
- this.loading = true;
173
- this.loaded = false;
174
170
  }
175
171
  const param: FetchParam = {
176
172
  first: this.dfirst,
@@ -196,7 +192,6 @@ export default defineComponent({
196
192
  this.dfirst = 0;
197
193
  }
198
194
  this.loading = false;
199
- this.loaded = true;
200
195
  this.displayCount = data.count;
201
196
  this.emissions = this.emissions.concat(data.result).filter((e: Emission|null) => {
202
197
  if (null === e) {
@@ -206,11 +201,7 @@ export default defineComponent({
206
201
  });
207
202
  this.dfirst += this.dsize;
208
203
  this.totalCount = data.count;
209
- this.inFetching = false;
210
- },
211
- displayMore(event: { preventDefault: () => void }): void {
212
- event.preventDefault();
213
- this.fetchContent(false);
204
+ this.loading = false;
214
205
  },
215
206
  async fetchRubriques(): Promise<void> {
216
207
  const data = await octopusApi.fetchTopic(this.displayRubriquage);
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <li
2
+ <div
3
3
  class="emission-player-container shadow-element"
4
4
  >
5
5
  <router-link
@@ -17,7 +17,7 @@
17
17
  {{ rubriqueName }}
18
18
  </div>
19
19
  <div
20
- class="img-box no-border-round"
20
+ class="img-box rounded-0"
21
21
  :style="{
22
22
  'background-image':
23
23
  'url(\'' + emission.imageUrl + '?dummy=' + dummyParam + '\')',
@@ -31,7 +31,7 @@
31
31
  </div>
32
32
  </div>
33
33
  <div class="d-flex flex-column p-2">
34
- <div class="fw-bold text-uppercase text-ellipsis">
34
+ <div class="fw-bold text-uppercase text-truncate">
35
35
  {{ emission.name }}
36
36
  </div>
37
37
  <div
@@ -61,7 +61,7 @@
61
61
  }"
62
62
  class="d-flex flex-column define-width text-dark"
63
63
  >
64
- <div class="fw-bold text-ellipsis">
64
+ <div class="fw-bold text-truncate">
65
65
  {{ p.title }}
66
66
  </div>
67
67
  <div
@@ -117,7 +117,7 @@
117
117
  {{ $t('More episodes') }}
118
118
  </router-link>
119
119
  </div>
120
- </li>
120
+ </div>
121
121
  </template>
122
122
 
123
123
  <script lang="ts">
@@ -238,6 +238,9 @@ export default defineComponent({
238
238
  height: min-content;
239
239
  border-radius: 0.8rem;
240
240
  overflow: hidden;
241
+ .emission-item-border-color {
242
+ border-color: #ddd;
243
+ }
241
244
  .emission-description {
242
245
  overflow: hidden;
243
246
  margin-top: 0.5em;
@@ -266,7 +269,5 @@ export default defineComponent({
266
269
  }
267
270
  }
268
271
  }
269
- .emission-item-border-color {
270
- border-color: #ddd;
271
- }
272
+
272
273
  </style>