@saooti/octopus-sdk 36.0.1 → 36.0.3

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 (85) hide show
  1. package/package.json +1 -1
  2. package/public/css/fonts/icomoon.eot +0 -0
  3. package/public/css/fonts/icomoon.svg +21 -12
  4. package/public/css/fonts/icomoon.ttf +0 -0
  5. package/public/css/fonts/icomoon.woff +0 -0
  6. package/public/css/fonts/style.css +32 -5
  7. package/public/img/header-emissions.webp +0 -0
  8. package/public/img/header-home.webp +0 -0
  9. package/public/img/header-intervenants.webp +0 -0
  10. package/public/img/header-playlists.webp +0 -0
  11. package/public/img/header-podcasts.webp +0 -0
  12. package/src/assets/bootstrap.scss +26 -12
  13. package/src/assets/form.scss +2 -2
  14. package/src/assets/general.scss +16 -26
  15. package/src/assets/live.scss +0 -18
  16. package/src/assets/multiselect.scss +15 -25
  17. package/src/assets/share.scss +47 -12
  18. package/src/components/display/categories/CategoryChooser.vue +1 -1
  19. package/src/components/display/categories/CategoryFilter.vue +109 -62
  20. package/src/components/display/categories/CategoryList.vue +9 -20
  21. package/src/components/display/emission/EmissionChooser.vue +1 -1
  22. package/src/components/display/emission/EmissionInlineList.vue +1 -1
  23. package/src/components/display/emission/EmissionItem.vue +5 -5
  24. package/src/components/display/emission/EmissionPlayerItem.vue +10 -7
  25. package/src/components/display/filter/MonetizableFilter.vue +1 -1
  26. package/src/components/display/filter/ProductorSearch.vue +1 -1
  27. package/src/components/display/filter/RubriqueChoice.vue +1 -1
  28. package/src/components/display/list/ListPaginate.vue +14 -25
  29. package/src/components/display/list/Paginate.vue +71 -104
  30. package/src/components/display/list/PaginateParams.vue +66 -0
  31. package/src/components/display/live/CountDown.vue +1 -1
  32. package/src/components/display/live/LiveItem.vue +0 -7
  33. package/src/components/display/organisation/OrganisationChooser.vue +1 -1
  34. package/src/components/display/participant/ParticipantItem.vue +6 -12
  35. package/src/components/display/participant/ParticipantList.vue +2 -24
  36. package/src/components/display/playlist/PlaylistItem.vue +10 -10
  37. package/src/components/display/podcasts/AnimatorsItem.vue +1 -2
  38. package/src/components/display/podcasts/ParticipantDescription.vue +0 -30
  39. package/src/components/display/podcasts/PodcastFilterList.vue +1 -1
  40. package/src/components/display/podcasts/PodcastImage.vue +19 -13
  41. package/src/components/display/podcasts/PodcastInlineListClassic.vue +1 -1
  42. package/src/components/display/podcasts/PodcastInlineListTemplate.vue +14 -12
  43. package/src/components/display/podcasts/PodcastItem.vue +15 -9
  44. package/src/components/display/podcasts/PodcastItemInfo.vue +18 -55
  45. package/src/components/display/podcasts/PodcastModuleBox.vue +52 -25
  46. package/src/components/display/podcasts/PodcastSwiperList.vue +20 -10
  47. package/src/components/display/podcasts/TagList.vue +7 -2
  48. package/src/components/display/rubriques/RubriqueChooser.vue +2 -2
  49. package/src/components/display/rubriques/RubriqueList.vue +11 -19
  50. package/src/components/display/sharing/PlayerParameters.vue +59 -75
  51. package/src/components/display/sharing/ShareButtons.vue +20 -37
  52. package/src/components/display/sharing/ShareButtonsIntern.vue +75 -83
  53. package/src/components/display/sharing/ShareDistribution.vue +3 -2
  54. package/src/components/display/sharing/SharePlayer.vue +50 -50
  55. package/src/components/display/sharing/SharePlayerColors.vue +4 -4
  56. package/src/components/display/sharing/SharePlayerTypes.vue +25 -27
  57. package/src/components/display/sharing/SubscribeButtons.vue +2 -2
  58. package/src/components/form/ClassicCheckbox.vue +1 -1
  59. package/src/components/form/ClassicSearch.vue +2 -1
  60. package/src/components/misc/Footer.vue +19 -15
  61. package/src/components/misc/HomeDropdown.vue +14 -14
  62. package/src/components/misc/Popover.vue +2 -1
  63. package/src/components/misc/ProgressBar.vue +1 -1
  64. package/src/components/misc/TopBar.vue +54 -44
  65. package/src/components/misc/modal/ClassicModal.vue +5 -7
  66. package/src/components/misc/modal/NewsletterModal.vue +0 -1
  67. package/src/components/misc/player/Player.vue +5 -14
  68. package/src/components/misc/player/PlayerCompact.vue +2 -1
  69. package/src/components/pages/Emission.vue +64 -62
  70. package/src/components/pages/Emissions.vue +0 -9
  71. package/src/components/pages/Participant.vue +13 -15
  72. package/src/components/pages/Participants.vue +0 -7
  73. package/src/components/pages/Playlist.vue +43 -37
  74. package/src/components/pages/Playlists.vue +0 -5
  75. package/src/components/pages/Podcast.vue +65 -100
  76. package/src/components/pages/Podcasts.vue +1 -37
  77. package/src/locale/de.ts +6 -1
  78. package/src/locale/en.ts +6 -1
  79. package/src/locale/es.ts +6 -1
  80. package/src/locale/fr.ts +6 -1
  81. package/src/locale/it.ts +6 -1
  82. package/src/locale/sl.ts +6 -1
  83. package/src/sass/_variables.scss +8 -1
  84. package/src/stores/ParamSdkStore.ts +14 -22
  85. package/src/stores/PlayerStore.ts +11 -0
@@ -1,24 +1,26 @@
1
1
  <template>
2
- <div>
3
- <div class="module-box text-center-mobile overflow-visible">
4
- <h3>{{ $t('Embed') }}</h3>
5
- <template v-if="!exclusive && (authenticated || notExclusive)">
6
- <div class="d-flex flex-column align-items-center">
7
- <div
8
- v-if="noAd && !isEducation"
9
- class="sticker"
10
- :title="$t('You cannot insert advertising')"
11
- >
12
- {{ $t('No advertising') }}
13
- </div>
14
- <iframe
15
- id="miniplayerIframe"
16
- title="miniplayer"
17
- :src="iFrameSrc"
18
- width="100%"
19
- :height="iFrameHeight"
20
- class="max-iframe my-2"
21
- />
2
+ <div class="module-box overflow-visible">
3
+ <div class="d-flex justify-content-between align-items-center">
4
+ <h2 class="big-h2 mb-3 height-40">{{ $t('Embed') }}</h2>
5
+ <div
6
+ v-if="noAd && !isEducation"
7
+ class="sticker"
8
+ :title="$t('You cannot insert advertising')"
9
+ >
10
+ {{ $t('No advertising') }}
11
+ </div>
12
+ </div>
13
+ <template v-if="!exclusive && (authenticated || notExclusive)">
14
+ <div class="d-flex">
15
+ <iframe
16
+ id="miniplayerIframe"
17
+ title="miniplayer"
18
+ :src="iFrameSrc"
19
+ width="100%"
20
+ :height="iFrameHeight"
21
+ class="max-iframe mx-3"
22
+ />
23
+ <div class="d-flex flex-column flex-grow-1">
22
24
  <SharePlayerTypes
23
25
  v-if="!isLiveReadyToRecord"
24
26
  v-model:iFrameModel="iFrameModel"
@@ -37,44 +39,42 @@
37
39
  id-checkbox="is-visible-checkbox"
38
40
  :label="titleStillAvailable"
39
41
  />
40
- </div>
41
- <PlayerParameters
42
- v-if="isPlayerParameter"
43
- :is-visible="isVisible"
44
- :chose-number-episode="displayChoiceAllEpisodes|| isLargeSuggestion"
45
- :display-choice-all-episodes="displayChoiceAllEpisodes"
46
- :display-transcript-param="displayTranscriptParam"
47
- :display-article-param="displayArticleParam"
48
- @displayArticle="displayArticle = $event"
49
- @displayTranscript="displayTranscript = $event"
50
- @episodeNumbers="episodeNumbers = $event"
51
- @proceedReading="proceedReading = $event"
52
- @isVisible="isVisible = $event"
53
- @iFrameNumber="iFrameNumber = $event"
54
- />
55
- <div class="d-flex flex-column align-items-center mt-3">
42
+ <PlayerParameters
43
+ v-if="isPlayerParameter"
44
+ :is-visible="isVisible"
45
+ :chose-number-episode="displayChoiceAllEpisodes|| isLargeSuggestion"
46
+ :display-choice-all-episodes="displayChoiceAllEpisodes"
47
+ :display-transcript-param="displayTranscriptParam"
48
+ :display-article-param="displayArticleParam"
49
+ @displayArticle="displayArticle = $event"
50
+ @displayTranscript="displayTranscript = $event"
51
+ @episodeNumbers="episodeNumbers = $event"
52
+ @proceedReading="proceedReading = $event"
53
+ @isVisible="isVisible = $event"
54
+ @iFrameNumber="iFrameNumber = $event"
55
+ />
56
+ <ShareModalPlayer
57
+ v-if="isShareModal"
58
+ :embed-link="iFrame"
59
+ :embedly-link="iFrameSrc"
60
+ :direct-link="podcast"
61
+ @close="isShareModal = false"
62
+ />
56
63
  <button
57
- class="btn btn-primary mb-3"
64
+ class="btn btn-primary width-fit-content mt-3"
58
65
  @click="isShareModal = true"
59
66
  >
60
67
  {{ $t('Share the player') }}
61
68
  </button>
62
69
  </div>
63
- </template>
64
- <div v-else-if="exclusive && authenticated">
65
- {{ $t('Only organisation members can share the content') }}
66
- </div>
67
- <div v-else-if="!authenticated">
68
- {{ $t('Only authenticated members can share the content') }}
69
70
  </div>
71
+ </template>
72
+ <div v-else-if="exclusive && authenticated">
73
+ {{ $t('Only organisation members can share the content') }}
74
+ </div>
75
+ <div v-else-if="!authenticated">
76
+ {{ $t('Only authenticated members can share the content') }}
70
77
  </div>
71
- <ShareModalPlayer
72
- v-if="isShareModal"
73
- :embed-link="iFrame"
74
- :embedly-link="iFrameSrc"
75
- :direct-link="podcast"
76
- @close="isShareModal = false"
77
- />
78
78
  </div>
79
79
  </template>
80
80
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
- <div class="d-flex justify-content-around mt-3 w-100">
3
- <div class="d-flex flex-column align-items-center flex-shrink-0 me-3">
4
- <div>{{ $t('Choose color') }}</div>
2
+ <div class="d-flex mt-3">
3
+ <div class="d-flex flex-column align-items-center flex-shrink-0 me-4">
4
+ <div class="h4 mb-2">{{ $t('Choose color') }}</div>
5
5
  <VSwatches
6
6
  :model-value="color"
7
7
  class="c-hand "
@@ -13,7 +13,7 @@
13
13
  />
14
14
  </div>
15
15
  <div class="d-flex flex-column align-items-center">
16
- <div>{{ $t('Choose theme') }}</div>
16
+ <div class="h4 mb-2">{{ $t('Choose theme') }}</div>
17
17
  <VSwatches
18
18
  :model-value="theme"
19
19
  class="c-hand "
@@ -1,35 +1,33 @@
1
1
  <template>
2
- <div class="d-flex flex-column">
3
- <label
4
- for="iframe-select"
5
- title="select miniplayer"
6
- />
7
- <select
8
- id="iframe-select"
9
- :value="iFrameModel"
10
- class=""
11
- @change="$emit('update:iFrameModel',$event.target.value)"
2
+ <label
3
+ for="iframe-select"
4
+ title="select miniplayer"
5
+ />
6
+ <select
7
+ id="iframe-select"
8
+ :value="iFrameModel"
9
+ class=""
10
+ @change="$emit('update:iFrameModel',$event.target.value)"
11
+ >
12
+ <template
13
+ v-for="option in optionsSelect"
14
+ :key="option.value"
12
15
  >
13
- <template
14
- v-for="option in optionsSelect"
15
- :key="option.value"
16
- >
17
- <option
18
- v-if="option.condition"
19
- :value="option.value"
20
- >
21
- {{ option.name }}
22
- </option>
23
- </template>
24
16
  <option
25
- v-for="player in customPlayersDisplay"
26
- :key="player.customId"
27
- :value="player.customId"
17
+ v-if="option.condition"
18
+ :value="option.value"
28
19
  >
29
- {{ $t('Custom version') + " «" +player.name+"»" }}
20
+ {{ option.name }}
30
21
  </option>
31
- </select>
32
- </div>
22
+ </template>
23
+ <option
24
+ v-for="player in customPlayersDisplay"
25
+ :key="player.customId"
26
+ :value="player.customId"
27
+ >
28
+ {{ $t('Custom version') + " «" +player.name+"»" }}
29
+ </option>
30
+ </select>
33
31
  </template>
34
32
 
35
33
  <script lang="ts">
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div class="module-box flex-grow-0">
3
- <h3 class="mb-2 height-40">
3
+ <h2 class="big-h2 mb-3 height-40">
4
4
  {{ $t('Subscribe emission') }}
5
- </h3>
5
+ </h2>
6
6
  <template
7
7
  v-for="(sub, index) in subscriptionsDisplay"
8
8
  :key="sub.name"
@@ -72,7 +72,7 @@ export default defineComponent({
72
72
  bottom: 0;
73
73
  background-color: #ccc;
74
74
  transition: .4s;
75
- border-radius: 1rem;
75
+ border-radius: $octopus-borderradius;
76
76
  }
77
77
  .slider:before {
78
78
  position: absolute;
@@ -41,11 +41,12 @@ export default defineComponent({
41
41
  });
42
42
  </script>
43
43
  <style lang="scss">
44
+ @import '@scss/_variables.scss';
44
45
  .octopus-app{
45
46
  .champs-searchPage{
46
47
  input {
47
48
  border: 2px solid #dee2e6;
48
- border-radius: 10px;
49
+ border-radius: $octopus-borderradius;
49
50
  margin: 0 !important;
50
51
  }
51
52
  .saooti-search,
@@ -41,21 +41,26 @@
41
41
  rel="noopener"
42
42
  target="_blank"
43
43
  >{{ $t('Contact') }}</a>
44
- <a
45
- href="https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts"
46
- rel="noopener"
47
- target="_blank"
48
- :title="$t('Octopus is ACPM Podcast accredited')"
49
- >
50
- <img
51
- width="44"
52
- height="44"
53
- class="acpm_image"
54
- src="/img/ACPM.webp"
44
+ <div class="d-flex align-items-center">
45
+ <div class="hosted-by">
46
+ {{ $t('Hosted by') }}<span class="ms-1 me-1 text-primary">Saooti</span>
47
+ </div>
48
+ <a
49
+ href="https://www.acpm.fr/L-ACPM/Certifications-et-Labels/Les-Podcasts"
50
+ rel="noopener"
51
+ target="_blank"
55
52
  :title="$t('Octopus is ACPM Podcast accredited')"
56
- :alt="$t('Octopus is ACPM Podcast accredited')"
57
53
  >
58
- </a>
54
+ <img
55
+ width="44"
56
+ height="44"
57
+ class="acpm_image"
58
+ src="/img/ACPM.webp"
59
+ :title="$t('Octopus is ACPM Podcast accredited')"
60
+ :alt="$t('Octopus is ACPM Podcast accredited')"
61
+ >
62
+ </a>
63
+ </div>
59
64
  </div>
60
65
  </template>
61
66
 
@@ -143,8 +148,7 @@ export default defineComponent({
143
148
  <style lang="scss">
144
149
  .octopus-app{
145
150
  #footer{
146
- font-size: 0.7rem;
147
- position: sticky;
151
+ font-size: 0.6rem;
148
152
  bottom: 0;
149
153
  z-index: 10;
150
154
  background: white;
@@ -2,13 +2,18 @@
2
2
  <div
3
3
  class="d-flex align-items-center"
4
4
  >
5
- <button
5
+ <router-link
6
6
  v-if="authenticated"
7
- class="btn btn-primary hide-phone m-1"
8
- @click="goToUrl('/main/priv/backoffice')"
9
- >
10
- {{ $t('My space') }}
11
- </button>
7
+ :title="$t('My space')"
8
+ to="/main/priv/backoffice"
9
+ class="btn admin-button hide-smallest-screen m-1 saooti-admin-menu"
10
+ />
11
+ <router-link
12
+ v-if="isContribution"
13
+ :title="$t('Upload')"
14
+ to="/main/priv/upload"
15
+ class="btn admin-button hide-smallest-screen m-1 saooti-upload"
16
+ />
12
17
  <button
13
18
  id="home-dropdown"
14
19
  class="btn m-1 admin-button saooti-user"
@@ -112,7 +117,6 @@ export default defineComponent({
112
117
  },
113
118
  routerBackoffice(){
114
119
  return [
115
- {title:this.$t('Upload'),class:"btn btn-primary w-100", path:'/main/priv/upload', condition: (state.generalParameters.isContribution as boolean)},
116
120
  {title:this.$t('My space'),class:"show-phone octopus-dropdown-item", path:'/main/priv/backoffice', condition: true},
117
121
  {title:this.$t('Edit my profile'),class:"octopus-dropdown-item", path:'/main/priv/edit/profile', condition: true},
118
122
  {title:this.$t('Edit my organisation'),class:"octopus-dropdown-item", path:'/main/priv/edit/organisation', condition: (state.generalParameters.isOrganisation as boolean) || 1<this.organisationsAvailable.length}];
@@ -124,14 +128,10 @@ export default defineComponent({
124
128
  authenticated(): boolean {
125
129
  return state.generalParameters.authenticated??false;
126
130
  },
127
- },
128
-
129
- methods: {
130
- goToUrl(url: string): void {
131
- if (this.authenticated) {
132
- this.$router.push(url);
133
- }
131
+ isContribution(): boolean {
132
+ return state.generalParameters.isContribution??false;
134
133
  },
135
134
  },
135
+
136
136
  })
137
137
  </script>
@@ -158,10 +158,11 @@ export default defineComponent({
158
158
  });
159
159
  </script>
160
160
  <style lang="scss">
161
+ @import '@scss/_variables.scss';
161
162
  .octopus-popover{
162
163
  background: white;
163
164
  border: 1px solid #ccc;
164
- border-radius: 5px;
165
+ border-radius: $octopus-borderradius;
165
166
  position: absolute;
166
167
  z-index: 9999;
167
168
  &.octopus-dropdown{
@@ -52,7 +52,7 @@ export default defineComponent({
52
52
  display: flex;
53
53
  overflow: hidden;
54
54
  background-color:#e9ecef;
55
- border-radius: 0.375rem;
55
+ border-radius: $octopus-borderradius;
56
56
  position: relative;
57
57
  cursor: pointer;
58
58
 
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div
3
3
  class="top-bar-container"
4
- :class="{ 'shadow-element': scrolled }"
4
+ :class="{ 'scrolled': scrolled }"
5
5
  >
6
6
  <router-link
7
7
  class="top-bar-logo"
@@ -25,7 +25,7 @@
25
25
  width="auto"
26
26
  :defaultanswer="$t('No organisation filter')"
27
27
  :value="organisationId"
28
- class="me-2"
28
+ class="ms-3 me-2"
29
29
  :reset="reset"
30
30
  @selected="onOrganisationSelected"
31
31
  />
@@ -40,11 +40,39 @@
40
40
  name: link.routeName,
41
41
  query: getQueriesRouter(link.routeName),
42
42
  }"
43
- class="link-hover p-3 fw-bold"
43
+ class="link-hover p-3"
44
44
  >
45
45
  {{ link.title }}
46
46
  </router-link>
47
47
  </template>
48
+ <button id="more-dropdown" class="d-flex align-items-center btn-transparent p-3">
49
+ <div class="link-hover">{{$t('More')}}</div>
50
+ <div class="hide-phone ms-1 saooti-down"></div>
51
+ </button>
52
+ <Popover
53
+ target="more-dropdown"
54
+ :only-click="true"
55
+ :is-fixed="true"
56
+ :left-pos="true"
57
+ >
58
+ <div class="d-flex flex-column">
59
+ <template
60
+ v-for="link in routerLinkInsideArray"
61
+ :key="link.routeName"
62
+ >
63
+ <router-link
64
+ v-if="link.condition"
65
+ :to="{
66
+ name: link.routeName,
67
+ query: getQueriesRouter(link.routeName),
68
+ }"
69
+ class="link-hover p-1 octopus-dropdown-item"
70
+ >
71
+ {{ link.title }}
72
+ </router-link>
73
+ </template>
74
+ </div>
75
+ </Popover>
48
76
  </div>
49
77
  <button
50
78
  class="btn-transparent saooti-menu"
@@ -52,9 +80,7 @@
52
80
  @click="onDisplayMenu(false)"
53
81
  />
54
82
  <div class="d-flex flex-column">
55
- <div class="hosted-by">
56
- {{ $t('Hosted by') }}<span class="ms-1 me-1 text-primary">Saooti</span>
57
- </div>
83
+
58
84
  <div class="d-flex justify-content-end flex-nowrap">
59
85
  <HomeDropdown :is-education="isEducation" />
60
86
  <router-link
@@ -79,6 +105,7 @@ import imageProxy from '../mixins/imageProxy';
79
105
  import { useFilterStore } from '@/stores/FilterStore';
80
106
  import { mapState } from 'pinia';
81
107
  import { RubriquageFilter } from '@/stores/class/rubrique/rubriquageFilter';
108
+ import Popover from '../misc/Popover.vue';
82
109
  import { defineComponent,defineAsyncComponent } from 'vue';
83
110
  const OrganisationChooserLight = defineAsyncComponent(() => import('../display/organisation/OrganisationChooserLight.vue'));
84
111
  export default defineComponent({
@@ -86,6 +113,7 @@ export default defineComponent({
86
113
  components: {
87
114
  OrganisationChooserLight,
88
115
  HomeDropdown,
116
+ Popover
89
117
  },
90
118
  mixins:[orgaFilter, imageProxy],
91
119
  props: {
@@ -108,7 +136,11 @@ export default defineComponent({
108
136
  return [
109
137
  {title : this.$t('Live'), routeName: 'lives', condition : (state.generalParameters.isLiveTab as boolean) &&((this.filterOrgaId && this.filterLive) || !this.filterOrgaId)},
110
138
  {title : this.$t('Podcasts'), routeName: 'podcasts', condition : true},
111
- {title : this.$t('Emissions'), routeName: 'emissions', condition : true},
139
+ {title : this.$t('Emissions'), routeName: 'emissions', condition : true}
140
+ ]
141
+ },
142
+ routerLinkInsideArray(){
143
+ return [
112
144
  {title : this.$t('Speakers'), routeName: 'participants', condition : true},
113
145
  {title : this.$t('Playlists'), routeName: 'playlists', condition : true},
114
146
  {title : this.$t('Productors'), routeName: 'productors', condition : !this.isPodcastmaker && (!this.filterOrgaId || this.isEducation)}]
@@ -204,7 +236,7 @@ export default defineComponent({
204
236
  top: 0;
205
237
  background: #fff;
206
238
  width: 100%;
207
- height: 5rem;
239
+ height: 3.5rem;
208
240
  z-index: 10;
209
241
  padding: 0 1rem;
210
242
  display: flex;
@@ -222,26 +254,19 @@ export default defineComponent({
222
254
  margin: 0.5rem;
223
255
  }
224
256
 
225
- .top-bar-logo {
226
- margin: 1rem 2rem 1rem 1rem;
227
- img {
228
- max-width: 160px !important;
229
- max-height: 2.5rem;
230
- height: 2.5rem;
231
- &.educationLogo {
232
- height: auto;
233
- }
257
+ .top-bar-logo img{
258
+ max-width: 140px !important;
259
+ max-height: 2.5rem;
260
+ height: 2.5rem;
261
+ &.educationLogo {
262
+ height: auto;
263
+ }
264
+ @media (max-width: 650px) {
265
+ height: 2rem;
234
266
  }
235
267
  }
236
- .hosted-by {
237
- font-size: 0.6rem;
238
- position: absolute;
239
- top: 5px;
240
- right: 0;
241
- }
242
- &.shadow-element {
243
- height: 3.5rem;
244
- .link-hover,.hosted-by {
268
+ &.cscrolled{
269
+ .link-hover {
245
270
  display: none;
246
271
  }
247
272
  .saooti-menu {
@@ -249,30 +274,15 @@ export default defineComponent({
249
274
  }
250
275
  }
251
276
  /** PHONES*/
252
- @media (max-width: 1470px) {
253
- height: 3.5rem;
254
- .default-multiselect-width, .hosted-by, .link-hover {
277
+ @media (max-width: 960px) {
278
+ .default-multiselect-width, .link-hover {
255
279
  display: none;
256
280
  }
257
281
  .saooti-menu {
258
282
  display: block;
259
283
  }
260
284
  }
261
- @media (max-width: 650px) {
262
- .top-bar-logo img{
263
- height: 2rem;
264
- }
265
- }
266
- @media (max-width: 380px) {
267
- .top-bar-logo img{
268
- height: 1rem;
269
- }
270
- }
271
- @media (max-width: 290px) {
272
- .top-bar-logo{
273
- display: none;
274
- }
275
- }
285
+
276
286
  }
277
287
  }
278
288
  </style>
@@ -77,8 +77,8 @@ export default defineComponent({
77
77
  position: relative;
78
78
  pointer-events: none;
79
79
  margin: 1.75rem auto;
80
- max-height: 75vh;
81
- max-width: 640px;
80
+ max-width: 800px;
81
+ max-height: 90vh;
82
82
  width: 100%;
83
83
  display: flex;
84
84
  color: #353535 !important;
@@ -88,7 +88,6 @@ export default defineComponent({
88
88
  }
89
89
  }
90
90
  .octopus-modal-body{
91
- position: relative;
92
91
  flex: 1 1 auto;
93
92
  padding: 1rem;
94
93
  overflow-x: auto;
@@ -103,7 +102,7 @@ export default defineComponent({
103
102
  align-items: center;
104
103
  justify-content: space-between;
105
104
  border: 0;
106
- border-radius: 0.8rem 0.8rem 0 0;
105
+ border-radius: $octopus-borderradius $octopus-borderradius 0 0;
107
106
  background: $octopus-primary-color;
108
107
  color: white;
109
108
  padding: 1rem;
@@ -113,7 +112,6 @@ export default defineComponent({
113
112
  min-height: 300px;
114
113
  }
115
114
  .octopus-modal-content{
116
- position: relative;
117
115
  display: flex;
118
116
  flex-direction: column;
119
117
  pointer-events: auto;
@@ -123,8 +121,8 @@ export default defineComponent({
123
121
  border: 0;
124
122
  outline: 0;
125
123
  height: auto !important;
126
- max-height: calc(100vh - 250px) !important;
127
- border-radius: 0.8rem;
124
+ max-height: initial !important;
125
+ border-radius: $octopus-borderradius;
128
126
  box-shadow: 0 0.2rem 0.5rem rgba(40,40,40,.3);
129
127
  }
130
128
  .octopus-modal-footer{
@@ -323,7 +323,6 @@ export default defineComponent({
323
323
  border: 2px solid #eee;
324
324
  height: 200px;
325
325
  padding: 1em;
326
- border-radius: 1em;
327
326
  }
328
327
  .octopus-modal-dialog{
329
328
  max-width: 80%;
@@ -17,7 +17,7 @@
17
17
  @seeked="onSeeked"
18
18
  />
19
19
  <PlayerCompact
20
- v-if="!largeVersion"
20
+ v-if="!playerLargeVersion"
21
21
  v-model:notListenTime="notListenTime"
22
22
  :player-error="playerError"
23
23
  :hls-ready="hlsReady"
@@ -27,7 +27,7 @@
27
27
  :duration-live-position="durationLivePosition"
28
28
  :listen-time="listenTime"
29
29
  @stopPlayer="stopPlayer"
30
- @changePlayerLargeVersion="largeVersion = true"
30
+ @changePlayerLargeVersion="playerUpdateLargeVersion(true)"
31
31
  />
32
32
  <PlayerLarge
33
33
  v-else
@@ -40,7 +40,7 @@
40
40
  :duration-live-position="durationLivePosition"
41
41
  :listen-time="listenTime"
42
42
  @stopPlayer="stopPlayer"
43
- @changePlayerLargeVersion="largeVersion = false"
43
+ @changePlayerLargeVersion="playerUpdateLargeVersion(false)"
44
44
  />
45
45
  </template>
46
46
  </div>
@@ -76,23 +76,14 @@ export default defineComponent({
76
76
  displayAlertBar: false as boolean,
77
77
  hlsReady: false as boolean,
78
78
  comments: [] as Array<CommentPodcast>,
79
- showTimeline: false as boolean,
80
- largeVersion: false as boolean,
81
79
  audioUrlToPlay: "" as string
82
80
  };
83
81
  },
84
82
  computed: {
85
- ...mapState(usePlayerStore, ['playerStatus']),
83
+ ...mapState(usePlayerStore, ['playerStatus', 'playerHeight', 'playerLargeVersion']),
86
84
  display(){
87
85
  return 'STOPPED' !== this.playerStatus;
88
86
  },
89
- playerHeight() {
90
- if ('STOPPED' === this.playerStatus || this.forceHide) return 0;
91
- if (this.largeVersion) return '27rem';
92
- if (window.innerWidth > 450 && !this.showTimeline) return '5rem';
93
- if (window.innerWidth > 450 && this.showTimeline) return '6rem';
94
- return '3.5rem';
95
- },
96
87
  },
97
88
 
98
89
  watch: {
@@ -102,7 +93,7 @@ export default defineComponent({
102
93
  },
103
94
 
104
95
  methods: {
105
- ...mapActions(usePlayerStore, ['playerPlay']),
96
+ ...mapActions(usePlayerStore, ['playerPlay', 'playerUpdateLargeVersion']),
106
97
  onHidden(): void {
107
98
  if (this.forceHide) {
108
99
  this.playerPlay();