@saooti/octopus-sdk 33.1.3 → 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.
Files changed (69) hide show
  1. package/README.md +1 -0
  2. package/index.ts +5 -0
  3. package/package.json +1 -3
  4. package/src/App.vue +1 -1
  5. package/src/assets/_utilities.scss +532 -0
  6. package/src/assets/bootstrap.scss +231 -0
  7. package/src/assets/form.scss +3 -46
  8. package/src/assets/general.scss +10 -58
  9. package/src/assets/multiselect.scss +8 -3
  10. package/src/assets/octopus-library.scss +2 -4
  11. package/src/components/display/categories/CategoryChooser.vue +2 -2
  12. package/src/components/display/categories/CategoryFilter.vue +60 -46
  13. package/src/components/display/categories/CategoryList.vue +22 -19
  14. package/src/components/display/comments/AddCommentModal.vue +60 -67
  15. package/src/components/display/comments/CommentBasicView.vue +3 -4
  16. package/src/components/display/comments/CommentInput.vue +4 -4
  17. package/src/components/display/comments/CommentItem.vue +2 -2
  18. package/src/components/display/comments/CommentPlayer.vue +2 -2
  19. package/src/components/display/emission/EmissionChooser.vue +1 -1
  20. package/src/components/display/emission/EmissionItem.vue +2 -1
  21. package/src/components/display/emission/EmissionPlayerItem.vue +0 -11
  22. package/src/components/display/filter/AdvancedSearch.vue +2 -2
  23. package/src/components/display/filter/MonetizableFilter.vue +1 -1
  24. package/src/components/display/filter/RubriqueChoice.vue +1 -1
  25. package/src/components/display/organisation/OrganisationChooser.vue +1 -1
  26. package/src/components/display/participant/ParticipantItem.vue +2 -1
  27. package/src/components/display/playlist/PlaylistItem.vue +3 -2
  28. package/src/components/display/podcasts/ParticipantDescription.vue +2 -1
  29. package/src/components/display/podcasts/PodcastImage.vue +3 -3
  30. package/src/components/display/podcasts/PodcastInlineList.vue +1 -1
  31. package/src/components/display/podcasts/PodcastInlineListClassic.vue +1 -1
  32. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +6 -2
  33. package/src/components/display/podcasts/PodcastItemInfo.vue +2 -2
  34. package/src/components/display/podcasts/PodcastPlayBar.vue +9 -35
  35. package/src/components/display/podcasts/TagList.vue +0 -2
  36. package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
  37. package/src/components/display/rubriques/RubriqueList.vue +25 -20
  38. package/src/components/display/sharing/PlayerParameters.vue +76 -99
  39. package/src/components/display/sharing/ShareButtons.vue +3 -5
  40. package/src/components/display/sharing/ShareButtonsIntern.vue +1 -1
  41. package/src/components/display/sharing/ShareDistribution.vue +11 -10
  42. package/src/components/display/sharing/SharePlayer.vue +3 -0
  43. package/src/components/display/sharing/SubscribeButtons.vue +1 -1
  44. package/src/components/form/ClassicCheckbox.vue +73 -14
  45. package/src/components/form/ClassicLoading.vue +5 -1
  46. package/src/components/form/ClassicRadio.vue +12 -3
  47. package/src/components/form/ClassicSelect.vue +2 -9
  48. package/src/components/misc/Accordion.vue +76 -0
  49. package/src/components/misc/ErrorMessage.vue +2 -1
  50. package/src/components/misc/HomeDropdown.vue +66 -63
  51. package/src/components/misc/Nav.vue +99 -0
  52. package/src/components/misc/Popover.vue +139 -98
  53. package/src/components/misc/ProgressBar.vue +96 -0
  54. package/src/components/misc/Spinner.vue +37 -0
  55. package/src/components/misc/TopBar.vue +1 -1
  56. package/src/components/misc/modal/ClassicModal.vue +140 -0
  57. package/src/components/misc/modal/ClipboardModal.vue +25 -40
  58. package/src/components/misc/modal/MessageModal.vue +45 -60
  59. package/src/components/misc/modal/NewsletterModal.vue +85 -94
  60. package/src/components/misc/modal/QrCodeModal.vue +19 -36
  61. package/src/components/misc/modal/ShareModalPlayer.vue +72 -133
  62. package/src/components/misc/player/Player.vue +0 -6
  63. package/src/components/misc/player/PlayerCompact.vue +5 -4
  64. package/src/components/misc/player/PlayerLarge.vue +13 -9
  65. package/src/components/misc/player/PlayerProgressBar.vue +10 -48
  66. package/src/components/mixins/player/playerLogic.ts +3 -3
  67. package/src/components/pages/Podcast.vue +1 -1
  68. package/src/assets/bootstrap-diff.scss +0 -195
  69. package/src/assets/modal.scss +0 -49
@@ -0,0 +1,231 @@
1
+ // Bootstrap styles overload
2
+ *, *:before, *:after {
3
+ -webkit-box-sizing: border-box;
4
+ box-sizing: border-box;
5
+ }
6
+ .octopus-app{
7
+ input, button, select, optgroup, textarea {
8
+ margin: 0;
9
+ font-family: inherit;
10
+ font-size: inherit;
11
+ line-height: inherit;
12
+ }
13
+ button {
14
+ cursor: pointer;
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
+ }
63
+ .btn{
64
+ display: inline-block;
65
+ padding: 0.375rem 0.75rem;
66
+ line-height: 1.5;
67
+ color: #212529;
68
+ text-align: center;
69
+ vertical-align: middle;
70
+ cursor: pointer;
71
+ user-select: none;
72
+ transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
73
+ font-size:.7rem;
74
+ border-radius: 4px;
75
+ background: $octopus-secondary-color;
76
+ text-decoration: none !important;
77
+ white-space: nowrap;
78
+ border-width: 0;
79
+ @media (max-width: 960px) {
80
+ white-space: normal;
81
+ }
82
+ &:hover,
83
+ &:focus,
84
+ &:active,
85
+ &.active {
86
+ box-shadow: none;
87
+ }
88
+ &:hover{
89
+ background: $primaryColorMoreTransparent;
90
+ }
91
+ //Button disable halo after click
92
+ &.btn-underline{
93
+ background: none;
94
+ padding: 0;
95
+ margin: 0 2rem 1rem 0;
96
+ border-radius: 0;
97
+ @media (max-width: 600px) {
98
+ margin: 0 1rem 1rem 0;
99
+ font-size: 0.8em;
100
+ }
101
+ position: relative;
102
+ &:after {
103
+ bottom: 0;
104
+ content: "";
105
+ display: block;
106
+ height: 2px;
107
+ left: 50%;
108
+ position: absolute;
109
+ background: $octopus-primary-color;
110
+ transition: width 0.3s ease 0s, left 0.3s ease 0s;
111
+ width: 0;
112
+ }
113
+ &:hover:after,&.active:after {
114
+ width: 100%;
115
+ left: 0;
116
+ }
117
+ }
118
+
119
+ &.btn-primary {
120
+ display: flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ background: $octopus-primary-color;
124
+ border: 1px solid $octopus-primary-color;
125
+ border-radius: 4px !important;
126
+ color: white !important;
127
+ font-weight: bold;
128
+ &:focus,
129
+ &:hover,
130
+ &:active,
131
+ &.active {
132
+ background: transparent;
133
+ color: $octopus-primary-color !important;
134
+ }
135
+ &:disabled{
136
+ background-color: #cccccc;
137
+ border: black;
138
+ cursor: default;
139
+ color: gray !important;
140
+ }
141
+ @media (max-width: 500px){
142
+ margin: 0.3rem;
143
+ }
144
+ }
145
+
146
+ &.btn-more{
147
+ background: $octopus-primary-color;
148
+ color: $octopus-background;
149
+ width: 2rem;
150
+ height: 2rem;
151
+ display: flex;
152
+ align-items: center;
153
+ justify-content: center;
154
+ border-radius: 50px;
155
+ margin: 1rem;
156
+ }
157
+
158
+ &.admin-button{
159
+ padding: 0.3rem;
160
+ height: 2.2rem !important;
161
+ width: 2.2rem !important;
162
+ font-size: 1.1rem;
163
+ display: inline-flex;
164
+ align-items: center;
165
+ justify-content: center;
166
+ color : $octopus-primary-color;
167
+ flex-shrink: 0;
168
+ font-weight: normal;
169
+ border-radius: 50% !important;
170
+ }
171
+
172
+ }
173
+ .btn-transparent{
174
+ background: transparent;
175
+ border: 0;
176
+ }
177
+ .share-btn {
178
+ font-size: 1.3rem;
179
+ width: 2.5rem !important;
180
+ height: 2.5rem !important;
181
+ padding: 0.5rem;
182
+ display: inline-flex;
183
+ align-items: center;
184
+ justify-content: center;
185
+ color : $octopus-primary-color;
186
+ flex-shrink: 0;
187
+ border-radius: 50% !important;
188
+ }
189
+
190
+ .btn-rss {
191
+ background: #ddd !important;
192
+ &:hover {
193
+ border: 0;
194
+ background: #ccc !important;
195
+ }
196
+ }
197
+ .btn-facebook {
198
+ background: #d8dfea !important;
199
+ color: #3b5998 !important;
200
+ &:hover {
201
+ background: #afbdd4 !important;
202
+ }
203
+ }
204
+ .btn-twitter {
205
+ background: #d2ecfc !important;
206
+ color: #1da1f2 !important;
207
+ &:hover {
208
+ background: #bbe3fb !important;
209
+ }
210
+ }
211
+ .btn-linkedin {
212
+ background: #0077b550 !important;
213
+ color: #0077b5 !important;
214
+ &:hover {
215
+ background: #00a0dc !important;
216
+ }
217
+ }
218
+ .btn-whatsapp {
219
+ background: #25d36645 !important;
220
+ color: #25D366 !important;
221
+ &:hover {
222
+ background: #25d36563 !important;
223
+ }
224
+ }
225
+
226
+ .bg-secondary{
227
+ background: #eee !important;
228
+ }
229
+ }
230
+
231
+
@@ -1,10 +1,6 @@
1
1
  .octopus-app{
2
- button.btn-transparent{
3
- background: transparent;
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,36 +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
-
51
- //Navigation Bar
52
- .nav{
53
- border-bottom: 0.05rem solid #ddd;
54
- .nav-item{
55
- cursor: pointer;
56
- flex-grow: 1;
57
- text-align: center;
58
- a {
59
- color: black;
60
- }
61
- .nav-link{
62
- border-bottom: 0.1rem solid transparent;
63
- }
64
- .active{
65
- border-bottom-color: $octopus-primary-color;
66
- color: $octopus-primary-color;
67
- }
68
- }
69
- }
70
- .classic-select select {
71
- width: 100%;
72
- }
73
30
  .vc-select select{
74
- padding: 0 20px 0 8px !important;
31
+ padding: 0 !important;
75
32
  }
76
33
  .vc-date{
77
34
  .vc-month,.vc-day,.vc-year{
@@ -4,6 +4,7 @@ html{
4
4
  height: 100%;
5
5
  }
6
6
  body{
7
+ margin: 0;
7
8
  color: #353535;
8
9
  font-family: Montserrat,sans-serif,Helvetica Neue;
9
10
  font-size: 0.8rem;
@@ -19,44 +20,22 @@ body{
19
20
  }
20
21
  a{
21
22
  word-break: break-word;
22
- }
23
-
24
- h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{
25
- &:not(.text-uppercase){
26
- letter-spacing: -0.03em;
27
- }
28
- font-weight: 600;
29
- margin-top: 0;
30
- @media (max-width: 500px){
31
- margin: 0.2rem;
23
+ text-decoration: none;
24
+ color: $octopus-primary-color;
25
+ &.link-hover{
26
+ color: black !important;
32
27
  }
33
- }
34
- h1{
35
- font-size: 1.8rem;
36
- text-align: center;
37
- color: #666;
38
- margin-bottom: 2rem;
39
- @media (max-width: 500px){
40
- font-size: 1.2rem;
41
- margin: 0.5rem 0 1rem;
28
+ &.link-hover:hover, &.link-hover.router-link-exact-active.router-link-active{
29
+ color: $octopus-primary-color !important;
42
30
  }
43
- }
44
- h2{
45
- @media (max-width: 500px){
46
- font-size: 1rem;
31
+ &.btn, &.btn:hover{
32
+ color: #383838;
47
33
  }
48
34
  }
49
35
  hr{
50
36
  height: 0.01rem;
51
37
  color: #999;
52
38
  }
53
-
54
- .small-text{
55
- font-size: 0.6rem;
56
- display: flex;
57
- align-items: center;
58
- }
59
-
60
39
  .d-flex-column{
61
40
  display: flex;
62
41
  flex-direction: row;
@@ -72,16 +51,6 @@ body{
72
51
  flex-wrap: wrap;
73
52
  }
74
53
  }
75
-
76
- .primary-color{
77
- color: $octopus-primary-color;
78
- }
79
- .primary-darker{
80
- color: $octopus-primary-color;
81
- }
82
- .primary-bg{
83
- background: $octopus-primary-color;
84
- }
85
54
  .secondary-bg{
86
55
  background: $octopus-background;
87
56
  }
@@ -94,7 +63,6 @@ body{
94
63
  .width-fit-content{
95
64
  width: fit-content !important;
96
65
  }
97
-
98
66
  .page-box{
99
67
  background-color: $octopus-background;
100
68
  padding: 2rem 5rem 5rem 5rem;
@@ -130,21 +98,7 @@ body{
130
98
  box-shadow:0px 6px 20px 3px $primaryColorMoreTransparent !important;
131
99
  }
132
100
  }
133
- a.btn{
134
- color: #383838;
135
- &:hover{
136
- color: #383838;
137
- }
138
- }
139
- a, a:hover{
140
- text-decoration: none;
141
- }
142
- a.link-hover{
143
- color: black !important;
144
- }
145
- a.link-hover.router-link-exact-active.router-link-active, a.link-hover:hover {
146
- color: $octopus-primary-color !important;
147
- }
101
+
148
102
  .descriptionText{
149
103
  white-space: pre-wrap;
150
104
  word-wrap: break-word;
@@ -190,11 +144,9 @@ body{
190
144
  .hid{
191
145
  display: none !important;
192
146
  }
193
-
194
147
  .d-contents{
195
148
  display: contents;
196
149
  }
197
-
198
150
  .img-box{
199
151
  height: 13rem;
200
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
  /************************************************************************/
@@ -10,14 +10,12 @@ $h5-font-size: $font-size-base * 0.9 !default;
10
10
  $h6-font-size: $font-size-base * 0.7 !default;
11
11
  $breadcrumb-bg: #f3f3f3 !default;
12
12
  $breadcrumb-border-radius: 2rem !default;
13
- @import 'node_modules/bootstrap/scss/bootstrap.scss';
14
- @import './bootstrap-diff.scss';
15
- /* @import 'node_modules/bootstrap-vue-3/dist/bootstrap-vue-3.css'; */
13
+ @import './utilities';
14
+ @import './bootstrap.scss';
16
15
  @import './general.scss';
17
16
  @import './live.scss';
18
17
  @import './form.scss';
19
18
  @import './multiselect.scss';
20
19
  @import './transition.scss';
21
- @import './modal.scss';
22
20
  @import './share.scss';
23
21
  @import 'v-calendar/dist/style.css';
@@ -6,7 +6,7 @@
6
6
  <label
7
7
  :for="id"
8
8
  class="hid"
9
- >{{$t('Type string to filter by categories')}}</label>
9
+ >{{ $t('Type string to filter by categories') }}</label>
10
10
  <VueMultiselect
11
11
  :id="id"
12
12
  ref="multiselectRef"
@@ -55,7 +55,7 @@
55
55
  <template #caret="">
56
56
  <div class="position-relative">
57
57
  <span
58
- class="saooti-down octopus-arrow-down"
58
+ class="saooti-down octopus-arrow-down octopus-arrow-down-absolute"
59
59
  />
60
60
  </div>
61
61
  </template>
@@ -3,54 +3,51 @@
3
3
  v-show="isDisplay"
4
4
  class="mt-3"
5
5
  >
6
- <nav
6
+ <ol
7
7
  v-if="categoryFilter || rubriqueFilter.length"
8
- title="breadcrumb"
8
+ class="octopus-breadcrumb d-flex align-items-center flex-wrap"
9
9
  >
10
- <ol class="breadcrumb">
11
- <li class="breadcrumb-item">
12
- <a
13
- href="#"
14
- @click="removeFilter(-1, $event)"
15
- >{{ $t('All') }}</a>
16
- </li>
17
- <li
18
- v-if="categoryFilter"
19
- class="breadcrumb-item active"
20
- >
21
- {{ categoryFilter.name }}
22
- </li>
23
- <li
24
- v-for="(filter, index) in rubriqueFilter"
25
- :key="filter.rubriqueId"
26
- class="breadcrumb-item d-flex align-items-center"
27
- :class="rubriqueFilter.length-1 === index ? 'active':''"
28
- >
29
- <a
30
- v-if="rubriqueFilter.length - 1 !== index"
31
- href="#"
32
- @click="removeFilter(index,$event)"
33
- >{{ filter.nameRubriquage }}</a>
34
- <template v-else>
35
- {{ filter.nameRubriquage }}
36
- </template>
37
- <div class="mx-1">
38
- :
39
- </div>
40
- <RubriqueChooser
41
- v-if="getRubriques(filter.rubriquageId).length"
42
- class="ms-2 multiselect-transparent"
43
- :multiple="false"
44
- :rubriquage-id="filter.rubriquageId"
45
- :rubrique-selected="filter.rubriqueId"
46
- :all-rubriques="getRubriques(filter.rubriquageId)"
47
- :cannot-be-undefined="true"
48
- width="auto"
49
- @selected="onRubriqueSelected(index,$event)"
50
- />
51
- </li>
52
- </ol>
53
- </nav>
10
+ <li>
11
+ <a
12
+ href="#"
13
+ @click="removeFilter(-1, $event)"
14
+ >{{ $t('All') }}</a>
15
+ </li>
16
+ <li
17
+ v-if="categoryFilter"
18
+ >
19
+ {{ categoryFilter.name }}
20
+ </li>
21
+ <li
22
+ v-for="(filter, index) in rubriqueFilter"
23
+ :key="filter.rubriqueId"
24
+ class="d-flex align-items-center"
25
+ :class="rubriqueFilter.length-1 === index ? 'active':''"
26
+ >
27
+ <a
28
+ v-if="rubriqueFilter.length - 1 !== index"
29
+ href="#"
30
+ @click="removeFilter(index,$event)"
31
+ >{{ filter.nameRubriquage }}</a>
32
+ <template v-else>
33
+ {{ filter.nameRubriquage }}
34
+ </template>
35
+ <div class="mx-1">
36
+ :
37
+ </div>
38
+ <RubriqueChooser
39
+ v-if="getRubriques(filter.rubriquageId).length"
40
+ class="ms-2 multiselect-transparent"
41
+ :multiple="false"
42
+ :rubriquage-id="filter.rubriquageId"
43
+ :rubrique-selected="filter.rubriqueId"
44
+ :all-rubriques="getRubriques(filter.rubriquageId)"
45
+ :cannot-be-undefined="true"
46
+ width="auto"
47
+ @selected="onRubriqueSelected(index,$event)"
48
+ />
49
+ </li>
50
+ </ol>
54
51
  <CategoryList
55
52
  v-if="!categoryFilter && !rubriquageFilter.length"
56
53
  :is-filter="true"
@@ -149,6 +146,23 @@ export default defineComponent({
149
146
  </script>
150
147
  <style lang="scss">
151
148
  .octopus-app{
149
+ .octopus-breadcrumb{
150
+ padding: 1rem;
151
+ align-items: center;
152
+ background: #FAFAFA;
153
+ li{
154
+ list-style: none;
155
+ &:after {
156
+ content: "/";
157
+ margin: 0 0.2rem;
158
+ }
159
+ &:last-child {
160
+ &:after {
161
+ content: "";
162
+ }
163
+ }
164
+ }
165
+ }
152
166
  .categary-filter-no-filter{
153
167
  position: absolute;
154
168
  top: 0;
@@ -17,38 +17,41 @@
17
17
  {{ category.name }}
18
18
  </button>
19
19
  </div>
20
- <div
20
+ <button
21
21
  v-show="hidenCategories.length"
22
- class="dropdown btn-group"
22
+ id="categories-dropdown"
23
+ class="btn admin-button saooti-more"
24
+ :title="$t('See more')"
25
+ />
26
+ <Popover
27
+ target="categories-dropdown"
28
+ :only-click="true"
29
+ :is-fixed="true"
30
+ :left-pos="true"
23
31
  >
24
32
  <button
25
- class="btn dropdown-toggle admin-button dropdown-toggle-no-caret saooti-more"
26
- data-bs-toggle="dropdown"
27
- aria-expanded="false"
28
- :title="$t('See more')"
29
- />
30
- <div class="dropdown-menu dropdown-menu-right px-4">
31
- <div
32
- v-for="category in hidenCategories"
33
- :key="category.id"
34
- class="me-3 dropdown-item"
35
- @click="checkIfFilter(category)"
36
- >
37
- {{ category.name }}
38
- </div>
39
- </div>
40
- </div>
33
+ v-for="category in hidenCategories"
34
+ :key="category.id"
35
+ class="me-3 octopus-dropdown-item"
36
+ @mousedown="checkIfFilter(category)"
37
+ >
38
+ {{ category.name }}
39
+ </button>
40
+ </Popover>
41
41
  </div>
42
42
  </template>
43
43
 
44
44
  <script lang="ts">
45
45
  import octopusApi from '@saooti/octopus-api';
46
46
  import { state } from '../../../store/paramStore';
47
-
47
+ import Popover from '../../misc/Popover.vue';
48
48
  import { Category } from '@/store/class/general/category';
49
49
  import { defineComponent } from 'vue'
50
50
  export default defineComponent({
51
51
  name: 'CategoryList',
52
+ components:{
53
+ Popover
54
+ },
52
55
 
53
56
  props: {
54
57
  isFilter: { default: false, type: Boolean },