@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 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saooti/octopus-sdk",
3
- "version": "30.0.24",
3
+ "version": "30.0.28",
4
4
  "private": false,
5
5
  "description": "Javascript SDK for using octopus",
6
6
  "author": "Saooti",
@@ -0,0 +1,4 @@
1
+ export default Object.freeze({
2
+ MAX_COMMENT : 4096,
3
+ MAX_COMMENT_NAME : 127
4
+ });
@@ -82,9 +82,6 @@
82
82
  border: 2px solid $octopus-primary-dark;
83
83
  color: white;
84
84
  font-weight: bold;
85
- margin: 2rem;
86
- width: fit-content;
87
- align-self: center;
88
85
  &:focus,
89
86
  &:hover,
90
87
  &:active,
@@ -19,8 +19,14 @@
19
19
  class="form-input"
20
20
  type="text"
21
21
  :placeholder="$t('Your name')"
22
- :class="{ 'border border-danger': name.length < 2 }"
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-primary m-1"
51
- :disabled="name.length <= 2"
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
- <input
16
- v-model="temporaryName"
17
- class="small-text mt-1"
18
- type="text"
19
- :class="{ 'border border-danger': temporaryName.length < 2 }"
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-primary"
29
- :disabled="temporaryName.length < 2"
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
- <div
45
- v-if="textareaFocus"
46
- class="d-flex justify-content-end mt-1"
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
- {{ placeholder }}
60
- </button>
61
- </div>
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-color;
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 me-2 mb-2 width-auto"
12
+ class="form-input"
13
13
  type="text"
14
- :class="{ 'border border-danger': temporaryName.length < 2 }"
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===temporaryContent.length }"
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-primary m-1"
31
- :disabled="0 === temporaryContent.length || temporaryName.length < 2"
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-primary mt-2"
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')"
@@ -57,7 +57,7 @@
57
57
  <router-link
58
58
  v-if="!overflowScroll"
59
59
  :to="href"
60
- class="btn btn-link"
60
+ class="btn btn-link align-self-center width-fit-content m-4"
61
61
  >
62
62
  {{
63
63
  buttonText
@@ -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
  >
@@ -62,8 +62,7 @@
62
62
  />
63
63
  </transition-group>
64
64
  <router-link
65
- class="btn btn-link"
66
- :class="buttonPlus ? 'btn-link' : ''"
65
+ class="btn btn-link align-self-center width-fit-content m-4"
67
66
  :to="refTo"
68
67
  >
69
68
  {{ buttonText }}
@@ -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"
@@ -7,7 +7,7 @@
7
7
  <input
8
8
  type="button"
9
9
  :value="$t('Copy')"
10
- class="btn btn-primary"
10
+ class="btn btn-link"
11
11
  :title="$t('Copy')"
12
12
  @click="onCopyCode(rss, afterCopy)"
13
13
  >
@@ -366,10 +366,11 @@ export default defineComponent({
366
366
  @import '../../../sass/_variables.scss';
367
367
  .sticker {
368
368
  align-self: center;
369
- background: $primaryColorMoreTransparent;
369
+ background: $octopus-primary-dark;
370
370
  padding: 0.5rem;
371
371
  transition: all 0.5s ease;
372
- color: #41403e;
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 {
@@ -4,7 +4,7 @@
4
4
  >
5
5
  <button
6
6
  v-if="authenticated"
7
- class="btn btn-primary m-1"
7
+ class="btn btn-primary hide-phone m-1"
8
8
  @click="goToUrl('/main/priv/backoffice')"
9
9
  >
10
10
  {{ $t('My space') }}
@@ -325,8 +325,13 @@ export default defineComponent({
325
325
  height: 2rem;
326
326
  }
327
327
  }
328
- @media (max-width: 290px) {
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
  }
@@ -21,7 +21,7 @@
21
21
  <input
22
22
  type="button"
23
23
  :value="$t('Copy')"
24
- class="btn btn-primary"
24
+ class="btn btn-link"
25
25
  :title="$t('Copy')"
26
26
  @click="onCopyCode(link, afterCopy)"
27
27
  >
@@ -39,13 +39,13 @@
39
39
  </button>
40
40
  <button
41
41
  v-if="thirdText"
42
- class="btn btn-primary m-1"
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-primary m-1"
48
+ class="btn btn-link m-1"
49
49
  @click="onValid"
50
50
  >
51
51
  {{ validatetext }}
@@ -71,7 +71,7 @@
71
71
  </div>
72
72
  <div class="modal-footer">
73
73
  <button
74
- class="btn btn-primary m-1"
74
+ class="btn btn-link m-1"
75
75
  @click="closePopup"
76
76
  >
77
77
  {{ $t('Close') }}
@@ -22,7 +22,7 @@
22
22
  </div>
23
23
  <div class="modal-footer">
24
24
  <button
25
- class="btn btn-primary m-1"
25
+ class="btn btn-link m-1"
26
26
  @click="closePopup"
27
27
  >
28
28
  {{ $t('Close') }}
@@ -75,7 +75,7 @@
75
75
  </div>
76
76
  <div class="modal-footer">
77
77
  <button
78
- class="btn btn-primary m-1"
78
+ class="btn btn-link m-1"
79
79
  @click="closePopup"
80
80
  >
81
81
  {{ $t('Close') }}