@saooti/octopus-sdk 39.2.18 → 39.3.0
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.html +0 -1
- package/index.ts +15 -0
- package/package.json +2 -1
- package/plateform.conf +1 -1
- package/src/assets/bootstrap.scss +3 -0
- package/src/assets/general.scss +5 -0
- package/src/assets/share.scss +0 -38
- package/src/components/display/categories/CategoryList.vue +7 -2
- package/src/components/display/comments/CommentList.vue +9 -13
- package/src/components/display/comments/CommentSection.vue +6 -2
- package/src/components/display/comments/item/CommentBasicView.vue +3 -1
- package/src/components/display/comments/item/CommentItem.vue +4 -8
- package/src/components/display/comments/item/CommentMoreActions.vue +8 -4
- package/src/components/display/comments/like/LikeButton.vue +24 -3
- package/src/components/display/emission/EmissionItem.vue +7 -2
- package/src/components/display/emission/EmissionPlayerItem.vue +6 -2
- package/src/components/display/filter/AdvancedSearch.vue +3 -4
- package/src/components/display/filter/ProductorSearch.vue +1 -1
- package/src/components/display/filter/RubriqueChoice.vue +6 -2
- package/src/components/display/list/ListPaginate.vue +3 -1
- package/src/components/display/live/RadioImage.vue +5 -2
- package/src/components/display/organisation/OrganisationChooser.vue +1 -1
- package/src/components/display/participant/ParticipantItem.vue +7 -2
- package/src/components/display/podcasts/DownloadPodcastButton.vue +7 -7
- package/src/components/display/podcasts/PodcastImage.vue +10 -6
- package/src/components/display/podcasts/PodcastInlineListTemplate.vue +17 -5
- package/src/components/display/podcasts/PodcastModuleBox.vue +3 -2
- package/src/components/display/podcasts/PodcastPlayButton.vue +37 -27
- package/src/components/display/rubriques/RubriqueList.vue +7 -2
- package/src/components/display/sharing/ShareButtons.vue +36 -25
- package/src/components/display/sharing/ShareDistribution.vue +40 -12
- package/src/components/display/sharing/SubscribeButtons.vue +68 -36
- package/src/components/form/ClassicDatePicker.vue +4 -2
- package/src/components/form/ClassicEmojiPicker.vue +3 -14
- package/src/components/form/ClassicInputText.vue +8 -5
- package/src/components/form/ClassicMultiselect.vue +3 -1
- package/src/components/form/ClassicSearch.vue +15 -10
- package/src/components/form/ClassicWysiwyg.vue +24 -80
- package/src/components/icons/AmazonMusicIcon.vue +95 -0
- package/src/components/icons/ApplePodcastIcon.vue +43 -0
- package/src/components/icons/DeezerIcon.vue +32 -0
- package/src/components/icons/EditFtpIcon.vue +33 -0
- package/src/components/icons/IHeartIcon.vue +35 -0
- package/src/components/icons/PlayVideoIcon.vue +33 -0
- package/src/components/icons/PlayerFmIcon.vue +32 -0
- package/src/components/icons/PocketCastIcon.vue +32 -0
- package/src/components/icons/PodcastAddictIcon.vue +33 -0
- package/src/components/icons/RadiolineIcon.vue +33 -0
- package/src/components/icons/TuninIcon.vue +32 -0
- package/src/components/icons/XIcon.vue +32 -0
- package/src/components/misc/AcpmImage.vue +0 -1
- package/src/components/misc/ClassicAccordion.vue +13 -4
- package/src/components/misc/ClassicPopover.vue +27 -1
- package/src/components/misc/ErrorMessage.vue +7 -2
- package/src/components/misc/HomeDropdown.vue +67 -60
- package/src/components/misc/MobileMenu.vue +46 -44
- package/src/components/misc/TopBar.vue +15 -5
- package/src/components/misc/TopBarMainContent.vue +11 -5
- package/src/components/misc/modal/ClassicModal.vue +14 -4
- package/src/components/misc/modal/NewsletterModal.vue +4 -2
- package/src/components/misc/modal/ShareModalPlayer.vue +21 -18
- package/src/components/misc/player/PlayerCompact.vue +12 -4
- package/src/components/misc/player/PlayerLarge.vue +18 -10
- package/src/components/misc/player/chaptering/ChapteringModal.vue +3 -14
- package/src/components/misc/player/chaptering/PlayerChaptering.vue +3 -1
- package/src/components/misc/player/elements/PlayerImage.vue +9 -5
- package/src/components/misc/player/elements/PlayerPlayButton.vue +6 -2
- package/src/components/misc/player/elements/PlayerSpeedButton.vue +1 -0
- package/src/components/misc/player/radio/RadioHistory.vue +14 -5
- package/src/components/misc/player/video/PlayerVideo.vue +5 -4
- package/src/components/mixins/init.ts +3 -1
- package/src/components/mixins/orgaComputed.ts +1 -1
- package/src/components/mixins/player/playerLogic.ts +1 -1
- package/src/components/pages/EmissionPage.vue +2 -1
- package/src/components/pages/ParticipantPage.vue +1 -1
- package/src/components/pages/PlaylistPage.vue +2 -1
- package/src/components/pages/VideoPage.vue +8 -3
- package/src/locale/de.ts +1 -0
- package/src/locale/en.ts +1 -0
- package/src/locale/es.ts +1 -0
- package/src/locale/fr.ts +1 -0
- package/src/locale/it.ts +1 -0
- package/src/locale/sl.ts +1 -0
- package/src/components/display/comments/like/ThumbIcon.vue +0 -38
package/index.html
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
6
6
|
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
7
7
|
<link rel="icon" href="/favicon.ico">
|
|
8
|
-
<link rel="stylesheet" href="/css/fonts/style.css">
|
|
9
8
|
<title>octopus-library</title>
|
|
10
9
|
</head>
|
|
11
10
|
<body>
|
package/index.ts
CHANGED
|
@@ -117,6 +117,21 @@ import {useAuthStore} from "./src/stores/AuthStore.ts";
|
|
|
117
117
|
import {getApiUrl, ModuleApi} from "./src/api/apiConnection.ts";
|
|
118
118
|
import classicApi from "./src/api/classicApi.ts";
|
|
119
119
|
|
|
120
|
+
//Icons
|
|
121
|
+
export const getAmazonMusicIcon = () => import("./src/components/icons/AmazonMusicIcon.vue");
|
|
122
|
+
export const getApplePodcastIcon = () => import("./src/components/icons/ApplePodcastIcon.vue");
|
|
123
|
+
export const getDeezerIcon = () => import("./src/components/icons/DeezerIcon.vue");
|
|
124
|
+
export const getEditFtpIcon = () => import("./src/components/icons/EditFtpIcon.vue");
|
|
125
|
+
export const getIHeartIcon = () => import("./src/components/icons/IHeartIcon.vue");
|
|
126
|
+
export const getPlayerFmIcon = () => import("./src/components/icons/PlayerFmIcon.vue");
|
|
127
|
+
export const getPlayVideoIcon = () => import("./src/components/icons/PlayVideoIcon.vue");
|
|
128
|
+
export const getPocketCastIcon = () => import("./src/components/icons/PocketCastIcon.vue");
|
|
129
|
+
export const getPodcastAddictIcon = () => import("./src/components/icons/PodcastAddictIcon.vue");
|
|
130
|
+
export const getRadiolineIcon = () => import("./src/components/icons/RadiolineIcon.vue");
|
|
131
|
+
export const getTuninIcon = () => import("./src/components/icons/TuninIcon.vue");
|
|
132
|
+
export const getXIcon = () => import("./src/components/icons/XIcon.vue");
|
|
133
|
+
|
|
134
|
+
|
|
120
135
|
export {
|
|
121
136
|
selenium,
|
|
122
137
|
cookies,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saooti/octopus-sdk",
|
|
3
|
-
"version": "39.
|
|
3
|
+
"version": "39.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Javascript SDK for using octopus",
|
|
6
6
|
"author": "Saooti",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"vite": "^5.4.11",
|
|
52
52
|
"vue": "^3.5.12",
|
|
53
53
|
"vue-i18n": "^9.14.1",
|
|
54
|
+
"vue-material-design-icons": "^5.3.1",
|
|
54
55
|
"vue-recaptcha": "^2.0.3",
|
|
55
56
|
"vue-router": "^4.4.5",
|
|
56
57
|
"vue-select": "^4.0.0-beta.6",
|
package/plateform.conf
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
dev2.saooti.org
|
package/src/assets/general.scss
CHANGED
|
@@ -27,6 +27,11 @@ body{
|
|
|
27
27
|
outline: none;
|
|
28
28
|
box-shadow: 0 0 10px 1px octopusVariables.$octopus-primary-color !important;
|
|
29
29
|
}
|
|
30
|
+
span.material-design-icon{
|
|
31
|
+
display: flex;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
align-items: center;
|
|
34
|
+
}
|
|
30
35
|
a{
|
|
31
36
|
word-break: break-word;
|
|
32
37
|
text-decoration: none;
|
package/src/assets/share.scss
CHANGED
|
@@ -45,24 +45,6 @@
|
|
|
45
45
|
padding-bottom: 120px;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
-
.saooti-help {
|
|
49
|
-
font-size: 1.2rem;
|
|
50
|
-
border-radius: 50%;
|
|
51
|
-
margin: 0 auto;
|
|
52
|
-
align-items: center;
|
|
53
|
-
width: 2rem;
|
|
54
|
-
height: 2rem;
|
|
55
|
-
vertical-align: middle;
|
|
56
|
-
cursor: pointer;
|
|
57
|
-
font-weight: bold;
|
|
58
|
-
background: transparent;
|
|
59
|
-
display: flex;
|
|
60
|
-
justify-self: center;
|
|
61
|
-
justify-content: center;
|
|
62
|
-
&:hover {
|
|
63
|
-
border: 0;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
48
|
.page-element{
|
|
67
49
|
margin-top: -6rem;
|
|
68
50
|
position: relative;
|
|
@@ -286,26 +268,6 @@
|
|
|
286
268
|
margin: 0.2rem;
|
|
287
269
|
display: flex;
|
|
288
270
|
align-items: center;
|
|
289
|
-
.saooti-play, .saooti-play-video{
|
|
290
|
-
font-size: 1.8rem;
|
|
291
|
-
color: white;
|
|
292
|
-
}
|
|
293
|
-
@media (min-width: 500px) {
|
|
294
|
-
&.hover-type-video{
|
|
295
|
-
&.has-video{
|
|
296
|
-
.saooti-play-video{
|
|
297
|
-
font-size: 2.5rem;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
&.hover-type-audio{
|
|
302
|
-
&.has-video{
|
|
303
|
-
.saooti-play{
|
|
304
|
-
font-size: 2.5rem;
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
271
|
}
|
|
310
272
|
}
|
|
311
273
|
}
|
|
@@ -17,14 +17,17 @@
|
|
|
17
17
|
<button
|
|
18
18
|
v-show="hidenCategories.length"
|
|
19
19
|
id="categories-dropdown"
|
|
20
|
-
class="btn btn-primary btn-on-dark m-1
|
|
20
|
+
class="btn btn-primary btn-on-dark m-1"
|
|
21
21
|
:title="$t('See more')"
|
|
22
|
-
|
|
22
|
+
>
|
|
23
|
+
<PlusIcon />
|
|
24
|
+
</button>
|
|
23
25
|
<ClassicPopover
|
|
24
26
|
target="categories-dropdown"
|
|
25
27
|
:only-click="true"
|
|
26
28
|
:is-fixed="true"
|
|
27
29
|
:left-pos="true"
|
|
30
|
+
class="popover-z-index"
|
|
28
31
|
>
|
|
29
32
|
<button
|
|
30
33
|
v-for="category in hidenCategories"
|
|
@@ -39,6 +42,7 @@
|
|
|
39
42
|
</template>
|
|
40
43
|
|
|
41
44
|
<script lang="ts">
|
|
45
|
+
import PlusIcon from "vue-material-design-icons/Plus.vue";
|
|
42
46
|
import { routeParams } from "../../mixins/routeParam/routeParams";
|
|
43
47
|
import classicApi from "../../../api/classicApi";
|
|
44
48
|
import { state } from "../../../stores/ParamSdkStore";
|
|
@@ -52,6 +56,7 @@ export default defineComponent({
|
|
|
52
56
|
name: "CategoryList",
|
|
53
57
|
components: {
|
|
54
58
|
ClassicPopover,
|
|
59
|
+
PlusIcon,
|
|
55
60
|
},
|
|
56
61
|
mixins: [routeParams],
|
|
57
62
|
|
|
@@ -11,17 +11,7 @@
|
|
|
11
11
|
id="sort-by-comments"
|
|
12
12
|
class="btn btn-transparent d-flex align-items-center"
|
|
13
13
|
>
|
|
14
|
-
<
|
|
15
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
16
|
-
width="32"
|
|
17
|
-
height="32"
|
|
18
|
-
viewBox="0 0 24 24"
|
|
19
|
-
>
|
|
20
|
-
<path
|
|
21
|
-
fill="currentColor"
|
|
22
|
-
d="M4 18q-.425 0-.712-.288T3 17t.288-.712T4 16h4q.425 0 .713.288T9 17t-.288.713T8 18zm0-5q-.425 0-.712-.288T3 12t.288-.712T4 11h10q.425 0 .713.288T15 12t-.288.713T14 13zm0-5q-.425 0-.712-.288T3 7t.288-.712T4 6h16q.425 0 .713.288T21 7t-.288.713T20 8z"
|
|
23
|
-
/>
|
|
24
|
-
</svg>
|
|
14
|
+
<SortVariantIcon :size="30" />
|
|
25
15
|
<p class="ms-1">{{ $t("Sort by") }}</p>
|
|
26
16
|
</button>
|
|
27
17
|
<ClassicPopover target="sort-by-comments" :only-click="true">
|
|
@@ -60,14 +50,18 @@
|
|
|
60
50
|
/>
|
|
61
51
|
<button
|
|
62
52
|
v-if="!isNotAnAnswerList && dfirst + dsize < totalCount"
|
|
63
|
-
class="btn share-btn mx-2
|
|
53
|
+
class="btn share-btn mx-2"
|
|
64
54
|
:title="$t('See more')"
|
|
65
|
-
|
|
55
|
+
>
|
|
56
|
+
<PlusIcon />
|
|
57
|
+
</button>
|
|
66
58
|
</div>
|
|
67
59
|
</div>
|
|
68
60
|
</template>
|
|
69
61
|
|
|
70
62
|
<script lang="ts">
|
|
63
|
+
import SortVariantIcon from "vue-material-design-icons/SortVariant.vue";
|
|
64
|
+
import PlusIcon from "vue-material-design-icons/Plus.vue";
|
|
71
65
|
import ClassicLoading from "../../form/ClassicLoading.vue";
|
|
72
66
|
import { handle403 } from "../../mixins/handle403";
|
|
73
67
|
import classicApi from "../../../api/classicApi";
|
|
@@ -93,6 +87,8 @@ export default defineComponent({
|
|
|
93
87
|
ClassicLoading,
|
|
94
88
|
CommentItem,
|
|
95
89
|
ClassicPopover,
|
|
90
|
+
PlusIcon,
|
|
91
|
+
SortVariantIcon,
|
|
96
92
|
},
|
|
97
93
|
mixins: [handle403],
|
|
98
94
|
|
|
@@ -4,9 +4,11 @@
|
|
|
4
4
|
<h3 class="mb-0 me-2">{{ $t("Podcast's comments") }}</h3>
|
|
5
5
|
<button
|
|
6
6
|
:title="$t('Refresh')"
|
|
7
|
-
class="btn btn-transparent
|
|
7
|
+
class="btn btn-transparent"
|
|
8
8
|
@click="reload = !reload"
|
|
9
|
-
|
|
9
|
+
>
|
|
10
|
+
<RefreshIcon />
|
|
11
|
+
</button>
|
|
10
12
|
</div>
|
|
11
13
|
<CommentInput
|
|
12
14
|
v-if="canPostComment"
|
|
@@ -25,6 +27,7 @@
|
|
|
25
27
|
</template>
|
|
26
28
|
|
|
27
29
|
<script lang="ts">
|
|
30
|
+
import RefreshIcon from "vue-material-design-icons/Refresh.vue";
|
|
28
31
|
import cookies from "../../mixins/cookies";
|
|
29
32
|
import { Podcast } from "@/stores/class/general/podcast";
|
|
30
33
|
import { defineAsyncComponent, defineComponent } from "vue";
|
|
@@ -43,6 +46,7 @@ export default defineComponent({
|
|
|
43
46
|
components: {
|
|
44
47
|
CommentList,
|
|
45
48
|
CommentInput,
|
|
49
|
+
RefreshIcon,
|
|
46
50
|
},
|
|
47
51
|
mixins: [cookies],
|
|
48
52
|
props: {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
v-if="comment.abuse && editRight"
|
|
22
22
|
class="d-flex align-items-center text-danger me-2"
|
|
23
23
|
>
|
|
24
|
-
<
|
|
24
|
+
<AlertIcon :size="16" class="me-1" />
|
|
25
25
|
{{ $t("abuse denounced", { nb: comment.abuse }) }}
|
|
26
26
|
</div>
|
|
27
27
|
<span v-if="editRight" :class="'status-' + comment.state" />
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
</template>
|
|
40
40
|
|
|
41
41
|
<script lang="ts">
|
|
42
|
+
import AlertIcon from "vue-material-design-icons/Alert.vue";
|
|
42
43
|
import dayjs from "dayjs";
|
|
43
44
|
import relativeTime from "dayjs/plugin/relativeTime";
|
|
44
45
|
dayjs.extend(relativeTime);
|
|
@@ -52,6 +53,7 @@ export default defineComponent({
|
|
|
52
53
|
|
|
53
54
|
components: {
|
|
54
55
|
ClassicPopover,
|
|
56
|
+
AlertIcon,
|
|
55
57
|
},
|
|
56
58
|
|
|
57
59
|
mixins: [displayMethods, selenium],
|
|
@@ -33,10 +33,7 @@
|
|
|
33
33
|
@click="showParentComment = !showParentComment"
|
|
34
34
|
>
|
|
35
35
|
{{ $t("In response to") }}
|
|
36
|
-
<
|
|
37
|
-
class="saooti-down ms-1"
|
|
38
|
-
:class="{ 'arrow-transform': showParentComment }"
|
|
39
|
-
/>
|
|
36
|
+
<ChevronDownIcon :class="{ 'arrow-transform': showParentComment }" />
|
|
40
37
|
</button>
|
|
41
38
|
</div>
|
|
42
39
|
<CommentInput
|
|
@@ -56,10 +53,7 @@
|
|
|
56
53
|
class="d-flex align-items-center btn-transparent text-primary"
|
|
57
54
|
@click="showAnswers = !showAnswers"
|
|
58
55
|
>
|
|
59
|
-
<
|
|
60
|
-
class="saooti-down me-3"
|
|
61
|
-
:class="{ 'arrow-transform': showAnswers }"
|
|
62
|
-
/>
|
|
56
|
+
<ChevronDownIcon :class="{ 'arrow-transform': showAnswers }" />
|
|
63
57
|
{{ $t("nb answers", { nb: comment.responses.length }) }}
|
|
64
58
|
</button>
|
|
65
59
|
<CommentList
|
|
@@ -84,6 +78,7 @@
|
|
|
84
78
|
</template>
|
|
85
79
|
|
|
86
80
|
<script lang="ts">
|
|
81
|
+
import ChevronDownIcon from "vue-material-design-icons/ChevronDown.vue";
|
|
87
82
|
import selenium from "../../../mixins/selenium";
|
|
88
83
|
import displayMethods from "../../../mixins/displayMethods";
|
|
89
84
|
import { CommentPodcast } from "@/stores/class/general/comment";
|
|
@@ -118,6 +113,7 @@ export default defineComponent({
|
|
|
118
113
|
CommentBasicView,
|
|
119
114
|
LikeSection,
|
|
120
115
|
CommentMoreActions,
|
|
116
|
+
ChevronDownIcon,
|
|
121
117
|
},
|
|
122
118
|
|
|
123
119
|
mixins: [displayMethods, selenium],
|
|
@@ -25,12 +25,14 @@
|
|
|
25
25
|
/>
|
|
26
26
|
<button
|
|
27
27
|
:id="'comment-dropdown' + comment.commentId"
|
|
28
|
-
class="btn share-btn
|
|
28
|
+
class="btn share-btn"
|
|
29
29
|
:title="$t('See more')"
|
|
30
30
|
:data-selenium="
|
|
31
31
|
'comment-dropdown-' + seleniumFormat(comment.poster.userName)
|
|
32
32
|
"
|
|
33
|
-
|
|
33
|
+
>
|
|
34
|
+
<DotsVerticalIcon />
|
|
35
|
+
</button>
|
|
34
36
|
<ClassicPopover
|
|
35
37
|
:target="'comment-dropdown' + comment.commentId"
|
|
36
38
|
popover-class="popover-z-index"
|
|
@@ -38,13 +40,13 @@
|
|
|
38
40
|
:left-pos="true"
|
|
39
41
|
>
|
|
40
42
|
<template v-for="action in moreActions" :key="action">
|
|
41
|
-
<
|
|
43
|
+
<button
|
|
42
44
|
v-if="action.condition"
|
|
43
45
|
class="octopus-dropdown-item c-hand"
|
|
44
46
|
@click="action.actionClick"
|
|
45
47
|
>
|
|
46
48
|
{{ action.title }}
|
|
47
|
-
</
|
|
49
|
+
</button>
|
|
48
50
|
</template>
|
|
49
51
|
</ClassicPopover>
|
|
50
52
|
<CommentMoreActionsAdmin
|
|
@@ -56,6 +58,7 @@
|
|
|
56
58
|
</template>
|
|
57
59
|
|
|
58
60
|
<script lang="ts">
|
|
61
|
+
import DotsVerticalIcon from "vue-material-design-icons/DotsVertical.vue";
|
|
59
62
|
import selenium from "../../../mixins/selenium";
|
|
60
63
|
import classicApi from "../../../../api/classicApi";
|
|
61
64
|
import CommentMoreActionsAdmin from "@/components/display/comments/item/CommentMoreActionsAdmin.vue";
|
|
@@ -87,6 +90,7 @@ export default defineComponent({
|
|
|
87
90
|
CommentMoreActionsAdmin,
|
|
88
91
|
EditCommentModal,
|
|
89
92
|
MessageModal,
|
|
93
|
+
DotsVerticalIcon,
|
|
90
94
|
},
|
|
91
95
|
mixins: [selenium],
|
|
92
96
|
|
|
@@ -9,15 +9,33 @@
|
|
|
9
9
|
:title="titleButton"
|
|
10
10
|
@click="clickButton"
|
|
11
11
|
>
|
|
12
|
-
<
|
|
12
|
+
<template v-if="like">
|
|
13
|
+
<ThumbUpOutlineIcon v-if="!isActive" />
|
|
14
|
+
<ThumbUpIcon v-else />
|
|
15
|
+
</template>
|
|
16
|
+
<template v-else>
|
|
17
|
+
<ThumbDownOutlineIcon v-if="!isActive" />
|
|
18
|
+
<ThumbDownIcon v-else />
|
|
19
|
+
</template>
|
|
13
20
|
</button>
|
|
14
21
|
<SnackBar ref="snackbar" position="bottom-left" />
|
|
15
22
|
</div>
|
|
16
23
|
</template>
|
|
17
24
|
|
|
18
25
|
<script lang="ts">
|
|
19
|
-
import ThumbIcon from "./ThumbIcon.vue";
|
|
20
26
|
import { defineAsyncComponent, defineComponent } from "vue";
|
|
27
|
+
const ThumbUpIcon = defineAsyncComponent(
|
|
28
|
+
() => import("vue-material-design-icons/ThumbUp.vue"),
|
|
29
|
+
);
|
|
30
|
+
const ThumbDownIcon = defineAsyncComponent(
|
|
31
|
+
() => import("vue-material-design-icons/ThumbDown.vue"),
|
|
32
|
+
);
|
|
33
|
+
const ThumbUpOutlineIcon = defineAsyncComponent(
|
|
34
|
+
() => import("vue-material-design-icons/ThumbUpOutline.vue"),
|
|
35
|
+
);
|
|
36
|
+
const ThumbDownOutlineIcon = defineAsyncComponent(
|
|
37
|
+
() => import("vue-material-design-icons/ThumbDownOutline.vue"),
|
|
38
|
+
);
|
|
21
39
|
const SnackBar = defineAsyncComponent(
|
|
22
40
|
() => import("../../../misc/SnackBar.vue"),
|
|
23
41
|
);
|
|
@@ -25,8 +43,11 @@ export default defineComponent({
|
|
|
25
43
|
name: "LikeButton",
|
|
26
44
|
|
|
27
45
|
components: {
|
|
28
|
-
ThumbIcon,
|
|
29
46
|
SnackBar,
|
|
47
|
+
ThumbUpOutlineIcon,
|
|
48
|
+
ThumbDownOutlineIcon,
|
|
49
|
+
ThumbDownIcon,
|
|
50
|
+
ThumbUpIcon,
|
|
30
51
|
},
|
|
31
52
|
props: {
|
|
32
53
|
like: { default: true, type: Boolean },
|
|
@@ -18,10 +18,11 @@
|
|
|
18
18
|
/>
|
|
19
19
|
<div class="emission-item-text">
|
|
20
20
|
<div class="d-flex align-items-center emission-name">
|
|
21
|
-
<
|
|
21
|
+
<AlertIcon
|
|
22
22
|
v-if="!activeEmission && !isPodcastmaker && editRight"
|
|
23
|
+
:size="16"
|
|
24
|
+
class="text-danger me-1"
|
|
23
25
|
:title="$t('Emission have not podcasts')"
|
|
24
|
-
class="saooti-warning text-danger me-1"
|
|
25
26
|
/>
|
|
26
27
|
{{ emission.name }}
|
|
27
28
|
</div>
|
|
@@ -52,6 +53,7 @@
|
|
|
52
53
|
</template>
|
|
53
54
|
|
|
54
55
|
<script lang="ts">
|
|
56
|
+
import AlertIcon from "vue-material-design-icons/Alert.vue";
|
|
55
57
|
import { orgaComputed } from "../../mixins/orgaComputed";
|
|
56
58
|
import { Emission } from "@/stores/class/general/emission";
|
|
57
59
|
import classicApi from "../../../api/classicApi";
|
|
@@ -62,6 +64,9 @@ import { Podcast } from "@/stores/class/general/podcast";
|
|
|
62
64
|
import { ListClassicReturn } from "@/stores/class/general/listReturn";
|
|
63
65
|
export default defineComponent({
|
|
64
66
|
name: "EmissionItem",
|
|
67
|
+
components: {
|
|
68
|
+
AlertIcon,
|
|
69
|
+
},
|
|
65
70
|
|
|
66
71
|
mixins: [displayMethods, orgaComputed, imageProxy],
|
|
67
72
|
|
|
@@ -70,10 +70,10 @@
|
|
|
70
70
|
class="play-button-box bg-secondary"
|
|
71
71
|
@click="play(p)"
|
|
72
72
|
>
|
|
73
|
-
<
|
|
73
|
+
<PlayIcon class="text-light" :title="$t('Play')" />
|
|
74
74
|
</button>
|
|
75
75
|
<button v-else class="play-button-box bg-secondary" @click="pause(p)">
|
|
76
|
-
<
|
|
76
|
+
<PauseIcon class="text-light" :title="$t('Pause')" />
|
|
77
77
|
</button>
|
|
78
78
|
</div>
|
|
79
79
|
</div>
|
|
@@ -95,6 +95,8 @@
|
|
|
95
95
|
</template>
|
|
96
96
|
|
|
97
97
|
<script lang="ts">
|
|
98
|
+
import PlayIcon from "vue-material-design-icons/Play.vue";
|
|
99
|
+
import PauseIcon from "vue-material-design-icons/Pause.vue";
|
|
98
100
|
import classicApi from "../../../api/classicApi";
|
|
99
101
|
import { Emission } from "@/stores/class/general/emission";
|
|
100
102
|
import { Podcast } from "@/stores/class/general/podcast";
|
|
@@ -114,6 +116,8 @@ export default defineComponent({
|
|
|
114
116
|
|
|
115
117
|
components: {
|
|
116
118
|
PodcastPlayBar,
|
|
119
|
+
PlayIcon,
|
|
120
|
+
PauseIcon,
|
|
117
121
|
},
|
|
118
122
|
mixins: [displayMethods, imageProxy, orgaComputed],
|
|
119
123
|
props: {
|
|
@@ -5,10 +5,7 @@
|
|
|
5
5
|
@click="clickShowFilters"
|
|
6
6
|
>
|
|
7
7
|
<div>{{ $t("Advanced filters") }}</div>
|
|
8
|
-
<
|
|
9
|
-
class="saooti-down mx-1"
|
|
10
|
-
:class="{ 'arrow-transform': showFilters }"
|
|
11
|
-
/>
|
|
8
|
+
<ChevronDownIcon :class="{ 'arrow-transform': showFilters }" />
|
|
12
9
|
</button>
|
|
13
10
|
<div
|
|
14
11
|
v-if="firstLoaded"
|
|
@@ -77,6 +74,7 @@
|
|
|
77
74
|
</template>
|
|
78
75
|
|
|
79
76
|
<script lang="ts">
|
|
77
|
+
import ChevronDownIcon from "vue-material-design-icons/ChevronDown.vue";
|
|
80
78
|
import { orgaComputed } from "../../mixins/orgaComputed";
|
|
81
79
|
import { useAuthStore } from "../../../stores/AuthStore";
|
|
82
80
|
import { useFilterStore } from "../../../stores/FilterStore";
|
|
@@ -106,6 +104,7 @@ export default defineComponent({
|
|
|
106
104
|
ClassicCheckbox,
|
|
107
105
|
DateFilter,
|
|
108
106
|
SearchOrder,
|
|
107
|
+
ChevronDownIcon,
|
|
109
108
|
},
|
|
110
109
|
mixins: [orgaComputed, rubriquesFilterParam],
|
|
111
110
|
props: {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
id-checkbox="organisation-checkbox"
|
|
23
23
|
@click-action="onKeepOrganisation"
|
|
24
24
|
/>
|
|
25
|
-
<div
|
|
25
|
+
<div v-if="showBubble" class="filter-speech-bubble">
|
|
26
26
|
{{
|
|
27
27
|
$t(
|
|
28
28
|
"check this box if you want to keep this filter for the rest of your visit",
|
|
@@ -35,14 +35,17 @@
|
|
|
35
35
|
</template>
|
|
36
36
|
<button
|
|
37
37
|
v-if="index"
|
|
38
|
-
class="btn admin-button ms-1
|
|
38
|
+
class="btn admin-button ms-1"
|
|
39
39
|
title="delete"
|
|
40
40
|
@click="deleteRubriquage"
|
|
41
|
-
|
|
41
|
+
>
|
|
42
|
+
<TrashCanIcon />
|
|
43
|
+
</button>
|
|
42
44
|
</div>
|
|
43
45
|
</template>
|
|
44
46
|
|
|
45
47
|
<script lang="ts">
|
|
48
|
+
import TrashCanIcon from "vue-material-design-icons/TrashCan.vue";
|
|
46
49
|
import { Rubriquage } from "@/stores/class/rubrique/rubriquage";
|
|
47
50
|
import { Rubrique } from "@/stores/class/rubrique/rubrique";
|
|
48
51
|
import { defineComponent, defineAsyncComponent } from "vue";
|
|
@@ -52,6 +55,7 @@ const RubriqueChooser = defineAsyncComponent(
|
|
|
52
55
|
export default defineComponent({
|
|
53
56
|
components: {
|
|
54
57
|
RubriqueChooser,
|
|
58
|
+
TrashCanIcon,
|
|
55
59
|
},
|
|
56
60
|
props: {
|
|
57
61
|
rubriquageDisplay: {
|
|
@@ -43,12 +43,13 @@
|
|
|
43
43
|
<template v-if="buttonPlus">
|
|
44
44
|
{{ $t("See more") }}
|
|
45
45
|
</template>
|
|
46
|
-
<
|
|
46
|
+
<PlusIcon :size="16" :class="buttonPlus ? 'ms-1' : ''" />
|
|
47
47
|
</button>
|
|
48
48
|
</div>
|
|
49
49
|
</template>
|
|
50
50
|
|
|
51
51
|
<script lang="ts">
|
|
52
|
+
import PlusIcon from "vue-material-design-icons/Plus.vue";
|
|
52
53
|
import domHelper from "../../../helper/dom";
|
|
53
54
|
import ClassicLoading from "../../form/ClassicLoading.vue";
|
|
54
55
|
import { state } from "../../../stores/ParamSdkStore";
|
|
@@ -65,6 +66,7 @@ export default defineComponent({
|
|
|
65
66
|
PaginateSection,
|
|
66
67
|
PaginateParams,
|
|
67
68
|
ClassicLoading,
|
|
69
|
+
PlusIcon,
|
|
68
70
|
},
|
|
69
71
|
mixins: [resizePhone, routeParams],
|
|
70
72
|
props: {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
/>
|
|
17
17
|
<button class="image-play-button" @click="playRadio">
|
|
18
18
|
<div class="multiple-play-buttons-container">
|
|
19
|
-
<
|
|
19
|
+
<PlayIcon v-if="!playingRadio" :title="$t('Play')" :size="40" />
|
|
20
20
|
<div
|
|
21
21
|
v-else
|
|
22
22
|
class="bloc-paddle"
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
</template>
|
|
38
38
|
|
|
39
39
|
<script lang="ts">
|
|
40
|
+
import PlayIcon from "vue-material-design-icons/Play.vue";
|
|
40
41
|
import { usePlayerStore } from "../../../stores/PlayerStore";
|
|
41
42
|
import { useFilterStore } from "../../../stores/FilterStore";
|
|
42
43
|
import { mapState, mapActions } from "pinia";
|
|
@@ -46,7 +47,9 @@ import { Canal } from "@/stores/class/radio/canal";
|
|
|
46
47
|
export default defineComponent({
|
|
47
48
|
name: "RadioImage",
|
|
48
49
|
|
|
49
|
-
components: {
|
|
50
|
+
components: {
|
|
51
|
+
PlayIcon,
|
|
52
|
+
},
|
|
50
53
|
|
|
51
54
|
mixins: [imageProxy],
|
|
52
55
|
|
|
@@ -17,10 +17,11 @@
|
|
|
17
17
|
class="img-box border"
|
|
18
18
|
/>
|
|
19
19
|
<div class="d-flex align-items-center h4 justify-content-center mt-2">
|
|
20
|
-
<
|
|
20
|
+
<AlertIcon
|
|
21
21
|
v-if="!activeParticipant && !isPodcastmaker && editRight"
|
|
22
|
+
:size="16"
|
|
23
|
+
class="text-danger me-1"
|
|
22
24
|
:title="$t('Participant have not podcasts')"
|
|
23
|
-
class="saooti-warning text-danger me-1"
|
|
24
25
|
/>
|
|
25
26
|
{{ name }}
|
|
26
27
|
</div>
|
|
@@ -50,6 +51,7 @@
|
|
|
50
51
|
</template>
|
|
51
52
|
|
|
52
53
|
<script lang="ts">
|
|
54
|
+
import AlertIcon from "vue-material-design-icons/Alert.vue";
|
|
53
55
|
import classicApi from "../../../api/classicApi";
|
|
54
56
|
import { Participant } from "@/stores/class/general/participant";
|
|
55
57
|
import imageProxy from "../../mixins/imageProxy";
|
|
@@ -60,6 +62,9 @@ import { Podcast } from "@/stores/class/general/podcast";
|
|
|
60
62
|
import { ListClassicReturn } from "@/stores/class/general/listReturn";
|
|
61
63
|
export default defineComponent({
|
|
62
64
|
name: "ParticpantItem",
|
|
65
|
+
components: {
|
|
66
|
+
AlertIcon,
|
|
67
|
+
},
|
|
63
68
|
mixins: [displayMethods, orgaComputed, imageProxy],
|
|
64
69
|
props: {
|
|
65
70
|
participant: { default: () => ({}), type: Object as () => Participant },
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div v-if="podcast" class="d-flex align-items-center mt-1">
|
|
3
3
|
<button
|
|
4
|
-
class="btn btn-round-light
|
|
4
|
+
class="btn btn-round-light ms-2"
|
|
5
5
|
:title="$t('Download')"
|
|
6
6
|
@click="downloadPodcast"
|
|
7
|
-
|
|
7
|
+
>
|
|
8
|
+
<DownloadIcon />
|
|
9
|
+
</button>
|
|
8
10
|
<!-- <template v-else>
|
|
9
11
|
<button
|
|
10
12
|
id="download-podcast-or-video"
|
|
11
|
-
class="btn btn-round-light
|
|
13
|
+
class="btn btn-round-light ms-2"
|
|
12
14
|
:title="$t('Download')"
|
|
13
15
|
/>
|
|
14
16
|
<ClassicPopover
|
|
@@ -35,16 +37,14 @@
|
|
|
35
37
|
</template>
|
|
36
38
|
|
|
37
39
|
<script lang="ts">
|
|
40
|
+
import DownloadIcon from "vue-material-design-icons/Download.vue";
|
|
38
41
|
import { Podcast } from "@/stores/class/general/podcast";
|
|
39
42
|
import download from "../../mixins/download";
|
|
40
43
|
import { defineComponent } from "vue";
|
|
41
|
-
/* const ClassicPopover = defineAsyncComponent(
|
|
42
|
-
() => import("../../misc/ClassicPopover.vue"),
|
|
43
|
-
); */
|
|
44
44
|
export default defineComponent({
|
|
45
45
|
name: "DownloadPodcastButton",
|
|
46
46
|
components: {
|
|
47
|
-
|
|
47
|
+
DownloadIcon,
|
|
48
48
|
},
|
|
49
49
|
|
|
50
50
|
mixins: [download],
|