@saooti/octopus-sdk 33.2.0 → 33.2.2
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 +10 -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
|
}
|
|
@@ -136,6 +135,10 @@ export default defineComponent({
|
|
|
136
135
|
align-items: center;
|
|
137
136
|
justify-content: flex-end;
|
|
138
137
|
padding: 1rem;
|
|
138
|
+
flex-wrap
|
|
139
|
+
button{
|
|
140
|
+
margin: 0.1rem;
|
|
141
|
+
}
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
144
|
</style>
|
|
@@ -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
|
-
}
|