@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.
Files changed (84) hide show
  1. package/index.html +0 -1
  2. package/index.ts +15 -0
  3. package/package.json +2 -1
  4. package/plateform.conf +1 -1
  5. package/src/assets/bootstrap.scss +3 -0
  6. package/src/assets/general.scss +5 -0
  7. package/src/assets/share.scss +0 -38
  8. package/src/components/display/categories/CategoryList.vue +7 -2
  9. package/src/components/display/comments/CommentList.vue +9 -13
  10. package/src/components/display/comments/CommentSection.vue +6 -2
  11. package/src/components/display/comments/item/CommentBasicView.vue +3 -1
  12. package/src/components/display/comments/item/CommentItem.vue +4 -8
  13. package/src/components/display/comments/item/CommentMoreActions.vue +8 -4
  14. package/src/components/display/comments/like/LikeButton.vue +24 -3
  15. package/src/components/display/emission/EmissionItem.vue +7 -2
  16. package/src/components/display/emission/EmissionPlayerItem.vue +6 -2
  17. package/src/components/display/filter/AdvancedSearch.vue +3 -4
  18. package/src/components/display/filter/ProductorSearch.vue +1 -1
  19. package/src/components/display/filter/RubriqueChoice.vue +6 -2
  20. package/src/components/display/list/ListPaginate.vue +3 -1
  21. package/src/components/display/live/RadioImage.vue +5 -2
  22. package/src/components/display/organisation/OrganisationChooser.vue +1 -1
  23. package/src/components/display/participant/ParticipantItem.vue +7 -2
  24. package/src/components/display/podcasts/DownloadPodcastButton.vue +7 -7
  25. package/src/components/display/podcasts/PodcastImage.vue +10 -6
  26. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +17 -5
  27. package/src/components/display/podcasts/PodcastModuleBox.vue +3 -2
  28. package/src/components/display/podcasts/PodcastPlayButton.vue +37 -27
  29. package/src/components/display/rubriques/RubriqueList.vue +7 -2
  30. package/src/components/display/sharing/ShareButtons.vue +36 -25
  31. package/src/components/display/sharing/ShareDistribution.vue +40 -12
  32. package/src/components/display/sharing/SubscribeButtons.vue +68 -36
  33. package/src/components/form/ClassicDatePicker.vue +4 -2
  34. package/src/components/form/ClassicEmojiPicker.vue +3 -14
  35. package/src/components/form/ClassicInputText.vue +8 -5
  36. package/src/components/form/ClassicMultiselect.vue +3 -1
  37. package/src/components/form/ClassicSearch.vue +15 -10
  38. package/src/components/form/ClassicWysiwyg.vue +24 -80
  39. package/src/components/icons/AmazonMusicIcon.vue +95 -0
  40. package/src/components/icons/ApplePodcastIcon.vue +43 -0
  41. package/src/components/icons/DeezerIcon.vue +32 -0
  42. package/src/components/icons/EditFtpIcon.vue +33 -0
  43. package/src/components/icons/IHeartIcon.vue +35 -0
  44. package/src/components/icons/PlayVideoIcon.vue +33 -0
  45. package/src/components/icons/PlayerFmIcon.vue +32 -0
  46. package/src/components/icons/PocketCastIcon.vue +32 -0
  47. package/src/components/icons/PodcastAddictIcon.vue +33 -0
  48. package/src/components/icons/RadiolineIcon.vue +33 -0
  49. package/src/components/icons/TuninIcon.vue +32 -0
  50. package/src/components/icons/XIcon.vue +32 -0
  51. package/src/components/misc/AcpmImage.vue +0 -1
  52. package/src/components/misc/ClassicAccordion.vue +13 -4
  53. package/src/components/misc/ClassicPopover.vue +27 -1
  54. package/src/components/misc/ErrorMessage.vue +7 -2
  55. package/src/components/misc/HomeDropdown.vue +67 -60
  56. package/src/components/misc/MobileMenu.vue +46 -44
  57. package/src/components/misc/TopBar.vue +15 -5
  58. package/src/components/misc/TopBarMainContent.vue +11 -5
  59. package/src/components/misc/modal/ClassicModal.vue +14 -4
  60. package/src/components/misc/modal/NewsletterModal.vue +4 -2
  61. package/src/components/misc/modal/ShareModalPlayer.vue +21 -18
  62. package/src/components/misc/player/PlayerCompact.vue +12 -4
  63. package/src/components/misc/player/PlayerLarge.vue +18 -10
  64. package/src/components/misc/player/chaptering/ChapteringModal.vue +3 -14
  65. package/src/components/misc/player/chaptering/PlayerChaptering.vue +3 -1
  66. package/src/components/misc/player/elements/PlayerImage.vue +9 -5
  67. package/src/components/misc/player/elements/PlayerPlayButton.vue +6 -2
  68. package/src/components/misc/player/elements/PlayerSpeedButton.vue +1 -0
  69. package/src/components/misc/player/radio/RadioHistory.vue +14 -5
  70. package/src/components/misc/player/video/PlayerVideo.vue +5 -4
  71. package/src/components/mixins/init.ts +3 -1
  72. package/src/components/mixins/orgaComputed.ts +1 -1
  73. package/src/components/mixins/player/playerLogic.ts +1 -1
  74. package/src/components/pages/EmissionPage.vue +2 -1
  75. package/src/components/pages/ParticipantPage.vue +1 -1
  76. package/src/components/pages/PlaylistPage.vue +2 -1
  77. package/src/components/pages/VideoPage.vue +8 -3
  78. package/src/locale/de.ts +1 -0
  79. package/src/locale/en.ts +1 -0
  80. package/src/locale/es.ts +1 -0
  81. package/src/locale/fr.ts +1 -0
  82. package/src/locale/it.ts +1 -0
  83. package/src/locale/sl.ts +1 -0
  84. 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.2.18",
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
- preprod.saooti.org
1
+ dev2.saooti.org
@@ -14,6 +14,9 @@ input:not([class^="vs__"]), button:not([class^="vs__"]), select:not([class^="vs_
14
14
  .octopus-app{
15
15
  button {
16
16
  cursor: pointer;
17
+ &:disabled{
18
+ cursor: default !important;
19
+ }
17
20
  }
18
21
  p{
19
22
  margin: 0;
@@ -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;
@@ -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 saooti-more"
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
- <svg
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 saooti-more"
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 saooti-refresh"
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
- <span class="saooti-warning me-1" />
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
- <div
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
- <div
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 saooti-more_vert"
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
- <a
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
- </a>
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
- <ThumbIcon :is-up="like" :is-full="isActive" />
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
- <span
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
- <div class="text-light saooti-play" :title="$t('Play')" />
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
- <div class="text-light saooti-pause" :title="$t('Pause')" />
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
- <div
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 :class="showBubble ? '' : 'invisible'" class="filter-speech-bubble">
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 saooti-bin"
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
- <div :class="buttonPlus ? 'ms-1' : ''" class="saooti-more" />
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
- <div v-if="!playingRadio" :title="$t('Play')" class="saooti-play" />
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
 
@@ -25,8 +25,8 @@
25
25
  width="32"
26
26
  height="32"
27
27
  class="me-2"
28
+ role="presentation"
28
29
  :title="$t('Organisation name image', { name: option.name })"
29
- :alt="$t('Organisation name image', { name: option.name })"
30
30
  />
31
31
  <span>
32
32
  {{ option.name }}
@@ -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
- <span
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 saooti-download ms-2"
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 saooti-download ms-2"
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
- /* ClassicPopover, */
47
+ DownloadIcon,
48
48
  },
49
49
 
50
50
  mixins: [download],