@saooti/octopus-sdk 33.2.0 → 33.2.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/index.ts +5 -0
- package/package.json +1 -1
- package/src/assets/_utilities.scss +11 -1
- package/src/assets/bootstrap.scss +51 -1
- package/src/assets/form.scss +3 -26
- package/src/assets/general.scss +9 -58
- package/src/assets/multiselect.scss +8 -3
- package/src/assets/octopus-library.scss +0 -1
- package/src/components/display/categories/CategoryChooser.vue +1 -1
- package/src/components/display/comments/AddCommentModal.vue +1 -1
- package/src/components/display/comments/CommentBasicView.vue +1 -1
- package/src/components/display/comments/CommentInput.vue +4 -4
- package/src/components/display/comments/CommentItem.vue +2 -2
- package/src/components/display/comments/CommentPlayer.vue +2 -2
- package/src/components/display/emission/EmissionChooser.vue +1 -1
- package/src/components/display/filter/AdvancedSearch.vue +2 -2
- package/src/components/display/filter/MonetizableFilter.vue +1 -1
- package/src/components/display/filter/RubriqueChoice.vue +1 -1
- package/src/components/display/organisation/OrganisationChooser.vue +1 -1
- package/src/components/display/playlist/PlaylistItem.vue +1 -1
- package/src/components/display/podcasts/ParticipantDescription.vue +2 -1
- package/src/components/display/podcasts/PodcastImage.vue +3 -3
- package/src/components/display/podcasts/PodcastItemInfo.vue +2 -2
- package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
- package/src/components/display/sharing/ShareDistribution.vue +2 -2
- package/src/components/display/sharing/SharePlayer.vue +3 -0
- package/src/components/form/ClassicCheckbox.vue +73 -14
- package/src/components/form/ClassicRadio.vue +12 -3
- package/src/components/form/ClassicSelect.vue +2 -9
- package/src/components/misc/Accordion.vue +31 -3
- package/src/components/misc/Nav.vue +14 -7
- package/src/components/misc/Popover.vue +3 -1
- package/src/components/misc/ProgressBar.vue +1 -1
- package/src/components/misc/Spinner.vue +13 -2
- package/src/components/misc/TopBar.vue +1 -1
- package/src/components/misc/modal/ClassicModal.vue +6 -7
- package/src/components/misc/modal/NewsletterModal.vue +1 -2
- package/src/components/misc/modal/ShareModalPlayer.vue +4 -1
- package/src/components/misc/player/PlayerCompact.vue +1 -1
- package/src/components/misc/player/PlayerLarge.vue +1 -1
- package/src/components/mixins/player/playerLogic.ts +3 -3
- package/src/assets/modal.scss +0 -90
package/index.ts
CHANGED
|
@@ -15,6 +15,10 @@ export const getRubrique = () => import("./src/components/pages/Rubrique.vue");
|
|
|
15
15
|
export const getError403Page = () => import("./src/components/pages/Error403Page.vue");
|
|
16
16
|
|
|
17
17
|
//Misc
|
|
18
|
+
export const getAccordion = () => import("./src/components/misc/Accordion.vue");
|
|
19
|
+
export const getNav = () => import("./src/components/misc/Nav.vue");
|
|
20
|
+
export const getProgressBar = () => import("./src/components/misc/ProgressBar.vue");
|
|
21
|
+
export const getSpinner = () => import("./src/components/misc/Spinner.vue");
|
|
18
22
|
export const getFooter = () => import("./src/components/misc/Footer.vue");
|
|
19
23
|
export const getLeftMenu = () => import("./src/components/misc/LeftMenu.vue");
|
|
20
24
|
export const getPlayer = () => import("./src/components/misc/player/Player.vue");
|
|
@@ -24,6 +28,7 @@ export const getHomeDropdown = () => import("./src/components/misc/HomeDropdown.
|
|
|
24
28
|
export const getMessageModal = () => import("./src/components/misc/modal/MessageModal.vue");
|
|
25
29
|
export const getErrorMessage = () => import("./src/components/misc/ErrorMessage.vue");
|
|
26
30
|
export const getPopover = () => import("./src/components/misc/Popover.vue");
|
|
31
|
+
export const getClassicModal = () => import("./src/components/misc/modal/ClassicModal.vue");
|
|
27
32
|
|
|
28
33
|
|
|
29
34
|
//Display
|
package/package.json
CHANGED
|
@@ -23,7 +23,7 @@ $primary: #0d6efd !default;
|
|
|
23
23
|
$secondary: #6c757d !default;
|
|
24
24
|
$success: #198754 !default;
|
|
25
25
|
$info: #0dcaf0 !default;
|
|
26
|
-
$warning: #
|
|
26
|
+
$warning: #ff924f94 !default;
|
|
27
27
|
$danger: #dc3545 !default;
|
|
28
28
|
$light: #f8f9fa !default;
|
|
29
29
|
$dark: #212529 !default;
|
|
@@ -39,6 +39,7 @@ $theme-colors: (
|
|
|
39
39
|
"black": $black,
|
|
40
40
|
"white": $white,
|
|
41
41
|
) !default;
|
|
42
|
+
|
|
42
43
|
$utilities: () !default;
|
|
43
44
|
// stylelint-disable-next-line scss/dollar-variable-default
|
|
44
45
|
$utilities: map-merge(
|
|
@@ -128,8 +129,17 @@ $utilities: map-merge(
|
|
|
128
129
|
property: width,
|
|
129
130
|
class: w,
|
|
130
131
|
values: (
|
|
132
|
+
0: 0,
|
|
133
|
+
5: 5%,
|
|
134
|
+
10: 10%,
|
|
135
|
+
15: 15%,
|
|
136
|
+
20: 20%,
|
|
131
137
|
25: 25%,
|
|
138
|
+
30: 30%,
|
|
139
|
+
35: 35%,
|
|
140
|
+
40: 40%,
|
|
132
141
|
50: 50%,
|
|
142
|
+
60: 60%,
|
|
133
143
|
75: 75%,
|
|
134
144
|
100: 100%,
|
|
135
145
|
auto: auto
|
|
@@ -13,10 +13,56 @@
|
|
|
13
13
|
button {
|
|
14
14
|
cursor: pointer;
|
|
15
15
|
}
|
|
16
|
+
p{
|
|
17
|
+
margin: 0;
|
|
18
|
+
}
|
|
19
|
+
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
|
|
20
|
+
&:not(.text-uppercase){
|
|
21
|
+
letter-spacing: -0.03em;
|
|
22
|
+
}
|
|
23
|
+
margin-top: 0;
|
|
24
|
+
margin-bottom:0;
|
|
25
|
+
font-weight: 600;
|
|
26
|
+
line-height: 1.2;
|
|
27
|
+
}
|
|
28
|
+
h1,.h1{
|
|
29
|
+
font-size: 1.8rem;
|
|
30
|
+
text-align: center;
|
|
31
|
+
color: #666;
|
|
32
|
+
margin-bottom: 2rem;
|
|
33
|
+
@media (max-width: 500px){
|
|
34
|
+
font-size: 1.2rem;
|
|
35
|
+
margin: 0.5rem 0 1rem;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
h2,.h2{
|
|
39
|
+
font-size: 1.17rem;
|
|
40
|
+
@media (max-width: 500px){
|
|
41
|
+
font-size: 1rem;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
h3,.h3{
|
|
45
|
+
font-size: 1.125rem;
|
|
46
|
+
}
|
|
47
|
+
h4,.h4{
|
|
48
|
+
font-size: 0.99rem;
|
|
49
|
+
}
|
|
50
|
+
h5,.h5{
|
|
51
|
+
font-size: .81rem;
|
|
52
|
+
}
|
|
53
|
+
h6,.h6{
|
|
54
|
+
font-size: .63rem;
|
|
55
|
+
display: flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
}
|
|
58
|
+
.text-truncate{
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
text-overflow: ellipsis;
|
|
61
|
+
white-space: nowrap;
|
|
62
|
+
}
|
|
16
63
|
.btn{
|
|
17
64
|
display: inline-block;
|
|
18
65
|
padding: 0.375rem 0.75rem;
|
|
19
|
-
font-size: 1rem;
|
|
20
66
|
line-height: 1.5;
|
|
21
67
|
color: #212529;
|
|
22
68
|
text-align: center;
|
|
@@ -124,6 +170,10 @@
|
|
|
124
170
|
}
|
|
125
171
|
|
|
126
172
|
}
|
|
173
|
+
.btn-transparent{
|
|
174
|
+
background: transparent;
|
|
175
|
+
border: 0;
|
|
176
|
+
}
|
|
127
177
|
.share-btn {
|
|
128
178
|
font-size: 1.3rem;
|
|
129
179
|
width: 2.5rem !important;
|
package/src/assets/form.scss
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
.octopus-app{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
border: 0;
|
|
5
|
-
}
|
|
6
|
-
.width-auto{
|
|
7
|
-
width: auto !important;
|
|
2
|
+
.octopus-form-item{
|
|
3
|
+
min-height: 1.44rem;
|
|
8
4
|
}
|
|
9
5
|
select {
|
|
10
6
|
background: white !important;
|
|
@@ -15,18 +11,7 @@
|
|
|
15
11
|
height: 2rem;
|
|
16
12
|
padding-right: 40px;
|
|
17
13
|
}
|
|
18
|
-
.form-check-label {
|
|
19
|
-
cursor: pointer;
|
|
20
|
-
&::before {
|
|
21
|
-
top: 0;
|
|
22
|
-
}
|
|
23
|
-
&::after {
|
|
24
|
-
top: 0;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
14
|
.form-input {
|
|
28
|
-
-webkit-appearance: none;
|
|
29
|
-
-moz-appearance: none;
|
|
30
15
|
appearance: none;
|
|
31
16
|
background: #fff;
|
|
32
17
|
background-image: none;
|
|
@@ -42,16 +27,8 @@
|
|
|
42
27
|
position: relative;
|
|
43
28
|
width: 100%;
|
|
44
29
|
}
|
|
45
|
-
|
|
46
|
-
.form-check-input{
|
|
47
|
-
margin-right: 5px;
|
|
48
|
-
cursor: pointer;
|
|
49
|
-
}
|
|
50
|
-
.classic-select select {
|
|
51
|
-
width: 100%;
|
|
52
|
-
}
|
|
53
30
|
.vc-select select{
|
|
54
|
-
padding: 0
|
|
31
|
+
padding: 0 !important;
|
|
55
32
|
}
|
|
56
33
|
.vc-date{
|
|
57
34
|
.vc-month,.vc-day,.vc-year{
|
package/src/assets/general.scss
CHANGED
|
@@ -20,44 +20,22 @@ body{
|
|
|
20
20
|
}
|
|
21
21
|
a{
|
|
22
22
|
word-break: break-word;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
letter-spacing: -0.03em;
|
|
28
|
-
}
|
|
29
|
-
font-weight: 600;
|
|
30
|
-
margin-top: 0;
|
|
31
|
-
@media (max-width: 500px){
|
|
32
|
-
margin: 0.2rem;
|
|
23
|
+
text-decoration: none;
|
|
24
|
+
color: $octopus-primary-color;
|
|
25
|
+
&.link-hover{
|
|
26
|
+
color: black !important;
|
|
33
27
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
font-size: 1.8rem;
|
|
37
|
-
text-align: center;
|
|
38
|
-
color: #666;
|
|
39
|
-
margin-bottom: 2rem;
|
|
40
|
-
@media (max-width: 500px){
|
|
41
|
-
font-size: 1.2rem;
|
|
42
|
-
margin: 0.5rem 0 1rem;
|
|
28
|
+
&.link-hover:hover, &.link-hover.router-link-exact-active.router-link-active{
|
|
29
|
+
color: $octopus-primary-color !important;
|
|
43
30
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
@media (max-width: 500px){
|
|
47
|
-
font-size: 1rem;
|
|
31
|
+
&.btn, &.btn:hover{
|
|
32
|
+
color: #383838;
|
|
48
33
|
}
|
|
49
34
|
}
|
|
50
35
|
hr{
|
|
51
36
|
height: 0.01rem;
|
|
52
37
|
color: #999;
|
|
53
38
|
}
|
|
54
|
-
|
|
55
|
-
.small-text{
|
|
56
|
-
font-size: 0.6rem;
|
|
57
|
-
display: flex;
|
|
58
|
-
align-items: center;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
39
|
.d-flex-column{
|
|
62
40
|
display: flex;
|
|
63
41
|
flex-direction: row;
|
|
@@ -73,16 +51,6 @@ body{
|
|
|
73
51
|
flex-wrap: wrap;
|
|
74
52
|
}
|
|
75
53
|
}
|
|
76
|
-
|
|
77
|
-
.primary-color{
|
|
78
|
-
color: $octopus-primary-color;
|
|
79
|
-
}
|
|
80
|
-
.primary-darker{
|
|
81
|
-
color: $octopus-primary-color;
|
|
82
|
-
}
|
|
83
|
-
.primary-bg{
|
|
84
|
-
background: $octopus-primary-color;
|
|
85
|
-
}
|
|
86
54
|
.secondary-bg{
|
|
87
55
|
background: $octopus-background;
|
|
88
56
|
}
|
|
@@ -95,7 +63,6 @@ body{
|
|
|
95
63
|
.width-fit-content{
|
|
96
64
|
width: fit-content !important;
|
|
97
65
|
}
|
|
98
|
-
|
|
99
66
|
.page-box{
|
|
100
67
|
background-color: $octopus-background;
|
|
101
68
|
padding: 2rem 5rem 5rem 5rem;
|
|
@@ -131,21 +98,7 @@ body{
|
|
|
131
98
|
box-shadow:0px 6px 20px 3px $primaryColorMoreTransparent !important;
|
|
132
99
|
}
|
|
133
100
|
}
|
|
134
|
-
|
|
135
|
-
color: #383838;
|
|
136
|
-
&:hover{
|
|
137
|
-
color: #383838;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
a, a:hover{
|
|
141
|
-
text-decoration: none;
|
|
142
|
-
}
|
|
143
|
-
a.link-hover{
|
|
144
|
-
color: black !important;
|
|
145
|
-
}
|
|
146
|
-
a.link-hover.router-link-exact-active.router-link-active, a.link-hover:hover {
|
|
147
|
-
color: $octopus-primary-color !important;
|
|
148
|
-
}
|
|
101
|
+
|
|
149
102
|
.descriptionText{
|
|
150
103
|
white-space: pre-wrap;
|
|
151
104
|
word-wrap: break-word;
|
|
@@ -191,11 +144,9 @@ body{
|
|
|
191
144
|
.hid{
|
|
192
145
|
display: none !important;
|
|
193
146
|
}
|
|
194
|
-
|
|
195
147
|
.d-contents{
|
|
196
148
|
display: contents;
|
|
197
149
|
}
|
|
198
|
-
|
|
199
150
|
.img-box{
|
|
200
151
|
height: 13rem;
|
|
201
152
|
width: 13rem;
|
|
@@ -59,19 +59,24 @@
|
|
|
59
59
|
width: 1.2rem;
|
|
60
60
|
font-size: 1.2rem;
|
|
61
61
|
cursor: pointer;
|
|
62
|
-
position: absolute;
|
|
63
|
-
right: 10px;
|
|
64
|
-
top: 0.4rem;
|
|
65
62
|
margin: 0;
|
|
66
63
|
background-color: #ccc;
|
|
67
64
|
border-radius: 50%;
|
|
68
65
|
display: flex;
|
|
69
66
|
justify-content: center;
|
|
70
67
|
align-items: center;
|
|
68
|
+
flex-shrink: 0;
|
|
69
|
+
padding: 0;
|
|
71
70
|
&:before{
|
|
72
71
|
font-size: 0.8rem;
|
|
73
72
|
}
|
|
74
73
|
}
|
|
74
|
+
.octopus-arrow-down-absolute
|
|
75
|
+
{
|
|
76
|
+
position: absolute;
|
|
77
|
+
right: 10px;
|
|
78
|
+
top: 0.4rem;
|
|
79
|
+
}
|
|
75
80
|
|
|
76
81
|
|
|
77
82
|
/************************************************************************/
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
>
|
|
6
6
|
<strong
|
|
7
7
|
v-if="knownIdentity && !editName"
|
|
8
|
-
class="
|
|
8
|
+
class="h6 mt-1 c-hand"
|
|
9
9
|
@click="changeIdentity"
|
|
10
10
|
>{{ knownIdentity }}</strong>
|
|
11
11
|
<div
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
<div class="d-flex flex-column">
|
|
16
16
|
<input
|
|
17
17
|
v-model="temporaryName"
|
|
18
|
-
class="
|
|
18
|
+
class="h6 mt-1"
|
|
19
19
|
type="text"
|
|
20
20
|
:class="{ 'border border-danger': 0 === countName || !validName }"
|
|
21
21
|
>
|
|
22
22
|
<p
|
|
23
|
-
class="d-flex justify-content-end
|
|
23
|
+
class="d-flex justify-content-end h6 mb-0"
|
|
24
24
|
:class="{ 'text-danger': !validName }"
|
|
25
25
|
>
|
|
26
26
|
{{ countName + ' / ' + maxName }}
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
/>
|
|
52
52
|
<template v-if="textareaFocus">
|
|
53
53
|
<p
|
|
54
|
-
class="d-flex justify-content-end
|
|
54
|
+
class="d-flex justify-content-end h6"
|
|
55
55
|
:class="{ 'text-danger': !validComment }"
|
|
56
56
|
>
|
|
57
57
|
{{ countComment + ' / ' + maxComment }}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
:class="{ 'border border-danger': 0 === countName || !validName }"
|
|
16
16
|
>
|
|
17
17
|
<p
|
|
18
|
-
class="d-flex justify-content-end
|
|
18
|
+
class="d-flex justify-content-end h6"
|
|
19
19
|
:class="{ 'text-danger': !validName }"
|
|
20
20
|
>
|
|
21
21
|
{{ countName + ' / ' + maxName }}
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
type="text"
|
|
28
28
|
/>
|
|
29
29
|
<p
|
|
30
|
-
class="d-flex justify-content-end
|
|
30
|
+
class="d-flex justify-content-end h6"
|
|
31
31
|
:class="{ 'text-danger': !validComment }"
|
|
32
32
|
>
|
|
33
33
|
{{ countComment + ' / ' + maxComment }}
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
</div>
|
|
21
21
|
<div
|
|
22
22
|
v-if="displayContent"
|
|
23
|
-
class="
|
|
23
|
+
class="h6 mt-auto"
|
|
24
24
|
>
|
|
25
|
-
<div class="primary
|
|
25
|
+
<div class="text-primary flex-shrink-0">
|
|
26
26
|
{{ displayContent.name }}
|
|
27
27
|
</div>
|
|
28
28
|
<div class="ms-1 me-1">
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
class="advanced-search-container"
|
|
16
16
|
>
|
|
17
17
|
<div class="d-flex flex-column">
|
|
18
|
-
<div class="primary
|
|
18
|
+
<div class="text-primary mb-2">
|
|
19
19
|
{{ $t('Filter') }}
|
|
20
20
|
</div>
|
|
21
21
|
<MonetizableFilter
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
</div>
|
|
60
60
|
</div>
|
|
61
61
|
<div class="d-flex flex-column">
|
|
62
|
-
<div class="primary
|
|
62
|
+
<div class="text-primary mb-2">
|
|
63
63
|
{{ $t('Sort') }}
|
|
64
64
|
</div>
|
|
65
65
|
<SearchOrder
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<option value="YES">{{ $t('Authorized advertising') }}</option>
|
|
13
13
|
<option value="NO">{{ $t('Prohibited advertising') }}</option>
|
|
14
14
|
</select>
|
|
15
|
-
<div class="saooti-down octopus-arrow-down" />
|
|
15
|
+
<div class="saooti-down octopus-arrow-down octopus-arrow-down-absolute" />
|
|
16
16
|
</label>
|
|
17
17
|
</div>
|
|
18
18
|
</template>
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
/>
|
|
14
14
|
<span class="mx-1">:</span>
|
|
15
15
|
<Popover
|
|
16
|
+
:title="$t('Animated by')"
|
|
16
17
|
:target="idPopover"
|
|
17
18
|
>
|
|
18
19
|
<div
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
<!-- eslint-disable vue/no-v-html -->
|
|
25
26
|
<div
|
|
26
27
|
v-if="participant.description"
|
|
27
|
-
class="
|
|
28
|
+
class="participant-desc html-wysiwyg-content"
|
|
28
29
|
v-html="participant.description"
|
|
29
30
|
/>
|
|
30
31
|
<!-- eslint-enable -->
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
<div
|
|
43
43
|
v-show="!playingPodcast"
|
|
44
44
|
:title="$t('Play')"
|
|
45
|
-
class="saooti-play primary
|
|
45
|
+
class="saooti-play text-primary"
|
|
46
46
|
/>
|
|
47
47
|
<div
|
|
48
48
|
v-if="!classicPodcastPlay"
|
|
@@ -70,14 +70,14 @@
|
|
|
70
70
|
</div>
|
|
71
71
|
<div
|
|
72
72
|
v-if="!classicPodcastPlay"
|
|
73
|
-
class="
|
|
73
|
+
class="h6 mt-3 fw-bolder"
|
|
74
74
|
>
|
|
75
75
|
{{ textVisible }}
|
|
76
76
|
</div>
|
|
77
77
|
</button>
|
|
78
78
|
<div
|
|
79
79
|
v-if="displayDescription && isMobile"
|
|
80
|
-
class="background-icon primary
|
|
80
|
+
class="background-icon bg-primary saooti-arrow-up"
|
|
81
81
|
:class="isDescription ? 'saooti-arrow-down':'saooti-arrow-up'"
|
|
82
82
|
:title="isDescription ? $t('Hide description'):$t('Show description')"
|
|
83
83
|
@click="showDescription"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="d-contents podcast-item-info">
|
|
3
3
|
<div class="d-flex justify-content-between flex-wrap text-secondary mb-3">
|
|
4
|
-
<div class="me-3
|
|
4
|
+
<div class="me-3 h6">
|
|
5
5
|
{{ date }}
|
|
6
6
|
</div>
|
|
7
7
|
<div
|
|
8
8
|
v-if="0 !== durationString.length"
|
|
9
|
-
class="
|
|
9
|
+
class="h6"
|
|
10
10
|
>
|
|
11
11
|
{{ durationString }}
|
|
12
12
|
</div>
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
<div
|
|
48
48
|
v-if="undefined!==option"
|
|
49
49
|
class="multiselect-octopus-proposition"
|
|
50
|
-
:class="option.rubriqueId <= 0 ? 'primary
|
|
50
|
+
:class="option.rubriqueId <= 0 ? 'text-primary' : ''"
|
|
51
51
|
:data-selenium="'rubric-chooser-' + seleniumFormat(option.name)"
|
|
52
52
|
>
|
|
53
53
|
<span class="option__title">{{ option.name }}</span>
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
{{ $t('No elements found. Consider changing the search query.') }}
|
|
61
61
|
</template>
|
|
62
62
|
<template #caret>
|
|
63
|
-
<span class="saooti-down octopus-arrow-down" />
|
|
63
|
+
<span class="saooti-down octopus-arrow-down octopus-arrow-down-absolute" />
|
|
64
64
|
</template>
|
|
65
65
|
</VueMultiselect>
|
|
66
66
|
</div>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<h3>{{ $t('Distribute') }}</h3>
|
|
4
4
|
<p class="sharing-distribution-container">
|
|
5
5
|
{{ $t('Rss feed:') }}
|
|
6
|
-
</p><div class="primary
|
|
6
|
+
</p><div class="text-primary hide-small-screen text-break">
|
|
7
7
|
{{ rss }}
|
|
8
8
|
</div>
|
|
9
9
|
<input
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
class="btn btn-primary"
|
|
13
13
|
:title="$t('Copy')"
|
|
14
14
|
@click="onCopyCode(rss, afterCopy)"
|
|
15
|
-
|
|
15
|
+
>
|
|
16
16
|
<RssSection
|
|
17
17
|
v-if="emission"
|
|
18
18
|
:emission="emission"
|
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
>
|
|
6
|
-
<input
|
|
7
|
-
:id="idCheckbox"
|
|
8
|
-
v-model="textValue"
|
|
9
|
-
type="checkbox"
|
|
10
|
-
class="form-check-input"
|
|
11
|
-
:disabled="isDisabled"
|
|
12
|
-
:title="displayLabel?'':label"
|
|
13
|
-
:data-selenium="selenium"
|
|
14
|
-
@click="emitClickAction"
|
|
2
|
+
<div class="d-flex octopus-form-item">
|
|
3
|
+
<div
|
|
4
|
+
:class="isSwitch?'octopus-form-switch me-2':''"
|
|
15
5
|
>
|
|
6
|
+
<input
|
|
7
|
+
:id="idCheckbox"
|
|
8
|
+
v-model="textValue"
|
|
9
|
+
type="checkbox"
|
|
10
|
+
:disabled="isDisabled"
|
|
11
|
+
:title="displayLabel?'':label"
|
|
12
|
+
:data-selenium="selenium"
|
|
13
|
+
@click="emitClickAction"
|
|
14
|
+
>
|
|
15
|
+
<span
|
|
16
|
+
v-if="isSwitch"
|
|
17
|
+
class="slider"
|
|
18
|
+
@click="textValue=!textValue;emitClickAction"
|
|
19
|
+
/>
|
|
20
|
+
</div>
|
|
16
21
|
<label
|
|
17
|
-
class="
|
|
22
|
+
class="c-hand"
|
|
18
23
|
:class="displayLabel? '': 'd-none'"
|
|
19
24
|
:for="idCheckbox"
|
|
20
25
|
>{{ label }}</label>
|
|
@@ -64,3 +69,57 @@ export default defineComponent({
|
|
|
64
69
|
}
|
|
65
70
|
});
|
|
66
71
|
</script>
|
|
72
|
+
|
|
73
|
+
<style lang="scss">
|
|
74
|
+
@import '@scss/_variables.scss';
|
|
75
|
+
.octopus-app{
|
|
76
|
+
input[type="checkbox"] {
|
|
77
|
+
accent-color: $octopus-primary-color;
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
margin-right: 5px;
|
|
80
|
+
}
|
|
81
|
+
.octopus-form-switch{
|
|
82
|
+
position: relative;
|
|
83
|
+
display: inline-block;
|
|
84
|
+
width: 2rem;
|
|
85
|
+
height: 1rem;
|
|
86
|
+
input{
|
|
87
|
+
opacity: 0;
|
|
88
|
+
width: 0;
|
|
89
|
+
height: 0;
|
|
90
|
+
}
|
|
91
|
+
.slider{
|
|
92
|
+
position: absolute;
|
|
93
|
+
cursor: pointer;
|
|
94
|
+
top: 0;
|
|
95
|
+
left: 0;
|
|
96
|
+
right: 0;
|
|
97
|
+
bottom: 0;
|
|
98
|
+
background-color: #ccc;
|
|
99
|
+
transition: .4s;
|
|
100
|
+
border-radius: 1rem;
|
|
101
|
+
}
|
|
102
|
+
.slider:before {
|
|
103
|
+
position: absolute;
|
|
104
|
+
content: "";
|
|
105
|
+
height: 0.8rem;
|
|
106
|
+
width: 0.8rem;
|
|
107
|
+
left: 2px;
|
|
108
|
+
bottom: 2px;
|
|
109
|
+
background-color: white;
|
|
110
|
+
transition: .4s;
|
|
111
|
+
border-radius: 50%;
|
|
112
|
+
}
|
|
113
|
+
input:checked + .slider {
|
|
114
|
+
background-color: $octopus-primary-color;
|
|
115
|
+
}
|
|
116
|
+
input:focus + .slider {
|
|
117
|
+
box-shadow: 0 0 1px $octopus-primary-color;
|
|
118
|
+
}
|
|
119
|
+
input:checked + .slider:before {
|
|
120
|
+
transform: translateX(1rem);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
</style>
|
|
@@ -6,20 +6,19 @@
|
|
|
6
6
|
<div
|
|
7
7
|
v-for="option in options"
|
|
8
8
|
:key="option.title"
|
|
9
|
-
class="form-
|
|
9
|
+
class="octopus-form-item"
|
|
10
10
|
:class="isColumn? '':'me-2'"
|
|
11
11
|
>
|
|
12
12
|
<input
|
|
13
13
|
:id="idRadio + option.value"
|
|
14
14
|
v-model="textValue"
|
|
15
|
-
class="form-check-input"
|
|
16
15
|
type="radio"
|
|
17
16
|
:name="idRadio"
|
|
18
17
|
:value="option.value"
|
|
19
18
|
:disabled="isDisabled"
|
|
20
19
|
>
|
|
21
20
|
<label
|
|
22
|
-
class="
|
|
21
|
+
class="c-hand"
|
|
23
22
|
:for="idRadio + option.value"
|
|
24
23
|
>{{
|
|
25
24
|
option.title
|
|
@@ -64,3 +63,13 @@ export default defineComponent({
|
|
|
64
63
|
}
|
|
65
64
|
});
|
|
66
65
|
</script>
|
|
66
|
+
<style lang="scss">
|
|
67
|
+
@import '@scss/_variables.scss';
|
|
68
|
+
.octopus-app{
|
|
69
|
+
input[type="radio"] {
|
|
70
|
+
accent-color: $octopus-primary-color;
|
|
71
|
+
cursor: pointer;
|
|
72
|
+
margin-right: 5px;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
</style>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
:id="idSelect"
|
|
10
10
|
v-model="textValue"
|
|
11
11
|
:disabled="isDisabled"
|
|
12
|
-
class="c-hand"
|
|
12
|
+
class="c-hand w-100"
|
|
13
13
|
:style="getFontFamily"
|
|
14
14
|
>
|
|
15
15
|
<option
|
|
@@ -68,11 +68,4 @@ export default defineComponent({
|
|
|
68
68
|
},
|
|
69
69
|
},
|
|
70
70
|
});
|
|
71
|
-
</script>
|
|
72
|
-
<style lang="scss">
|
|
73
|
-
.octopus-app{
|
|
74
|
-
.classic-select select{
|
|
75
|
-
width: inherit;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
</style>
|
|
71
|
+
</script>
|
|
@@ -1,13 +1,26 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="octopus-accordion"
|
|
3
|
+
class="octopus-accordion my-2"
|
|
4
4
|
>
|
|
5
5
|
<button
|
|
6
|
-
|
|
6
|
+
:id="'accordion-'+idComposer"
|
|
7
|
+
class="btn-transparent bg-white w-100 p-2 text-start d-flex align-items-center"
|
|
8
|
+
:class="isOpen?'really-light-primary-bg':''"
|
|
7
9
|
@click="isOpen=!isOpen"
|
|
8
10
|
>
|
|
11
|
+
<span
|
|
12
|
+
v-if="icon"
|
|
13
|
+
class="img-accordion text-primary"
|
|
14
|
+
:class="icon"
|
|
15
|
+
/>
|
|
16
|
+
<img
|
|
17
|
+
v-if="imageUrl"
|
|
18
|
+
class="img-accordion"
|
|
19
|
+
:src="imageUrl"
|
|
20
|
+
:alt="title"
|
|
21
|
+
>
|
|
9
22
|
<span class="flex-grow-1">{{ title }}</span>
|
|
10
|
-
<span class="saooti-down" />
|
|
23
|
+
<span :class="isOpen?'saooti-up': 'saooti-down'" />
|
|
11
24
|
</button>
|
|
12
25
|
<div
|
|
13
26
|
v-show="isOpen"
|
|
@@ -24,6 +37,9 @@ export default defineComponent({
|
|
|
24
37
|
name: "Accordion",
|
|
25
38
|
props: {
|
|
26
39
|
title: { default: '', type: String },
|
|
40
|
+
idComposer: { default: '', type: String },
|
|
41
|
+
icon:{default: undefined, type: String },
|
|
42
|
+
imageUrl:{default: undefined, type: String },
|
|
27
43
|
},
|
|
28
44
|
emits:['open'],
|
|
29
45
|
data () {
|
|
@@ -41,6 +57,18 @@ export default defineComponent({
|
|
|
41
57
|
<style lang="scss">
|
|
42
58
|
.octopus-accordion{
|
|
43
59
|
border: 1px solid #ccc;
|
|
60
|
+
>button{
|
|
61
|
+
height: 50px;
|
|
62
|
+
}
|
|
63
|
+
.img-accordion {
|
|
64
|
+
width: 30px;
|
|
65
|
+
height: 30px;
|
|
66
|
+
margin-right: 1rem;
|
|
67
|
+
font-size: 20px;
|
|
68
|
+
display: flex;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
align-items: center;
|
|
71
|
+
}
|
|
44
72
|
.body{
|
|
45
73
|
border-top: 1px solid #ccc;
|
|
46
74
|
}
|
|
@@ -2,21 +2,23 @@
|
|
|
2
2
|
<ul class="octopus-nav">
|
|
3
3
|
<li
|
|
4
4
|
v-for="index in tabNumber"
|
|
5
|
+
v-show="hasSlot(index-1)"
|
|
5
6
|
:key="index-1"
|
|
6
7
|
class="octopus-nav-item"
|
|
7
8
|
>
|
|
8
9
|
<div
|
|
9
10
|
class="octopus-nav-link"
|
|
10
11
|
:class="activeTab === (index-1)? 'active':''"
|
|
11
|
-
@click="activeTab
|
|
12
|
+
@click="$emit('update:activeTab',(index-1))"
|
|
12
13
|
>
|
|
13
14
|
<slot :name="(index-1)" />
|
|
14
15
|
</div>
|
|
15
16
|
</li>
|
|
16
17
|
</ul>
|
|
17
|
-
<div class="octopus-tab-content">
|
|
18
|
+
<div :class="transparent? 'd-flex flex-grow-1':'octopus-tab-content'">
|
|
18
19
|
<div
|
|
19
20
|
v-for="index in tabNumber"
|
|
21
|
+
v-show="hasSlot('tab'+(index-1))"
|
|
20
22
|
:key="index-1"
|
|
21
23
|
class="octopus-tab-pane"
|
|
22
24
|
:class="activeTab === (index-1)? 'active':''"
|
|
@@ -32,12 +34,15 @@ export default defineComponent({
|
|
|
32
34
|
name: 'Nav',
|
|
33
35
|
props: {
|
|
34
36
|
tabNumber: { default: 0, type: Number},
|
|
37
|
+
activeTab: { default: 0, type: Number},
|
|
38
|
+
transparent:{ default: false, type: Boolean},
|
|
35
39
|
},
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
emits:['update:activeTab'],
|
|
41
|
+
methods:{
|
|
42
|
+
hasSlot(name = 'default') {
|
|
43
|
+
return !!this.$slots[ name ];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
41
46
|
})
|
|
42
47
|
</script>
|
|
43
48
|
|
|
@@ -49,6 +54,7 @@ export default defineComponent({
|
|
|
49
54
|
flex-wrap: wrap;
|
|
50
55
|
padding-left: 0;
|
|
51
56
|
margin-bottom: 0;
|
|
57
|
+
margin-top: 0;
|
|
52
58
|
list-style: none;
|
|
53
59
|
border-bottom: 0.05rem solid #ddd;
|
|
54
60
|
}
|
|
@@ -86,6 +92,7 @@ export default defineComponent({
|
|
|
86
92
|
display: flex;
|
|
87
93
|
justify-content: space-between;
|
|
88
94
|
padding: 0.5rem;
|
|
95
|
+
flex-grow: 1;
|
|
89
96
|
}
|
|
90
97
|
}
|
|
91
98
|
}
|
|
@@ -80,6 +80,9 @@ export default defineComponent({
|
|
|
80
80
|
}
|
|
81
81
|
},
|
|
82
82
|
setPopoverData (e: MouseEvent|PointerEvent) {
|
|
83
|
+
if(this.disable){
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
83
86
|
if(e && e.target){
|
|
84
87
|
if("click"===e.type){
|
|
85
88
|
if(this.show && this.isClick){
|
|
@@ -141,7 +144,6 @@ export default defineComponent({
|
|
|
141
144
|
width: 100%;
|
|
142
145
|
padding: 0.25rem 1rem;
|
|
143
146
|
font-weight: 400;
|
|
144
|
-
text-align: inherit;
|
|
145
147
|
text-decoration: none;
|
|
146
148
|
white-space: nowrap;
|
|
147
149
|
background-color: transparent;
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div
|
|
3
|
+
class="octopus-spinner"
|
|
4
|
+
:class="small?'small':''"
|
|
5
|
+
/>
|
|
3
6
|
</template>
|
|
4
7
|
|
|
5
8
|
<script lang="ts">
|
|
6
9
|
import { defineComponent } from 'vue';
|
|
7
10
|
export default defineComponent({
|
|
8
11
|
name: "Spinner",
|
|
12
|
+
props: {
|
|
13
|
+
small: { default: false, type: Boolean },
|
|
14
|
+
},
|
|
9
15
|
})
|
|
10
16
|
</script>
|
|
11
17
|
<style lang="scss">
|
|
@@ -15,10 +21,15 @@ export default defineComponent({
|
|
|
15
21
|
height:2rem;
|
|
16
22
|
border-radius: 50%;
|
|
17
23
|
animation: 0.75s linear infinite spinner-border;
|
|
18
|
-
border:
|
|
24
|
+
border: 2px solid currentcolor;
|
|
19
25
|
border-right-color: transparent;
|
|
20
26
|
flex-shrink: 0;
|
|
21
27
|
|
|
28
|
+
&.small{
|
|
29
|
+
width:1rem;
|
|
30
|
+
height:1rem;
|
|
31
|
+
}
|
|
32
|
+
|
|
22
33
|
@keyframes spinner-border {
|
|
23
34
|
to { transform: rotate(360deg); }
|
|
24
35
|
}
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
/>
|
|
54
54
|
<div class="d-flex flex-column">
|
|
55
55
|
<div class="hosted-by">
|
|
56
|
-
{{ $t('Hosted by') }}<span class="ms-1 me-1 primary
|
|
56
|
+
{{ $t('Hosted by') }}<span class="ms-1 me-1 text-primary">Saooti</span>
|
|
57
57
|
</div>
|
|
58
58
|
<div class="d-flex justify-content-end flex-nowrap">
|
|
59
59
|
<HomeDropdown :is-education="isEducation" />
|
|
@@ -91,6 +91,11 @@ export default defineComponent({
|
|
|
91
91
|
position: relative;
|
|
92
92
|
flex: 1 1 auto;
|
|
93
93
|
padding: 1rem;
|
|
94
|
+
overflow-x: auto;
|
|
95
|
+
.scroller-vertical {
|
|
96
|
+
min-height: 200px;
|
|
97
|
+
height: 200px;
|
|
98
|
+
}
|
|
94
99
|
}
|
|
95
100
|
.octopus-modal-header {
|
|
96
101
|
display: flex;
|
|
@@ -103,13 +108,7 @@ export default defineComponent({
|
|
|
103
108
|
color: white;
|
|
104
109
|
padding: 1rem;
|
|
105
110
|
}
|
|
106
|
-
|
|
107
|
-
overflow-x: auto;
|
|
108
|
-
.scroller-vertical {
|
|
109
|
-
min-height: 200px;
|
|
110
|
-
height: 200px;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
111
|
+
|
|
113
112
|
.octopus-modal-dialog, .octopus-modal-content {
|
|
114
113
|
min-height: 300px;
|
|
115
114
|
}
|
|
@@ -275,8 +275,7 @@ export default defineComponent({
|
|
|
275
275
|
this.initData();
|
|
276
276
|
},
|
|
277
277
|
methods: {
|
|
278
|
-
closePopup(
|
|
279
|
-
event.preventDefault();
|
|
278
|
+
closePopup(): void {
|
|
280
279
|
this.$emit('close');
|
|
281
280
|
},
|
|
282
281
|
getName(person: Participant): string {
|
|
@@ -110,8 +110,8 @@ export const playerLogic = defineComponent({
|
|
|
110
110
|
this.$store.commit('player/transcript',{actual: 0,actualText:actualText, value : arrayTranscript});
|
|
111
111
|
},
|
|
112
112
|
parseSrt(transcript: string){
|
|
113
|
-
|
|
114
|
-
|
|
113
|
+
const pattern = /(\d+)\n([\d:,]+)\s+-{2}\>\s+([\d:,]+)\n([\s\S]*?(?=\n{2}|$))/gm;
|
|
114
|
+
const result = [];
|
|
115
115
|
if (typeof(transcript) != 'string'){
|
|
116
116
|
return;
|
|
117
117
|
}
|
|
@@ -130,7 +130,7 @@ export const playerLogic = defineComponent({
|
|
|
130
130
|
return result;
|
|
131
131
|
},
|
|
132
132
|
srtTimeToSeconds(time:string): number{
|
|
133
|
-
|
|
133
|
+
const a = time.split(':');
|
|
134
134
|
return (+a[0]) * 60 * 60 + (+a[1]) * 60 + (+parseFloat(a[2]));
|
|
135
135
|
},
|
|
136
136
|
getDomain(): string{
|
package/src/assets/modal.scss
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
//Modal
|
|
2
|
-
.octopus-app{
|
|
3
|
-
.octopus-modal{
|
|
4
|
-
position: fixed;
|
|
5
|
-
top: 0;
|
|
6
|
-
left: 0;
|
|
7
|
-
display: block;
|
|
8
|
-
z-index: 1055;
|
|
9
|
-
width: 100%;
|
|
10
|
-
height: 100%;
|
|
11
|
-
overflow-x: hidden;
|
|
12
|
-
overflow-y: auto;
|
|
13
|
-
outline: 0;
|
|
14
|
-
}
|
|
15
|
-
.octopus-modal-backdrop {
|
|
16
|
-
opacity: 0.5;
|
|
17
|
-
z-index: 0;
|
|
18
|
-
position: fixed;
|
|
19
|
-
top: 0;
|
|
20
|
-
left: 0;
|
|
21
|
-
width: 100vw;
|
|
22
|
-
height: 100vh;
|
|
23
|
-
background-color: black;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.octopus-modal-dialog {
|
|
27
|
-
position: relative;
|
|
28
|
-
pointer-events: none;
|
|
29
|
-
margin: 1.75rem auto;
|
|
30
|
-
max-height: 75vh;
|
|
31
|
-
max-width: 640px;
|
|
32
|
-
width: 100%;
|
|
33
|
-
display: flex;
|
|
34
|
-
color: #353535 !important;
|
|
35
|
-
@media (max-width: 500px){
|
|
36
|
-
width: 95%;
|
|
37
|
-
margin: 2.5% !important;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
.octopus-modal-body{
|
|
41
|
-
position: relative;
|
|
42
|
-
flex: 1 1 auto;
|
|
43
|
-
padding: 1rem;
|
|
44
|
-
}
|
|
45
|
-
.octopus-modal-header {
|
|
46
|
-
display: flex;
|
|
47
|
-
flex-shrink: 0;
|
|
48
|
-
align-items: center;
|
|
49
|
-
justify-content: space-between;
|
|
50
|
-
border: 0;
|
|
51
|
-
border-radius: 0.8rem 0.8rem 0 0;
|
|
52
|
-
background: $octopus-primary-color;
|
|
53
|
-
color: white;
|
|
54
|
-
padding: 1rem;
|
|
55
|
-
}
|
|
56
|
-
.octopus-modal-body{
|
|
57
|
-
overflow-x: auto;
|
|
58
|
-
.scroller-vertical {
|
|
59
|
-
min-height: 200px;
|
|
60
|
-
height: 200px;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
.octopus-modal-dialog, .octopus-modal-content {
|
|
64
|
-
min-height: 300px;
|
|
65
|
-
}
|
|
66
|
-
.octopus-modal-content{
|
|
67
|
-
position: relative;
|
|
68
|
-
display: flex;
|
|
69
|
-
flex-direction: column;
|
|
70
|
-
pointer-events: auto;
|
|
71
|
-
width: 100%;
|
|
72
|
-
background-color: white;
|
|
73
|
-
background-clip: padding-box;
|
|
74
|
-
border: 0;
|
|
75
|
-
outline: 0;
|
|
76
|
-
height: auto !important;
|
|
77
|
-
max-height: calc(100vh - 250px) !important;
|
|
78
|
-
border-radius: 0.8rem;
|
|
79
|
-
box-shadow: 0 0.2rem 0.5rem rgba(40,40,40,.3);
|
|
80
|
-
}
|
|
81
|
-
.octopus-modal-footer{
|
|
82
|
-
display: flex;
|
|
83
|
-
flex-shrink: 0;
|
|
84
|
-
border: 0;
|
|
85
|
-
flex-wrap: initial;
|
|
86
|
-
align-items: center;
|
|
87
|
-
justify-content: flex-end;
|
|
88
|
-
padding: 1rem;
|
|
89
|
-
}
|
|
90
|
-
}
|