@saooti/octopus-sdk 30.0.24 → 30.0.28
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 +5 -1
- package/package.json +1 -1
- package/public/config.ts +4 -0
- package/src/assets/bootstrap-diff.scss +0 -3
- package/src/components/display/comments/AddCommentModal.vue +17 -3
- package/src/components/display/comments/CommentInput.vue +55 -28
- package/src/components/display/comments/CommentItem.vue +32 -5
- package/src/components/display/comments/CommentList.vue +1 -1
- package/src/components/display/emission/EmissionInlineList.vue +1 -1
- package/src/components/display/emission/EmissionList.vue +1 -1
- package/src/components/display/live/LiveHorizontalList.vue +1 -1
- package/src/components/display/playlist/PlaylistList.vue +1 -1
- package/src/components/display/playlist/PodcastList.vue +1 -1
- package/src/components/display/podcasts/PodcastInlineList.vue +1 -2
- package/src/components/display/podcasts/PodcastList.vue +1 -1
- package/src/components/display/sharing/ShareDistribution.vue +1 -1
- package/src/components/display/sharing/SharePlayer.vue +5 -2
- package/src/components/misc/HomeDropdown.vue +1 -1
- package/src/components/misc/TopBar.vue +6 -1
- package/src/components/misc/modal/ClipboardModal.vue +1 -1
- package/src/components/misc/modal/MessageModal.vue +2 -2
- package/src/components/misc/modal/NewsletterModal.vue +1 -1
- package/src/components/misc/modal/QrCodeModal.vue +1 -1
- package/src/components/misc/modal/ShareModalPlayer.vue +1 -1
package/README.md
CHANGED
|
@@ -521,4 +521,8 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
|
|
|
521
521
|
* 30.0.21 #10701 & #10698
|
|
522
522
|
* 30.0.22 Accessibilité
|
|
523
523
|
* 30.0.23 Css + Accessibilité
|
|
524
|
-
* 30.0.24 Css + Accessibilité
|
|
524
|
+
* 30.0.24 Css + Accessibilité
|
|
525
|
+
* 30.0.25 Css + Accessibilité
|
|
526
|
+
* 30.0.26 Css + Accessibilité
|
|
527
|
+
* 30.0.27 Top bar responsive
|
|
528
|
+
* 30.0.28 Limiter caractères des commentaires
|
package/package.json
CHANGED
package/public/config.ts
ADDED
|
@@ -19,8 +19,14 @@
|
|
|
19
19
|
class="form-input"
|
|
20
20
|
type="text"
|
|
21
21
|
:placeholder="$t('Your name')"
|
|
22
|
-
:class="{ 'border border-danger':
|
|
22
|
+
:class="{ 'border border-danger': 0 === countName || !validName }"
|
|
23
23
|
>
|
|
24
|
+
<p
|
|
25
|
+
class="d-flex justify-content-end small-text"
|
|
26
|
+
:class="{ 'text-danger': !validName }"
|
|
27
|
+
>
|
|
28
|
+
{{ countName + ' / ' + maxName }}
|
|
29
|
+
</p>
|
|
24
30
|
<div
|
|
25
31
|
v-if="sendError"
|
|
26
32
|
class="mt-1 text-danger"
|
|
@@ -47,8 +53,8 @@
|
|
|
47
53
|
</button>
|
|
48
54
|
<button
|
|
49
55
|
v-if="!sending"
|
|
50
|
-
class="btn btn-
|
|
51
|
-
:disabled="
|
|
56
|
+
class="btn btn-link m-1"
|
|
57
|
+
:disabled="0 === countName || !validName"
|
|
52
58
|
@click="validateName"
|
|
53
59
|
>
|
|
54
60
|
{{ $t('Validate') }}
|
|
@@ -61,6 +67,7 @@
|
|
|
61
67
|
|
|
62
68
|
<script lang="ts">
|
|
63
69
|
import { IReCaptchaComposition, useReCaptcha } from 'vue-recaptcha-v3';
|
|
70
|
+
import Constants from '../../../../public/config';
|
|
64
71
|
import { state } from '../../../store/paramStore';
|
|
65
72
|
import api from '@/api/initialize';
|
|
66
73
|
import { defineComponent } from 'vue'
|
|
@@ -76,10 +83,17 @@ export default defineComponent({
|
|
|
76
83
|
sending: false as boolean,
|
|
77
84
|
needVerify: true as boolean,
|
|
78
85
|
sendError: false as boolean,
|
|
86
|
+
maxName : Constants.MAX_COMMENT_NAME as number
|
|
79
87
|
};
|
|
80
88
|
},
|
|
81
89
|
|
|
82
90
|
computed: {
|
|
91
|
+
validName(): boolean{
|
|
92
|
+
return this.countName <= this.maxName;
|
|
93
|
+
},
|
|
94
|
+
countName(): number{
|
|
95
|
+
return this.name.length;
|
|
96
|
+
},
|
|
83
97
|
isCaptchaTest(): boolean {
|
|
84
98
|
return (state.generalParameters.isCaptchaTest as boolean);
|
|
85
99
|
},
|
|
@@ -12,21 +12,29 @@
|
|
|
12
12
|
v-if="editName"
|
|
13
13
|
class="d-flex"
|
|
14
14
|
>
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
<div class="d-flex flex-column">
|
|
16
|
+
<input
|
|
17
|
+
v-model="temporaryName"
|
|
18
|
+
class="small-text mt-1"
|
|
19
|
+
type="text"
|
|
20
|
+
:class="{ 'border border-danger': 0 === countName || !validName }"
|
|
21
|
+
>
|
|
22
|
+
<p
|
|
23
|
+
class="d-flex justify-content-end small-text mb-0"
|
|
24
|
+
:class="{ 'text-danger': !validName }"
|
|
25
|
+
>
|
|
26
|
+
{{ countName + ' / ' + maxName }}
|
|
27
|
+
</p>
|
|
28
|
+
</div>
|
|
21
29
|
<button
|
|
22
|
-
class="btn"
|
|
30
|
+
class="btn m-1"
|
|
23
31
|
@click="editName = false"
|
|
24
32
|
>
|
|
25
33
|
{{ $t('Cancel') }}
|
|
26
34
|
</button>
|
|
27
35
|
<button
|
|
28
|
-
class="btn btn-
|
|
29
|
-
:disabled="
|
|
36
|
+
class="btn btn-link m-1"
|
|
37
|
+
:disabled="0 === countName || !validName"
|
|
30
38
|
@click="validEdit"
|
|
31
39
|
>
|
|
32
40
|
{{ $t('Validate') }}
|
|
@@ -41,24 +49,29 @@
|
|
|
41
49
|
@focus="textareaFocus = true"
|
|
42
50
|
@blur="textareaFocus = false"
|
|
43
51
|
/>
|
|
44
|
-
<
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
<button
|
|
49
|
-
class="btn me-2"
|
|
50
|
-
@mousedown="cancelAction"
|
|
51
|
-
>
|
|
52
|
-
{{ $t('Cancel') }}
|
|
53
|
-
</button>
|
|
54
|
-
<button
|
|
55
|
-
class="btn btn-primary"
|
|
56
|
-
:disabled="0 === newComment.trim().length"
|
|
57
|
-
@mousedown="requestToSend"
|
|
52
|
+
<template v-if="textareaFocus">
|
|
53
|
+
<p
|
|
54
|
+
class="d-flex justify-content-end small-text"
|
|
55
|
+
:class="{ 'text-danger': !validComment }"
|
|
58
56
|
>
|
|
59
|
-
{{
|
|
60
|
-
</
|
|
61
|
-
|
|
57
|
+
{{ countComment + ' / ' + maxComment }}
|
|
58
|
+
</p>
|
|
59
|
+
<div class="d-flex justify-content-end mt-1">
|
|
60
|
+
<button
|
|
61
|
+
class="btn me-2"
|
|
62
|
+
@mousedown="cancelAction"
|
|
63
|
+
>
|
|
64
|
+
{{ $t('Cancel') }}
|
|
65
|
+
</button>
|
|
66
|
+
<button
|
|
67
|
+
class="btn btn-link"
|
|
68
|
+
:disabled="0 === countComment || !validComment"
|
|
69
|
+
@mousedown="requestToSend"
|
|
70
|
+
>
|
|
71
|
+
{{ placeholder }}
|
|
72
|
+
</button>
|
|
73
|
+
</div>
|
|
74
|
+
</template>
|
|
62
75
|
<AddCommentModal
|
|
63
76
|
v-if="checkIdentityModal"
|
|
64
77
|
@validate="postComment"
|
|
@@ -83,7 +96,7 @@ import { state } from '../../../store/paramStore';
|
|
|
83
96
|
import { Podcast } from '@/store/class/general/podcast';
|
|
84
97
|
import { Conference } from '@/store/class/conference/conference';
|
|
85
98
|
import { CommentPodcast } from '@/store/class/general/comment';
|
|
86
|
-
|
|
99
|
+
import Constants from '../../../../public/config';
|
|
87
100
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
88
101
|
const AddCommentModal = defineAsyncComponent(() => import('./AddCommentModal.vue'));
|
|
89
102
|
const MessageModal = defineAsyncComponent(() => import('../../misc/modal/MessageModal.vue'));
|
|
@@ -113,10 +126,24 @@ export default defineComponent({
|
|
|
113
126
|
isOneLine: true as boolean,
|
|
114
127
|
editName: false as boolean,
|
|
115
128
|
temporaryName: '' as string,
|
|
129
|
+
maxComment : Constants.MAX_COMMENT as number,
|
|
130
|
+
maxName : Constants.MAX_COMMENT_NAME as number
|
|
116
131
|
};
|
|
117
132
|
},
|
|
118
133
|
|
|
119
134
|
computed: {
|
|
135
|
+
validName(): boolean{
|
|
136
|
+
return this.countName <= this.maxName;
|
|
137
|
+
},
|
|
138
|
+
countName(): number{
|
|
139
|
+
return this.temporaryName.length;
|
|
140
|
+
},
|
|
141
|
+
validComment(): boolean{
|
|
142
|
+
return this.countComment <= this.maxComment;
|
|
143
|
+
},
|
|
144
|
+
countComment(): number{
|
|
145
|
+
return this.newComment.length;
|
|
146
|
+
},
|
|
120
147
|
isPresent(): boolean {
|
|
121
148
|
if (!this.podcast) return true;
|
|
122
149
|
let podcastComment = 'INHERIT';
|
|
@@ -295,7 +322,7 @@ export default defineComponent({
|
|
|
295
322
|
@import '../../../sass/_variables.scss';
|
|
296
323
|
.comment-input-container {
|
|
297
324
|
textarea::placeholder {
|
|
298
|
-
color: $octopus-primary-
|
|
325
|
+
color: $octopus-primary-dark;
|
|
299
326
|
}
|
|
300
327
|
textarea:focus::placeholder {
|
|
301
328
|
color: black;
|
|
@@ -9,16 +9,28 @@
|
|
|
9
9
|
<template v-else>
|
|
10
10
|
<input
|
|
11
11
|
v-model="temporaryName"
|
|
12
|
-
class="form-input
|
|
12
|
+
class="form-input"
|
|
13
13
|
type="text"
|
|
14
|
-
:class="{ 'border border-danger':
|
|
14
|
+
:class="{ 'border border-danger': 0 === countName || !validName }"
|
|
15
|
+
>
|
|
16
|
+
<p
|
|
17
|
+
class="d-flex justify-content-end small-text"
|
|
18
|
+
:class="{ 'text-danger': !validName }"
|
|
15
19
|
>
|
|
20
|
+
{{ countName + ' / ' + maxName }}
|
|
21
|
+
</p>
|
|
16
22
|
<textarea
|
|
17
23
|
v-model="temporaryContent"
|
|
18
|
-
:class="{ 'border border-danger': 0===
|
|
24
|
+
:class="{ 'border border-danger': 0 === countComment || !validComment }"
|
|
19
25
|
class="form-input"
|
|
20
26
|
type="text"
|
|
21
27
|
/>
|
|
28
|
+
<p
|
|
29
|
+
class="d-flex justify-content-end small-text"
|
|
30
|
+
:class="{ 'text-danger': !validComment }"
|
|
31
|
+
>
|
|
32
|
+
{{ countComment + ' / ' + maxComment }}
|
|
33
|
+
</p>
|
|
22
34
|
<div class="d-flex justify-content-end">
|
|
23
35
|
<button
|
|
24
36
|
class="btn m-1"
|
|
@@ -27,8 +39,8 @@
|
|
|
27
39
|
{{ $t('Cancel') }}
|
|
28
40
|
</button>
|
|
29
41
|
<button
|
|
30
|
-
class="btn btn-
|
|
31
|
-
:disabled="0 ===
|
|
42
|
+
class="btn btn-link m-1"
|
|
43
|
+
:disabled="0 === countComment || !validComment || 0 === countName || !validName"
|
|
32
44
|
@click="validEdit"
|
|
33
45
|
>
|
|
34
46
|
{{ $t('Validate') }}
|
|
@@ -122,6 +134,7 @@ import { CommentPodcast } from '@/store/class/general/comment';
|
|
|
122
134
|
import { Podcast } from '@/store/class/general/podcast';
|
|
123
135
|
import { Conference } from '@/store/class/conference/conference';
|
|
124
136
|
import CommentBasicView from './CommentBasicView.vue';
|
|
137
|
+
import Constants from '../../../../public/config';
|
|
125
138
|
import { defineComponent, defineAsyncComponent } from 'vue';
|
|
126
139
|
const CommentInput = defineAsyncComponent(() => import('./CommentInput.vue'));
|
|
127
140
|
const CommentParentInfo = defineAsyncComponent(() => import('./CommentParentInfo.vue'));
|
|
@@ -157,9 +170,23 @@ export default defineComponent({
|
|
|
157
170
|
isEditing: false as boolean,
|
|
158
171
|
temporaryContent: '' as string,
|
|
159
172
|
temporaryName: '' as string,
|
|
173
|
+
maxComment : Constants.MAX_COMMENT as number,
|
|
174
|
+
maxName : Constants.MAX_COMMENT_NAME as number
|
|
160
175
|
};
|
|
161
176
|
},
|
|
162
177
|
computed: {
|
|
178
|
+
validName(): boolean{
|
|
179
|
+
return this.countName <= this.maxName;
|
|
180
|
+
},
|
|
181
|
+
countName(): number{
|
|
182
|
+
return this.temporaryName.length;
|
|
183
|
+
},
|
|
184
|
+
validComment(): boolean{
|
|
185
|
+
return this.countComment <= this.maxComment;
|
|
186
|
+
},
|
|
187
|
+
countComment(): number{
|
|
188
|
+
return this.temporaryContent.length;
|
|
189
|
+
},
|
|
163
190
|
myOrganisationId(): string|undefined {
|
|
164
191
|
return state.generalParameters.organisationId;
|
|
165
192
|
},
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
</transition-group>
|
|
26
26
|
<button
|
|
27
27
|
v-show="!allFetched && (!loading || 0!==first)"
|
|
28
|
-
class="btn btn-
|
|
28
|
+
class="btn btn-link mt-2"
|
|
29
29
|
:class="comId ? 'align-self-start' : 'align-self-center'"
|
|
30
30
|
:disabled="loading"
|
|
31
31
|
:title="$t('See more comments')"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
<button
|
|
42
42
|
v-show="!allFetched"
|
|
43
43
|
class="btn"
|
|
44
|
-
:class="buttonPlus ? 'btn-link' : 'btn-more'"
|
|
44
|
+
:class="buttonPlus ? 'btn-link align-self-center width-fit-content m-4' : 'btn-more'"
|
|
45
45
|
:disabled="loading"
|
|
46
46
|
:title="$t('See more')"
|
|
47
47
|
@click="fetchContent(false)"
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
<button
|
|
17
17
|
v-show="!allFetched"
|
|
18
18
|
class="btn"
|
|
19
|
-
:class="buttonPlus ? 'btn-link mt-3' : 'btn-more'"
|
|
19
|
+
:class="buttonPlus ? 'btn-link align-self-center width-fit-content m-4 mt-3' : 'btn-more'"
|
|
20
20
|
:disabled="inFetching"
|
|
21
21
|
:title="$t('See more')"
|
|
22
22
|
@click="displayMore"
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<button
|
|
20
20
|
v-show="!allFetched && loaded"
|
|
21
21
|
class="btn"
|
|
22
|
-
:class="buttonPlus ? 'btn-link':'btn-more'"
|
|
22
|
+
:class="buttonPlus ? 'btn-link align-self-center width-fit-content m-4':'btn-more'"
|
|
23
23
|
:disabled="inFetching"
|
|
24
24
|
:title="$t('See more')"
|
|
25
25
|
@click="displayMore"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<button
|
|
41
41
|
v-show="size < podcasts.length && loaded"
|
|
42
42
|
class="btn"
|
|
43
|
-
:class="buttonPlus ? 'btn-link':'btn-more'"
|
|
43
|
+
:class="buttonPlus ? 'btn-link align-self-center width-fit-content m-4':'btn-more'"
|
|
44
44
|
:title="$t('See more')"
|
|
45
45
|
@click="displayMore"
|
|
46
46
|
>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<button
|
|
24
24
|
v-show="!allFetched && loaded"
|
|
25
25
|
class="btn"
|
|
26
|
-
:class="buttonPlus ? 'btn-link' : 'btn-more'"
|
|
26
|
+
:class="buttonPlus ? 'btn-link align-self-center width-fit-content m-4' : 'btn-more'"
|
|
27
27
|
:disabled="inFetching"
|
|
28
28
|
:title="$t('See more')"
|
|
29
29
|
@click="displayMore"
|
|
@@ -366,10 +366,11 @@ export default defineComponent({
|
|
|
366
366
|
@import '../../../sass/_variables.scss';
|
|
367
367
|
.sticker {
|
|
368
368
|
align-self: center;
|
|
369
|
-
background: $
|
|
369
|
+
background: $octopus-primary-dark;
|
|
370
370
|
padding: 0.5rem;
|
|
371
371
|
transition: all 0.5s ease;
|
|
372
|
-
color:
|
|
372
|
+
color: white;
|
|
373
|
+
font-weight: bold;
|
|
373
374
|
letter-spacing: 1px;
|
|
374
375
|
outline: none;
|
|
375
376
|
box-shadow: 10px 10px 34px -15px hsla(0, 0%, 0%, 0.4);
|
|
@@ -377,6 +378,8 @@ export default defineComponent({
|
|
|
377
378
|
border: solid 2px #41403e;
|
|
378
379
|
&:hover {
|
|
379
380
|
box-shadow: 2px 8px 4px -6px hsla(0, 0%, 0%, 0.3);
|
|
381
|
+
background: transparent;
|
|
382
|
+
color: $octopus-primary-dark;
|
|
380
383
|
}
|
|
381
384
|
}
|
|
382
385
|
.max-iframe {
|
|
@@ -325,8 +325,13 @@ export default defineComponent({
|
|
|
325
325
|
height: 2rem;
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
|
-
@media (max-width:
|
|
328
|
+
@media (max-width: 380px) {
|
|
329
329
|
.top-bar-logo img{
|
|
330
|
+
height: 1rem;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
@media (max-width: 290px) {
|
|
334
|
+
.top-bar-logo{
|
|
330
335
|
display: none;
|
|
331
336
|
}
|
|
332
337
|
}
|
|
@@ -39,13 +39,13 @@
|
|
|
39
39
|
</button>
|
|
40
40
|
<button
|
|
41
41
|
v-if="thirdText"
|
|
42
|
-
class="btn btn-
|
|
42
|
+
class="btn btn-link m-1"
|
|
43
43
|
@click="onThirdAction"
|
|
44
44
|
>
|
|
45
45
|
{{ thirdText }}
|
|
46
46
|
</button>
|
|
47
47
|
<button
|
|
48
|
-
class="btn btn-
|
|
48
|
+
class="btn btn-link m-1"
|
|
49
49
|
@click="onValid"
|
|
50
50
|
>
|
|
51
51
|
{{ validatetext }}
|