@saooti/octopus-sdk 32.0.41 → 33.0.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.
- package/README.md +1 -1
- package/docker-compose.sonar.yml +8 -0
- package/package.json +13 -3
- package/public/css/fonts/icomoon.eot +0 -0
- package/public/css/fonts/icomoon.svg +1 -0
- package/public/css/fonts/icomoon.ttf +0 -0
- package/public/css/fonts/icomoon.woff +0 -0
- package/public/css/fonts/style.css +35 -32
- package/sonarqube-scanner.js +18 -0
- package/src/assets/bootstrap-diff.scss +0 -1
- package/src/assets/general.scss +2 -3
- package/src/assets/multiselect.scss +0 -4
- package/src/assets/share.scss +0 -8
- package/src/components/display/categories/CategoryList.vue +2 -3
- package/src/components/display/comments/AddCommentModal.vue +4 -1
- package/src/components/display/comments/CommentBasicView.vue +4 -4
- package/src/components/display/comments/CommentInput.vue +2 -2
- package/src/components/display/comments/CommentItem.vue +32 -25
- package/src/components/display/comments/CommentList.vue +34 -21
- package/src/components/display/comments/CommentSection.vue +2 -3
- package/src/components/display/edit/EditBox.vue +0 -1
- package/src/components/display/emission/EmissionChooser.vue +1 -1
- package/src/components/display/emission/EmissionItem.vue +2 -2
- package/src/components/display/emission/EmissionList.vue +4 -4
- package/src/components/display/filter/AdvancedSearch.vue +1 -1
- package/src/components/display/filter/DateFilter.vue +2 -2
- package/src/components/display/filter/SearchOrder.vue +1 -1
- package/src/components/display/list/ListPaginate.vue +6 -3
- package/src/components/display/list/Paginate.vue +32 -28
- package/src/components/display/live/LiveHorizontalList.vue +4 -4
- package/src/components/display/live/LiveList.vue +41 -33
- package/src/components/display/participant/ParticipantItem.vue +3 -3
- package/src/components/display/participant/ParticipantList.vue +4 -9
- package/src/components/display/playlist/PlaylistItem.vue +3 -3
- package/src/components/display/playlist/PlaylistList.vue +4 -4
- package/src/components/display/playlist/PodcastList.vue +2 -2
- package/src/components/display/playlist/PodcastPlaylistInlineList.vue +1 -1
- package/src/components/display/podcasts/ParticipantDescription.vue +1 -1
- package/src/components/display/podcasts/PodcastImage.vue +3 -3
- package/src/components/display/podcasts/PodcastInlineList.vue +2 -0
- package/src/components/display/podcasts/PodcastInlineListClassic.vue +22 -1
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +7 -4
- package/src/components/display/podcasts/PodcastItem.vue +2 -2
- package/src/components/display/podcasts/PodcastList.vue +4 -4
- package/src/components/display/podcasts/PodcastSwiperList.vue +1 -1
- package/src/components/display/rubriques/RubriqueChooser.vue +1 -1
- package/src/components/display/rubriques/RubriqueList.vue +2 -2
- package/src/components/display/sharing/PlayerParameters.vue +1 -1
- package/src/components/display/sharing/QrCode.vue +1 -2
- package/src/components/display/sharing/ShareButtonsIntern.vue +1 -2
- package/src/components/display/sharing/ShareDistribution.vue +1 -2
- package/src/components/display/sharing/SharePlayer.vue +47 -33
- package/src/components/display/sharing/SharePlayerTypes.vue +1 -1
- package/src/components/form/ClassicSelect.vue +13 -1
- package/src/components/misc/Footer.vue +1 -1
- package/src/components/misc/modal/NewsletterModal.vue +2 -3
- package/src/components/misc/modal/ShareModalPlayer.vue +1 -2
- package/src/components/mixins/functions.ts +3 -14
- package/src/components/mixins/player/playerComment.ts +34 -27
- package/src/components/mixins/player/playerLive.ts +1 -10
- package/src/components/mixins/player/playerLogic.ts +40 -29
- package/src/components/pages/Podcast.vue +4 -0
- package/src/helper/duration.ts +7 -36
- package/src/i18n.ts +1 -1
- package/src/locale/it.ts +0 -1
- package/src/main.ts +3 -10
- package/src/store/class/adserver/adserverConfig.ts +1 -1
- package/src/store/class/general/emission.ts +1 -1
- package/src/store/class/general/organisation.ts +1 -1
- package/src/store/class/general/podcast.ts +1 -1
- package/src/store/paramStore.ts +15 -13
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saooti/octopus-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "33.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Javascript SDK for using octopus",
|
|
6
6
|
"author": "Saooti",
|
|
@@ -11,21 +11,26 @@
|
|
|
11
11
|
"lint": "eslint --ext .js,.vue --ignore-path .gitignore --fix src",
|
|
12
12
|
"build_bundle": "vue-cli-service build --target lib --name octopus ./index.js",
|
|
13
13
|
"prettifile": "prettier --single-quote --trailing-comma es5 --write",
|
|
14
|
-
"prettify": "prettier --single-quote --trailing-comma es5 --write src/**/**/**/*.{js,vue}"
|
|
14
|
+
"prettify": "prettier --single-quote --trailing-comma es5 --write src/**/**/**/*.{js,vue}",
|
|
15
|
+
"sonar": "node sonarqube-scanner.js",
|
|
16
|
+
"test": "jest --coverage"
|
|
15
17
|
},
|
|
16
18
|
"dependencies": {
|
|
17
|
-
"@saooti/octopus-api": "^0.
|
|
19
|
+
"@saooti/octopus-api": "^0.33.0",
|
|
18
20
|
"@vue/cli": "^5.0.8",
|
|
19
21
|
"@vue/compat": "^3.2.37",
|
|
20
22
|
"autoprefixer": "^10.4.8",
|
|
21
23
|
"axios": "^0.24.0",
|
|
22
24
|
"bootstrap": "5.2.0",
|
|
25
|
+
"express": "^4.18.2",
|
|
23
26
|
"hls.js": "^1.1.5",
|
|
24
27
|
"humanize-duration": "^3.27.2",
|
|
28
|
+
"jest": "^29.1.2",
|
|
25
29
|
"jquery": "^3.5.14",
|
|
26
30
|
"moment": "^2.29.4",
|
|
27
31
|
"qrcode.vue": "^3.3.3",
|
|
28
32
|
"sass": "^1.53.0",
|
|
33
|
+
"sonarqube-scanner": "^2.8.2",
|
|
29
34
|
"swiper": "^8.3.1",
|
|
30
35
|
"v-calendar": "^3.0.0-alpha.8",
|
|
31
36
|
"vite": "^3.0.4",
|
|
@@ -94,5 +99,10 @@
|
|
|
94
99
|
"repository": {
|
|
95
100
|
"type": "git",
|
|
96
101
|
"url": "git+https://github.com/saooti/octopus-sdk.git"
|
|
102
|
+
},
|
|
103
|
+
"jestSonar": {
|
|
104
|
+
"reportPath": "coverage",
|
|
105
|
+
"reportFile": "test-reporter.xml",
|
|
106
|
+
"indent": 4
|
|
97
107
|
}
|
|
98
108
|
}
|
|
Binary file
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
<glyph unicode="" glyph-name="disconnected" d="M953.728 673.082l-138.777-137.799-187.398 187.398 137.556 137.556c16.126 16.126 16.126 42.024 0 58.15s-42.024 16.126-58.15 0l-137.556-137.799-53.996 54.485c-16.126 16.126-42.024 16.126-58.15 0-62.791-62.791-97.242-146.35-97.242-235.042 0-61.081 16.37-119.963 47.155-171.028-41.536-49.109-53.263-90.401-63.77-127.293-10.751-38.116-20.28-70.855-64.746-115.566-44.711-44.711-77.452-53.996-115.566-64.746-42.757-12.216-91.378-26.144-150.993-85.758-16.126-16.126-16.126-42.024 0-58.15 8.062-8.062 18.569-11.971 29.075-11.971s21.013 3.91 29.075 11.971c44.711 44.711 77.452 53.996 115.566 64.746 42.757 12.216 91.378 26.144 150.993 85.758s73.542 108.236 85.758 151.237c8.062 28.342 15.393 53.996 37.137 83.803 62.547-61.326 145.13-95.286 232.841-95.286 88.69 0 172.249 34.695 235.042 97.242 7.818 7.818 11.971 18.080 11.971 29.075s-4.398 21.257-11.971 29.075l-54.24 54.24 138.533 137.556c16.126 15.882 16.126 42.024 0.244 58.15-16.126 15.882-42.268 15.882-58.393 0v0z" />
|
|
42
42
|
<glyph unicode="" glyph-name="feed" d="M874.361 810.23c-16.177 16.177-40.981 16.177-57.157 0s-16.177-40.981 0-57.157c168.238-168.238 168.238-442.169 0-610.405-16.177-16.177-16.177-40.981 0-57.157 7.549-7.549 18.336-11.865 29.118-11.865s20.492 4.314 28.040 11.865c199.517 199.517 199.517 525.21 0 724.723zM740.632 677.576c-16.177 16.179-40.981 16.179-57.157 0s-16.177-40.981 0-57.157c46.374-46.374 71.178-106.769 71.178-172.55 0-64.707-24.806-126.176-71.178-171.472-16.177-16.177-16.177-40.981 0-57.157 7.549-7.549 18.336-11.865 29.118-11.865s20.492 4.314 28.040 11.865c61.473 60.395 95.982 142.356 94.904 228.633 0 86.277-33.431 168.238-94.904 229.711zM206.796 753.069c16.177 16.177 16.177 40.981 0 57.157s-40.981 16.177-57.157 0c-199.517-199.517-199.517-525.21 0-724.723 7.547-7.549 18.334-11.865 28.040-11.865 10.783 0 20.492 4.314 29.116 11.865 16.177 16.177 16.177 40.981 0 57.157-168.238 168.238-168.238 442.169 0 610.405zM339.447 619.337c16.179 16.179 16.179 40.981 0 57.157s-40.981 16.179-57.157 0c-126.176-126.179-126.176-331.086 1.078-458.346 7.549-7.549 18.334-11.865 29.116-11.865s20.492 4.314 28.040 11.865c16.179 16.177 16.179 40.981 0 57.157-94.904 94.904-95.982 249.125-1.078 344.029zM645.728 447.865c0-73.854-59.871-133.729-133.729-133.729s-133.729 59.871-133.729 133.729c0 73.856 59.871 133.729 133.729 133.729s133.729-59.871 133.729-133.729z" />
|
|
43
43
|
<glyph unicode="" glyph-name="headphones" d="M921.597 437.765v61.443c0 225.278-184.32 409.598-409.598 409.598s-409.598-184.32-409.598-409.598v-61.443c-61.443-20.485-102.402-76.797-102.402-143.362v-153.604c0-87.040 66.565-153.604 153.604-153.604s153.604 66.565 153.604 153.604v153.604c0 66.565-40.958 122.877-102.402 143.362v61.443c0 168.957 138.24 307.195 307.195 307.195s307.195-138.24 307.195-307.195v-61.443c-61.443-20.485-102.402-76.797-102.402-143.362v-153.604c0-87.040 66.565-153.604 153.604-153.604s153.604 66.565 153.604 153.604v153.604c0 66.565-40.96 122.877-102.402 143.362z" />
|
|
44
|
+
<glyph unicode="" glyph-name="text-to-speech" d="M906.77 926.296h-481.423c-64.672 0-117.229-52.558-117.229-117.229v-22.078h59.397v22.078c0 32.433 25.4 57.834 57.834 57.834h481.423c32.433 0 57.834-25.4 57.834-57.834v-722.134c0-32.433-25.4-57.834-57.834-57.834h-481.423c-32.433 0-57.834 25.4-57.834 57.834v13.677h-59.397v-13.677c0-64.672 52.558-117.229 117.229-117.229h481.423c64.672 0 117.229 52.558 117.229 117.229v722.134c0 64.672-52.558 117.229-117.229 117.229zM873.946 565.229h-282.718v-59.397h282.718c16.412 0 29.698 13.285 29.698 29.698s-13.285 29.698-29.698 29.698zM873.946 740.292h-404.833c-16.412 0-29.698-13.285-29.698-29.698s13.285-29.698 29.698-29.698h404.833c16.412 0 29.698 13.285 29.698 29.698s-13.285 29.698-29.698 29.698zM428.474 185.406c0-16.412 13.285-29.698 29.698-29.698h415.774c16.412 0 29.698 13.285 29.698 29.698s-13.285 29.698-29.698 29.698h-415.774c-16.412 0-29.698-13.285-29.698-29.698zM873.946 390.166h-282.718v-59.397h282.718c16.412 0 29.698 13.285 29.698 29.698s-13.285 29.698-29.698 29.698zM485.135 539.048v-181.901c0-16.607 13.677-30.284 30.284-30.284s30.284 13.482 30.284 30.284v181.901c0 16.607-13.482 30.284-30.284 30.284-16.607 0-30.284-13.677-30.284-30.284zM30.283 508.568c-16.803 0-30.284-13.482-30.284-30.284v-60.569c0-16.607 13.677-30.284 30.284-30.284s30.284 13.482 30.284 30.284v60.569c0 16.607-13.482 30.284-30.284 30.284v0zM121.333 569.332v-242.665c0-16.607 13.482-30.284 30.284-30.284 16.607 0 30.284 13.482 30.284 30.284v242.665c0 16.607-13.482 30.284-30.284 30.284s-30.284-13.677-30.284-30.284zM242.665 720.949v-545.899c0-16.607 13.482-30.284 30.284-30.284 16.607 0 30.284 13.482 30.284 30.284v545.899c0 16.607-13.482 30.284-30.284 30.284s-30.284-13.677-30.284-30.284zM394.282 660.185c-16.803 0-30.48-13.482-30.284-30.284v-363.998c0-16.607 13.482-30.284 30.284-30.284 16.607 0 30.284 13.482 30.284 30.284v363.998c0 16.607-13.482 30.284-30.284 30.284v0z" />
|
|
44
45
|
<glyph unicode="" glyph-name="export" horiz-adv-x="820" d="M746.329 845.36c16.856 16.856 44.182 16.856 61.030 0 16.856-16.849 16.856-44.175 0-61.030l-388.425-388.425c-16.849-16.856-44.175-16.856-61.030 0s-16.856 44.182 0 61.030zM733.677 771.68h-172.632c-23.837 0-43.155 19.326-43.155 43.163s19.32 43.155 43.155 43.155h215.799c23.837 0 43.155-19.32 43.155-43.155v-215.799c0-23.837-19.32-43.155-43.155-43.155s-43.163 19.32-43.163 43.155zM647.374 404.841c0 23.837 19.32 43.155 43.155 43.155s43.155-19.32 43.155-43.155v-242.766c0-68.531-55.547-124.077-124.077-124.077h-485.532c-68.531 0-124.077 55.547-124.077 124.077v485.532c0 68.531 55.547 124.077 124.077 124.077h263.001c23.837 0 43.155-19.32 43.155-43.155s-19.32-43.155-43.155-43.155h-263.001c-20.859 0-37.767-16.906-37.767-37.767v-485.532c0-20.859 16.906-37.767 37.767-37.767h485.532c20.859 0 37.767 16.906 37.767 37.767z" />
|
|
45
46
|
<glyph unicode="" glyph-name="send" horiz-adv-x="820" d="M425 422.657l-334.37-33.308-88.397-281.845c-7.687-23.062 5.126-47.402 28.184-55.087 10.249-3.843 21.778-2.562 32.029 2.562l734.080 354.87c20.499 10.251 29.465 34.587 19.218 56.37-3.843 8.968-10.251 15.373-19.218 19.216l-732.799 356.151c-21.778 10.251-47.4 1.281-58.93-20.499-5.126-10.249-6.405-21.778-2.56-32.027l88.397-281.843 334.37-32.029c14.094-1.279 25.622-14.094 23.062-29.465 0-12.811-10.249-21.778-23.062-23.062v0z" />
|
|
46
47
|
<glyph unicode="" glyph-name="search" horiz-adv-x="820" d="M803.702 129.737l-132.279 132.279c47.436 63.527 73.349 142.309 73.349 223.599 0 99.052-38.451 192.253-108.247 262.677-70.214 70.841-164.042 109.71-264.14 109.71-98.634 0-191.836-38.869-262.677-109.71s-109.71-164.251-109.71-262.886c0-100.097 39.078-193.925 109.71-264.14 70.423-69.796 163.624-108.247 262.677-108.247 81.29 0 160.072 25.912 223.599 73.349l132.279-132.279c10.24-10.24 23.823-16.091 37.824-16.091s27.375 5.642 37.824 16.091 16.091 23.823 16.091 37.824c-0.418 14.001-6.060 27.375-16.3 37.824zM637.152 485.406c0-146.071-118.696-264.766-264.766-264.766s-264.766 118.696-264.766 264.766c0 143.563 121.203 264.766 264.766 264.766 145.862 0 264.766-118.696 264.766-264.766z" />
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
@font-face {
|
|
2
2
|
font-family: 'icomoon';
|
|
3
|
-
src: url('/css/fonts/icomoon.eot?
|
|
4
|
-
src: url('/css/fonts/icomoon.eot?
|
|
5
|
-
url('/css/fonts/icomoon.ttf?
|
|
6
|
-
url('/css/fonts/icomoon.woff?
|
|
7
|
-
url('/css/fonts/icomoon.svg?
|
|
3
|
+
src: url('/css/fonts/icomoon.eot?svfrvx');
|
|
4
|
+
src: url('/css/fonts/icomoon.eot?svfrvx#iefix') format('embedded-opentype'),
|
|
5
|
+
url('/css/fonts/icomoon.ttf?svfrvx') format('truetype'),
|
|
6
|
+
url('/css/fonts/icomoon.woff?svfrvx') format('woff'),
|
|
7
|
+
url('/css/fonts/icomoon.svg?svfrvx#icomoon') format('svg');
|
|
8
8
|
font-weight: normal;
|
|
9
9
|
font-style: normal;
|
|
10
10
|
font-display: block;
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
-moz-osx-font-smoothing: grayscale;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
.saooti-text-to-speech:before {
|
|
29
|
+
content: "\e922";
|
|
30
|
+
}
|
|
28
31
|
.saooti-left:before {
|
|
29
32
|
content: "\e900";
|
|
30
33
|
}
|
|
@@ -220,87 +223,87 @@
|
|
|
220
223
|
}
|
|
221
224
|
.saooti-stitcher-logo .path2:before {
|
|
222
225
|
content: "\e94b";
|
|
223
|
-
|
|
226
|
+
|
|
224
227
|
color: rgb(0, 0, 0);
|
|
225
228
|
}
|
|
226
229
|
.saooti-stitcher-logo .path3:before {
|
|
227
230
|
content: "\e94c";
|
|
228
|
-
|
|
231
|
+
|
|
229
232
|
color: rgb(0, 0, 0);
|
|
230
233
|
}
|
|
231
234
|
.saooti-stitcher-logo .path4:before {
|
|
232
235
|
content: "\e94d";
|
|
233
|
-
|
|
236
|
+
|
|
234
237
|
color: rgb(0, 0, 0);
|
|
235
238
|
}
|
|
236
239
|
.saooti-stitcher-logo .path5:before {
|
|
237
240
|
content: "\e94e";
|
|
238
|
-
|
|
241
|
+
|
|
239
242
|
color: rgb(0, 0, 0);
|
|
240
243
|
}
|
|
241
244
|
.saooti-stitcher-logo .path6:before {
|
|
242
245
|
content: "\e94f";
|
|
243
|
-
|
|
246
|
+
|
|
244
247
|
color: rgb(0, 0, 0);
|
|
245
248
|
}
|
|
246
249
|
.saooti-stitcher-logo .path7:before {
|
|
247
250
|
content: "\e950";
|
|
248
|
-
|
|
251
|
+
|
|
249
252
|
color: rgb(0, 0, 0);
|
|
250
253
|
}
|
|
251
254
|
.saooti-stitcher-logo .path8:before {
|
|
252
255
|
content: "\e951";
|
|
253
|
-
|
|
256
|
+
|
|
254
257
|
color: rgb(0, 0, 0);
|
|
255
258
|
}
|
|
256
259
|
.saooti-stitcher-logo .path9:before {
|
|
257
260
|
content: "\e952";
|
|
258
|
-
|
|
261
|
+
|
|
259
262
|
color: rgb(53, 144, 197);
|
|
260
263
|
}
|
|
261
264
|
.saooti-stitcher-logo .path10:before {
|
|
262
265
|
content: "\e953";
|
|
263
|
-
|
|
266
|
+
|
|
264
267
|
color: rgb(53, 144, 197);
|
|
265
268
|
}
|
|
266
269
|
.saooti-stitcher-logo .path11:before {
|
|
267
270
|
content: "\e954";
|
|
268
|
-
|
|
271
|
+
|
|
269
272
|
color: rgb(197, 56, 39);
|
|
270
273
|
}
|
|
271
274
|
.saooti-stitcher-logo .path12:before {
|
|
272
275
|
content: "\e955";
|
|
273
|
-
|
|
276
|
+
|
|
274
277
|
color: rgb(197, 56, 39);
|
|
275
278
|
}
|
|
276
279
|
.saooti-stitcher-logo .path13:before {
|
|
277
280
|
content: "\e956";
|
|
278
|
-
|
|
281
|
+
|
|
279
282
|
color: rgb(236, 139, 36);
|
|
280
283
|
}
|
|
281
284
|
.saooti-stitcher-logo .path14:before {
|
|
282
285
|
content: "\e957";
|
|
283
|
-
|
|
286
|
+
|
|
284
287
|
color: rgb(236, 139, 36);
|
|
285
288
|
}
|
|
286
289
|
.saooti-stitcher-logo .path15:before {
|
|
287
290
|
content: "\e958";
|
|
288
|
-
|
|
291
|
+
|
|
289
292
|
color: rgb(251, 198, 24);
|
|
290
293
|
}
|
|
291
294
|
.saooti-stitcher-logo .path16:before {
|
|
292
295
|
content: "\e959";
|
|
293
|
-
|
|
296
|
+
|
|
294
297
|
color: rgb(251, 198, 24);
|
|
295
298
|
}
|
|
296
299
|
.saooti-stitcher-logo .path17:before {
|
|
297
300
|
content: "\e95a";
|
|
298
|
-
|
|
301
|
+
|
|
299
302
|
color: rgb(97, 34, 104);
|
|
300
303
|
}
|
|
301
304
|
.saooti-stitcher-logo .path18:before {
|
|
302
305
|
content: "\e95b";
|
|
303
|
-
|
|
306
|
+
|
|
304
307
|
color: rgb(97, 34, 104);
|
|
305
308
|
}
|
|
306
309
|
.saooti-pocket-casts:before {
|
|
@@ -334,32 +337,32 @@
|
|
|
334
337
|
}
|
|
335
338
|
.saooti-google-podcasts .path2:before {
|
|
336
339
|
content: "\e963";
|
|
337
|
-
|
|
340
|
+
|
|
338
341
|
color: rgb(66, 133, 244);
|
|
339
342
|
}
|
|
340
343
|
.saooti-google-podcasts .path3:before {
|
|
341
344
|
content: "\e964";
|
|
342
|
-
|
|
345
|
+
|
|
343
346
|
color: rgb(234, 67, 53);
|
|
344
347
|
}
|
|
345
348
|
.saooti-google-podcasts .path4:before {
|
|
346
349
|
content: "\e965";
|
|
347
|
-
|
|
350
|
+
|
|
348
351
|
color: rgb(52, 168, 83);
|
|
349
352
|
}
|
|
350
353
|
.saooti-google-podcasts .path5:before {
|
|
351
354
|
content: "\e966";
|
|
352
|
-
|
|
355
|
+
|
|
353
356
|
color: rgb(250, 185, 8);
|
|
354
357
|
}
|
|
355
358
|
.saooti-google-podcasts .path6:before {
|
|
356
359
|
content: "\e967";
|
|
357
|
-
|
|
360
|
+
|
|
358
361
|
color: rgb(52, 168, 83);
|
|
359
362
|
}
|
|
360
363
|
.saooti-google-podcasts .path7:before {
|
|
361
364
|
content: "\e968";
|
|
362
|
-
|
|
365
|
+
|
|
363
366
|
color: rgb(250, 185, 8);
|
|
364
367
|
}
|
|
365
368
|
.saooti-amazon .path1:before {
|
|
@@ -368,12 +371,12 @@
|
|
|
368
371
|
}
|
|
369
372
|
.saooti-amazon .path2:before {
|
|
370
373
|
content: "\e96a";
|
|
371
|
-
|
|
374
|
+
|
|
372
375
|
color: rgb(255, 153, 0);
|
|
373
376
|
}
|
|
374
377
|
.saooti-amazon .path3:before {
|
|
375
378
|
content: "\e96b";
|
|
376
|
-
|
|
379
|
+
|
|
377
380
|
color: rgb(0, 0, 0);
|
|
378
381
|
}
|
|
379
382
|
.saooti-Whatsapp .path1:before {
|
|
@@ -382,12 +385,12 @@
|
|
|
382
385
|
}
|
|
383
386
|
.saooti-Whatsapp .path2:before {
|
|
384
387
|
content: "\e96d";
|
|
385
|
-
|
|
388
|
+
|
|
386
389
|
color: rgb(255, 255, 255);
|
|
387
390
|
}
|
|
388
391
|
.saooti-Whatsapp .path3:before {
|
|
389
392
|
content: "\e96e";
|
|
390
|
-
|
|
393
|
+
|
|
391
394
|
color: rgb(44, 183, 66);
|
|
392
395
|
}
|
|
393
396
|
.saooti-more:before {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const scanner = require('sonarqube-scanner');
|
|
2
|
+
scanner({
|
|
3
|
+
options:{
|
|
4
|
+
"sonar.exclusions":"**/*.test.tsx",
|
|
5
|
+
"sonar.tests":"./src",
|
|
6
|
+
"sonar.test.inclusions":"**/*.test.tsx,**/*.test.ts",
|
|
7
|
+
"sonar.typescript.lcov.reportPaths": "coverage/lcov.info",
|
|
8
|
+
"sonar.testExecutionReportPaths": "coverage/test-report.xml"
|
|
9
|
+
},
|
|
10
|
+
serverUrl:"http://localhost:9000",
|
|
11
|
+
login:"admin",
|
|
12
|
+
password:"admin",
|
|
13
|
+
options:{
|
|
14
|
+
"sonar.sources":"./src"
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
()=>process.exit()
|
|
18
|
+
);
|
package/src/assets/general.scss
CHANGED
|
@@ -20,9 +20,7 @@ body{
|
|
|
20
20
|
a{
|
|
21
21
|
word-break: break-word;
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
margin-bottom: 2rem;
|
|
25
|
-
}
|
|
23
|
+
|
|
26
24
|
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
|
|
27
25
|
&:not(.text-uppercase){
|
|
28
26
|
letter-spacing: -0.03em;
|
|
@@ -37,6 +35,7 @@ body{
|
|
|
37
35
|
font-size: 1.8rem;
|
|
38
36
|
text-align: center;
|
|
39
37
|
color: #666;
|
|
38
|
+
margin-bottom: 2rem;
|
|
40
39
|
@media (max-width: 500px){
|
|
41
40
|
font-size: 1.2rem;
|
|
42
41
|
margin: 0.5rem 0 1rem;
|
package/src/assets/share.scss
CHANGED
|
@@ -46,10 +46,6 @@
|
|
|
46
46
|
flex-grow: 1;
|
|
47
47
|
margin: 1em 0 0;
|
|
48
48
|
padding: 0;
|
|
49
|
-
/*For ie11 */
|
|
50
|
-
display: flex;
|
|
51
|
-
flex-wrap: wrap;
|
|
52
|
-
/* end */
|
|
53
49
|
display: grid; /* 1 */
|
|
54
50
|
grid-template-columns: repeat(auto-fill, 13rem); /* 2 */
|
|
55
51
|
grid-gap: 1rem; /* 3 */
|
|
@@ -104,10 +100,6 @@
|
|
|
104
100
|
flex-grow: 1;
|
|
105
101
|
margin: 0;
|
|
106
102
|
padding: 0;
|
|
107
|
-
/*For ie11 */
|
|
108
|
-
display: flex;
|
|
109
|
-
flex-wrap: wrap;
|
|
110
|
-
/* end */
|
|
111
103
|
display: grid; /* 1 */
|
|
112
104
|
grid-gap: 1rem; /* 3 */
|
|
113
105
|
justify-content: space-between; /* 4 */
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
aria-expanded="false"
|
|
28
28
|
:title="$t('See more')"
|
|
29
29
|
/>
|
|
30
|
-
<
|
|
30
|
+
<div class="dropdown-menu dropdown-menu-right px-4">
|
|
31
31
|
<div
|
|
32
32
|
v-for="category in hidenCategories"
|
|
33
33
|
:key="category.id"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
>
|
|
37
37
|
{{ category.name }}
|
|
38
38
|
</div>
|
|
39
|
-
</
|
|
39
|
+
</div>
|
|
40
40
|
</div>
|
|
41
41
|
</div>
|
|
42
42
|
</template>
|
|
@@ -185,7 +185,6 @@ export default defineComponent({
|
|
|
185
185
|
font-size: 0.6rem;
|
|
186
186
|
margin: 0.2rem;
|
|
187
187
|
padding: 0.5rem;
|
|
188
|
-
display: block;
|
|
189
188
|
height: 1.5rem;
|
|
190
189
|
border-radius: 1.5rem;
|
|
191
190
|
border: 0;
|
|
@@ -81,7 +81,10 @@ export default defineComponent({
|
|
|
81
81
|
},
|
|
82
82
|
computed: {
|
|
83
83
|
errorText():string {
|
|
84
|
-
|
|
84
|
+
if(this.isCaptchaTest){
|
|
85
|
+
return this.$t('Recaptcha not active');
|
|
86
|
+
}
|
|
87
|
+
return this.sendError? this.$t('Recaptcha error') : '';
|
|
85
88
|
},
|
|
86
89
|
validName(): boolean{
|
|
87
90
|
return this.countName <= this.maxName;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div>
|
|
3
3
|
<div class="d-flex small-text">
|
|
4
|
-
<
|
|
4
|
+
<strong
|
|
5
5
|
v-if="recordingInLive && ('Live' === comment.phase || 'Prelive' === comment.phase)"
|
|
6
6
|
class="recording-bg me-1 text-light p-1"
|
|
7
|
-
>{{ $t('Live') }}</
|
|
8
|
-
<
|
|
7
|
+
>{{ $t('Live') }}</strong>
|
|
8
|
+
<strong
|
|
9
9
|
:id="'popover-comment' + comment.comId"
|
|
10
10
|
role="button"
|
|
11
11
|
tabindex="-1"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
class="me-2"
|
|
14
14
|
>{{
|
|
15
15
|
comment.name
|
|
16
|
-
}}</
|
|
16
|
+
}}</strong>
|
|
17
17
|
<Popover
|
|
18
18
|
:disable="editRight || isValid"
|
|
19
19
|
:target="'popover-comment' + comment.comId"
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
v-if="isPresent"
|
|
4
4
|
class="d-flex flex-column comment-input-container mt-3"
|
|
5
5
|
>
|
|
6
|
-
<
|
|
6
|
+
<strong
|
|
7
7
|
v-if="knownIdentity && !editName"
|
|
8
8
|
class="small-text mt-1 c-hand"
|
|
9
9
|
@click="changeIdentity"
|
|
10
|
-
>{{ knownIdentity }}</
|
|
10
|
+
>{{ knownIdentity }}</strong>
|
|
11
11
|
<div
|
|
12
12
|
v-if="editName"
|
|
13
13
|
class="d-flex"
|
|
@@ -68,11 +68,11 @@
|
|
|
68
68
|
<span v-if="comment.relatedComments">
|
|
69
69
|
<template v-if="!collapseVisible">
|
|
70
70
|
{{ $t('Display answers', { nb: comment.relatedComments }) }}
|
|
71
|
-
<
|
|
71
|
+
<em v-if="editRight">{{
|
|
72
72
|
$t('(nb valid comment answers)', {
|
|
73
73
|
nb: comment.relatedValidComments,
|
|
74
74
|
})
|
|
75
|
-
}}</
|
|
75
|
+
}}</em>
|
|
76
76
|
</template>
|
|
77
77
|
<template v-else>
|
|
78
78
|
{{ $t('Hide answers') }}
|
|
@@ -264,41 +264,48 @@ export default defineComponent({
|
|
|
264
264
|
}
|
|
265
265
|
this.$emit('update:comment', updatedComment);
|
|
266
266
|
},
|
|
267
|
+
receiveUpdateComment(event: {type: string; comment: CommentPodcast; oldStatus?:string }){
|
|
268
|
+
let updatedStatus = "";
|
|
269
|
+
if (event.comment.status && event.comment.status !== event.oldStatus) {
|
|
270
|
+
updatedStatus = event.comment.status;
|
|
271
|
+
}
|
|
272
|
+
const updatedComment = this.comment;
|
|
273
|
+
if(undefined !== updatedComment.relatedValidComments){
|
|
274
|
+
if ('Invalid' ===updatedStatus) {
|
|
275
|
+
updatedComment.relatedValidComments -= 1;
|
|
276
|
+
} else if ('Valid' === updatedStatus) {
|
|
277
|
+
updatedComment.relatedValidComments += 1;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
this.$emit('update:comment', updatedComment);
|
|
281
|
+
},
|
|
282
|
+
receiveDeleteComment(event: {type: string; comment: CommentPodcast; oldStatus?:string }){
|
|
283
|
+
const deletedComment = this.comment;
|
|
284
|
+
if(undefined !== deletedComment.relatedComments){
|
|
285
|
+
deletedComment.relatedComments -= 1;
|
|
286
|
+
}
|
|
287
|
+
if (undefined !== deletedComment.relatedValidComments && 'Valid' === event.comment.status) {
|
|
288
|
+
deletedComment.relatedValidComments -= 1;
|
|
289
|
+
}
|
|
290
|
+
this.$emit('update:comment', deletedComment);
|
|
291
|
+
},
|
|
292
|
+
|
|
267
293
|
receiveCommentEvent(event: {type: string; comment: CommentPodcast; oldStatus?:string }): void {
|
|
268
294
|
switch (event.type) {
|
|
269
295
|
case 'Create':this.newComment(event.comment, true);break;
|
|
270
296
|
case 'Update':
|
|
271
297
|
if (this.$refs.commentList) {
|
|
272
298
|
(this.$refs.commentList as InstanceType<typeof CommentList>).updateComment(event);
|
|
273
|
-
|
|
274
|
-
const updatedComment = this.comment;
|
|
275
|
-
let updatedStatus = "";
|
|
276
|
-
if (event.comment.status && event.comment.status !== event.oldStatus) {
|
|
277
|
-
updatedStatus = event.comment.status;
|
|
278
|
-
}
|
|
279
|
-
if(undefined !== updatedComment.relatedValidComments){
|
|
280
|
-
if ('Invalid' ===updatedStatus) {
|
|
281
|
-
updatedComment.relatedValidComments -= 1;
|
|
282
|
-
} else if ('Valid' === updatedStatus) {
|
|
283
|
-
updatedComment.relatedValidComments += 1;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
this.$emit('update:comment', updatedComment);
|
|
299
|
+
return;
|
|
287
300
|
}
|
|
301
|
+
this.receiveUpdateComment(event);
|
|
288
302
|
break;
|
|
289
303
|
case 'Delete':
|
|
290
304
|
if (this.$refs.commentList) {
|
|
291
305
|
(this.$refs.commentList as InstanceType<typeof CommentList>).deleteComment(event.comment);
|
|
292
|
-
|
|
293
|
-
const deletedComment = this.comment;
|
|
294
|
-
if(undefined !== deletedComment.relatedComments){
|
|
295
|
-
deletedComment.relatedComments -= 1;
|
|
296
|
-
}
|
|
297
|
-
if (undefined !== deletedComment.relatedValidComments && 'Valid' === event.comment.status) {
|
|
298
|
-
deletedComment.relatedValidComments -= 1;
|
|
299
|
-
}
|
|
300
|
-
this.$emit('update:comment', deletedComment);
|
|
306
|
+
return;
|
|
301
307
|
}
|
|
308
|
+
this.receiveDeleteComment(event);
|
|
302
309
|
break;
|
|
303
310
|
default:
|
|
304
311
|
break;
|
|
@@ -94,7 +94,14 @@ export default defineComponent({
|
|
|
94
94
|
},
|
|
95
95
|
watchVariable():string{
|
|
96
96
|
return `${this.reload}|${this.status}`;
|
|
97
|
+
},
|
|
98
|
+
statusPost():Array<string>{
|
|
99
|
+
if(this.editRight && this.status){
|
|
100
|
+
return [this.status];
|
|
101
|
+
}
|
|
102
|
+
return this.editRight? ['Valid','Pending', 'Invalid']:['Valid'];
|
|
97
103
|
}
|
|
104
|
+
|
|
98
105
|
},
|
|
99
106
|
watch: {
|
|
100
107
|
watchVariable: {
|
|
@@ -126,7 +133,7 @@ export default defineComponent({
|
|
|
126
133
|
first: this.first,
|
|
127
134
|
size: this.size,
|
|
128
135
|
podcastId: this.podcastId,
|
|
129
|
-
status:this.
|
|
136
|
+
status:this.statusPost,
|
|
130
137
|
organisationId: undefined === this.podcastId? this.organisation: undefined,
|
|
131
138
|
});
|
|
132
139
|
}
|
|
@@ -148,11 +155,11 @@ export default defineComponent({
|
|
|
148
155
|
(element: CommentPodcast) => element.comId === comId
|
|
149
156
|
);
|
|
150
157
|
},
|
|
151
|
-
|
|
158
|
+
commentInAnotherList(commentIdReferer:undefined|number):boolean{
|
|
152
159
|
return !this.isFlat && undefined!==commentIdReferer && null!==commentIdReferer && this.comId !==commentIdReferer;
|
|
153
160
|
},
|
|
154
161
|
deleteComment(comment: CommentPodcast): void {
|
|
155
|
-
if (this.
|
|
162
|
+
if (this.commentInAnotherList(comment.commentIdReferer)){
|
|
156
163
|
const comItem = (this.$refs['comItem' + comment.commentIdReferer] as Array<InstanceType<typeof CommentItem>>)[0];
|
|
157
164
|
comItem.receiveCommentEvent({ type: 'Delete', comment: comment });
|
|
158
165
|
return;
|
|
@@ -165,33 +172,39 @@ export default defineComponent({
|
|
|
165
172
|
}
|
|
166
173
|
this.comments.splice(index, 1);
|
|
167
174
|
},
|
|
175
|
+
updateExistingComment(comment: CommentPodcast, index: number){
|
|
176
|
+
if ((!this.editRight && 'Valid' !== comment.status) ||
|
|
177
|
+
(this.editRight && this.status && this.status !== comment.status)) {
|
|
178
|
+
this.comments.splice(index, 1);
|
|
179
|
+
} else {
|
|
180
|
+
this.comments.splice(index, 1, comment);
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
updateNotExistingComment(comment: CommentPodcast){
|
|
184
|
+
let indexNewComment = 0;
|
|
185
|
+
for (let i = 0, len = this.comments.length; i < len; i++) {
|
|
186
|
+
if (
|
|
187
|
+
moment(this.comments[i].date).isBefore(moment(comment.date))
|
|
188
|
+
) {
|
|
189
|
+
indexNewComment = i;
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
this.comments.splice(indexNewComment, 0, comment);
|
|
194
|
+
},
|
|
168
195
|
updateComment(data: {type: string; comment: CommentPodcast; oldStatus?:string }): void {
|
|
169
|
-
if (this.
|
|
196
|
+
if (this.commentInAnotherList(data.comment.commentIdReferer)){
|
|
170
197
|
const comItem = (this.$refs['comItem' + data.comment.commentIdReferer] as Array<InstanceType<typeof CommentItem>>)[0];
|
|
171
198
|
comItem.receiveCommentEvent(data);
|
|
172
199
|
return;
|
|
173
200
|
}
|
|
174
201
|
const index = this.findCommentIndex(data.comment.comId);
|
|
175
202
|
if (-1 !== index) {
|
|
176
|
-
|
|
177
|
-
(this.editRight && this.status && this.status !== data.comment.status)) {
|
|
178
|
-
this.comments.splice(index, 1);
|
|
179
|
-
} else {
|
|
180
|
-
this.comments.splice(index, 1, data.comment);
|
|
181
|
-
}
|
|
203
|
+
this.updateExistingComment(data.comment, index);
|
|
182
204
|
}else if((!this.editRight && 'Valid' === data.comment.status) ||
|
|
183
205
|
(this.editRight && !this.status) ||
|
|
184
206
|
(this.editRight && this.status && this.status === data.comment.status)){
|
|
185
|
-
|
|
186
|
-
for (let i = 0, len = this.comments.length; i < len; i++) {
|
|
187
|
-
if (
|
|
188
|
-
moment(this.comments[i].date).isBefore(moment(data.comment.date))
|
|
189
|
-
) {
|
|
190
|
-
indexNewComment = i;
|
|
191
|
-
break;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
this.comments.splice(indexNewComment, 0, data.comment);
|
|
207
|
+
this.updateNotExistingComment(data.comment);
|
|
195
208
|
}
|
|
196
209
|
if (this.comId && data.oldStatus!==data.comment.status) {
|
|
197
210
|
this.$emit('updateStatus', data.comment.status);
|
|
@@ -201,7 +214,7 @@ export default defineComponent({
|
|
|
201
214
|
if (!myself && !this.editRight && 'Valid' !== comment.status) {
|
|
202
215
|
return;
|
|
203
216
|
}
|
|
204
|
-
if (this.
|
|
217
|
+
if (this.commentInAnotherList(comment.commentIdReferer)){
|
|
205
218
|
const comItem = (this.$refs['comItem' + comment.commentIdReferer] as Array<InstanceType<typeof CommentItem>>)[0];
|
|
206
219
|
comItem.receiveCommentEvent({ type: 'Create', comment: comment });
|
|
207
220
|
return;
|
|
@@ -42,7 +42,6 @@ import { Podcast } from '@/store/class/general/podcast';
|
|
|
42
42
|
import { Conference } from '@/store/class/conference/conference';
|
|
43
43
|
|
|
44
44
|
import { defineComponent } from 'vue'
|
|
45
|
-
import CommentListVue from './CommentList.vue';
|
|
46
45
|
import { CommentPodcast } from '@/store/class/general/comment';
|
|
47
46
|
export default defineComponent({
|
|
48
47
|
name: 'CommentSection',
|
|
@@ -119,10 +118,10 @@ export default defineComponent({
|
|
|
119
118
|
this.totalCount = value.count;
|
|
120
119
|
},
|
|
121
120
|
newComment(comment: CommentPodcast): void {
|
|
122
|
-
(this.$refs.commentList as InstanceType<typeof
|
|
121
|
+
(this.$refs.commentList as InstanceType<typeof CommentList>).addNewComment(comment, true);
|
|
123
122
|
},
|
|
124
123
|
receiveCommentEvent(event: {type: string; comment: CommentPodcast; oldStatus?:string }): void {
|
|
125
|
-
const commentList = (this.$refs.commentList as InstanceType<typeof
|
|
124
|
+
const commentList = (this.$refs.commentList as InstanceType<typeof CommentList>);
|
|
126
125
|
switch (event.type) {
|
|
127
126
|
case 'Create':commentList.addNewComment(event.comment);break;
|
|
128
127
|
case 'Update':commentList.updateComment(event);break;
|