@latest-thinking/lt-player 1.0.6-a → 1.0.6-b

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latest-thinking/lt-player",
3
- "version": "1.0.6-a",
3
+ "version": "1.0.6-b",
4
4
  "description": "LT player.",
5
5
  "main": "dist/js/lt-player-main.js",
6
6
  "module": "dist/js/lt-player-main.js",
@@ -19,6 +19,151 @@
19
19
  // }
20
20
  //}
21
21
 
22
+ .lt-player-mobile-share-modal {
23
+ .share-controller {
24
+
25
+
26
+ .share-inactive {
27
+ align-items: end;
28
+ background: rgba(0, 0, 0, .3);
29
+ -webkit-backdrop-filter: blur(14px);
30
+ backdrop-filter: blur(14px);
31
+ bottom: 0;
32
+ color: $default-lt-player-white;
33
+ display: flex;
34
+ justify-content: center;
35
+ left: 0;
36
+ position: absolute;
37
+ right: 0;
38
+ top: 0;
39
+ z-index: 9999999;
40
+
41
+ .share-controller-content {
42
+ background: $default-lt-player-white;
43
+ padding: 0 28px 20px;
44
+ text-align: center;
45
+ width: 100%;
46
+
47
+ .share-controller-mobile-modal-header {
48
+ position: sticky;
49
+ top: 0;
50
+ display: flex;
51
+ justify-content: space-between;
52
+ align-items: center;
53
+ background-color: #F9F9F9;
54
+ min-height: 50px;
55
+ padding: 0 16px;
56
+ border-radius: 15px 15px 0 0;
57
+
58
+ .line-button {
59
+ display: flex;
60
+ width: 56px;
61
+ height: 6px;
62
+ background-color: #E6E6E6;
63
+ margin: 0.5rem auto;
64
+ cursor: pointer;
65
+ }
66
+ }
67
+
68
+
69
+ .line-button {
70
+ display: flex;
71
+ width: 56px;
72
+ height: 6px;
73
+ background-color: $default-lt-line-button;
74
+ margin: 8px auto;
75
+ cursor: pointer;
76
+ visibility: hidden;
77
+ }
78
+
79
+ .share-controller-frame {
80
+ position: relative;
81
+
82
+ .player-share-close-button {
83
+ color: $default-lt-player-black;
84
+ position: absolute;
85
+ right: -20px;
86
+ top: -20px;
87
+ }
88
+ }
89
+
90
+ .share-controller-title,
91
+ .share-controller-via {
92
+ h3 {
93
+ color: $default-lt-button-color;
94
+ font-size: $lt-player-font-size-base;
95
+ font-weight: $lt-player-font-weight-lg;
96
+ margin-top: 0;
97
+ }
98
+ }
99
+
100
+ .share-controller-via {
101
+ margin-bottom: 25px;
102
+ }
103
+
104
+ .share-controller-link-wrapper {
105
+ @extend %center-elements;
106
+ flex-flow: column wrap;
107
+ gap: 20px;
108
+ word-break: break-word;
109
+
110
+ .share-controller-url {
111
+ font-size: $lt-player-font-size-base;
112
+ color: $default-lt-player-modal-color;
113
+ font-weight: $lt-player-font-weight-sm;
114
+ text-decoration: underline;
115
+ cursor: pointer;
116
+ max-width: 90%;
117
+ }
118
+
119
+ .share-controller-link {
120
+ @extend %lt-player-btn;
121
+ @include yellow-btn;
122
+ color: $default-lt-button-color !important;
123
+ max-width: 142px;
124
+ width: 100%;
125
+ }
126
+ }
127
+
128
+ .share-controller-hr {
129
+ opacity: 0.3;
130
+ margin: 20px 0;
131
+ }
132
+
133
+ .share-controller-icons {
134
+ @extend %center-elements;
135
+ gap: 15px;
136
+ flex-wrap: wrap;
137
+
138
+ div {
139
+ display: none;
140
+ }
141
+
142
+ a {
143
+ padding: 0;
144
+
145
+ &:first-child {
146
+ .share-icon__icon {
147
+ background: $default_color_player;
148
+ }
149
+ }
150
+
151
+ .share-icon__icon {
152
+ @extend %center-elements;
153
+ width: 32px;
154
+ height: 32px;
155
+ max-width: 32px;
156
+ max-height: 32px;
157
+ background: $default-lt-button-color;
158
+ }
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
164
+ }
165
+
166
+
22
167
  .plyr {
23
168
  .share-controller {
24
169
  .share-inactive {
@@ -194,7 +194,6 @@ export class LTPlayerSetup {
194
194
  }
195
195
 
196
196
  switch (videoData.type) {
197
-
198
197
  case 'embedded':
199
198
  return processEmbed()
200
199
  case 'video':
@@ -106,14 +106,12 @@ export namespace LTPlayer {
106
106
 
107
107
  this.playerConfig.getPlayerElementContainer().classList.add(`lt-player-portrate--${this.playerConfig.getDevice()}`);
108
108
 
109
-
110
109
  let playerSettings = {};
111
110
 
112
111
  const controls = this.getPlayerControllers();
113
112
 
114
113
  Object.assign(playerSettings, {controls});
115
114
 
116
-
117
115
  if (this.playerConfig.getVideoType() === 'embedded') {
118
116
  Object.assign(playerSettings, this.playerConfig.getEmbedOrigin())
119
117
  }
@@ -128,14 +126,14 @@ export namespace LTPlayer {
128
126
 
129
127
  const element = this.playerConfig.getPlayerElementContainer().querySelector('.embed_player');
130
128
 
131
- const player = new Plyr(element, playerSettings);
129
+ this.plyr = new Plyr(element, playerSettings);
132
130
 
133
- this.playerConfig.setObjectFit(player, 'portrait');
131
+ this.playerConfig.setObjectFit(this.plyr, 'portrait').then(() => {
132
+ this.videoService.init(this);
133
+ });
134
134
 
135
135
  this.windowService.init(this);
136
136
 
137
- this.plyr = player;
138
-
139
137
  this.posterManager.init(this);
140
138
 
141
139
  const chapters = this.playerConfig.getChapters();
@@ -151,7 +149,7 @@ export namespace LTPlayer {
151
149
  }
152
150
 
153
151
  if (this.playerConfig.getDevice() !== 'mobile') {
154
- this.miniPlayer.init(player, this.templateService, this.iconService, this.playerConfig.getPlayerType(), this);
152
+ this.miniPlayer.init(this.plyr, this.templateService, this.iconService, this.playerConfig.getPlayerType(), this);
155
153
  }
156
154
  }
157
155
 
@@ -264,14 +262,14 @@ export namespace LTPlayer {
264
262
 
265
263
  const element = this.playerConfig.getPlayerElementContainer().querySelector('.embed_player');
266
264
 
267
- const player = new Plyr(element, playerSettings);
265
+ this.plyr = new Plyr(element, playerSettings);
268
266
 
269
- this.playerConfig.setObjectFit(player, 'landscape');
267
+ this.playerConfig.setObjectFit(this.plyr, 'landscape').then(() => {
268
+ this.videoService.init(this);
269
+ });
270
270
 
271
271
  this.windowService.init(this);
272
272
 
273
- this.plyr = player;
274
-
275
273
  this.posterManager.init(this);
276
274
 
277
275
  const chapters = this.playerConfig.getChapters();
@@ -287,7 +285,7 @@ export namespace LTPlayer {
287
285
  }
288
286
 
289
287
  if (this.playerConfig.getDevice() !== 'mobile') {
290
- this.miniPlayer.init(player, this.templateService, this.iconService, this.playerConfig.getPlayerType(), this);
288
+ this.miniPlayer.init(this.plyr, this.templateService, this.iconService, this.playerConfig.getPlayerType(), this);
291
289
  }
292
290
  }
293
291
 
@@ -29,7 +29,8 @@ export class LTPlayerConfig {
29
29
  chapters : null,
30
30
  playerType: null,
31
31
  device : 'desktop',
32
- observe : false
32
+ observe : false,
33
+ videoObjectFit : false
33
34
  }
34
35
  processor : LTPlayerConfigProcessor.Map
35
36
 
@@ -64,22 +65,35 @@ export class LTPlayerConfig {
64
65
  }
65
66
 
66
67
  setObjectFit(plyr : Plyr, instanceType : string) {
67
- if (plyr.isHTML5) {
68
68
 
69
- const videoTag = plyr.elements.wrapper.querySelector('video');
69
+ return new Promise(resolve => {
70
+ if (plyr.isHTML5) {
70
71
 
71
- if (videoTag) {
72
+ const videoTag = plyr.elements.wrapper.querySelector('video');
72
73
 
73
- videoTag.addEventListener('loadedmetadata', (event)=> {
74
+ if (videoTag) {
74
75
 
75
- const type = Helper.getVideoOrientation(videoTag.videoWidth, videoTag.videoHeight);
76
+ videoTag.addEventListener('loadedmetadata', (event)=> {
76
77
 
77
- if (type === instanceType) {
78
- videoTag.style.objectFit = 'cover';
79
- }
80
- })
78
+ const type = Helper.getVideoOrientation(videoTag.videoWidth, videoTag.videoHeight);
79
+
80
+ if (type === instanceType) {
81
+ this.configData.videoObjectFit = 'cover';
82
+ } else {
83
+ this.configData.videoObjectFit = 'clip';
84
+ }
85
+
86
+ resolve(true);
87
+ })
88
+ }
81
89
  }
82
- }
90
+ })
91
+
92
+
93
+ }
94
+
95
+ getObjectFit() {
96
+ return this.configData.videoObjectFit
83
97
  }
84
98
 
85
99
  setVersion(version : string | number) {
@@ -107,10 +107,13 @@ export class LTPlayerCommon {
107
107
  });
108
108
  }
109
109
  onReadyPlayer() {
110
-
111
110
  //set share button
112
111
  if (this.player.playerConfig.getShareData()) {
113
- this.player.share.events.desktop.init(this.player);
112
+ if (this.player.playerConfig.getDevice() === 'mobile') {
113
+ this.player.share.events.mobile.init();
114
+ } else {
115
+ this.player.share.events.desktop.init();
116
+ }
114
117
  }
115
118
 
116
119
  //set poster
@@ -147,6 +147,8 @@ export class LTPlayerDesktop extends LTPlayerCommon implements EventsInterfaces
147
147
  //fullscreen icon
148
148
  instance.playerControl.desktopEvents.fullscreenIcon(instance, 'enterfullscreen');
149
149
 
150
+ instance.videoService.removeObjectFit();
151
+
150
152
  });
151
153
 
152
154
  plyr.on('exitfullscreen', function LTPlayerDesktopExitFullScreen() {
@@ -155,6 +157,8 @@ export class LTPlayerDesktop extends LTPlayerCommon implements EventsInterfaces
155
157
 
156
158
  //fullscreen icon
157
159
  instance.playerControl.desktopEvents.fullscreenIcon(instance, 'exitfullscreen');
160
+
161
+ instance.videoService.appendObjectFit();
158
162
  })
159
163
  }
160
164
 
@@ -132,11 +132,13 @@ export class LTPlayerMobile extends LTPlayerCommon implements EventsInterfaces {
132
132
  //fullscreen icon
133
133
  instance.playerControl.desktopEvents.fullscreenIcon(instance, 'enterfullscreen');
134
134
 
135
+ instance.videoService.removeObjectFit();
135
136
  });
136
137
 
137
138
  plyr.on('exitfullscreen', function LTPlayerDesktopExitFullScreen() {
138
139
  //fullscreen icon
139
140
  instance.playerControl.desktopEvents.fullscreenIcon(instance, 'exitfullscreen');
141
+ instance.videoService.appendObjectFit();
140
142
  })
141
143
  }
142
144
 
@@ -0,0 +1,120 @@
1
+ import {LTPlayerShareManager} from "./LTPlayerShareManager";
2
+
3
+ export class LTPlayerShareDesktop {
4
+ manager : LTPlayerShareManager
5
+ isPlaying : boolean
6
+ constructor(instance : LTPlayerShareManager) {
7
+ this.manager = instance;
8
+ this.setTemplate();
9
+ }
10
+ setTemplate() {
11
+ const playerContainer = this.manager.instance.plyr.elements.wrapper;
12
+ playerContainer.insertAdjacentHTML("afterend", this.manager.templateService.getShare(this.manager.playerConfig.getShareData()));
13
+ }
14
+
15
+ activeModal() {
16
+ const selectors = this.getSelector();
17
+ const instance = this.manager.instance;
18
+
19
+ selectors.shareContainer.classList.remove('share-inactive');
20
+ selectors.shareContainer.classList.add('share-active');
21
+ (window as any).a2a.init_all();
22
+ if (!instance.playerConfig.getShareData().canonicalUrl) {
23
+ if (!instance.playerConfig.getShareData().embedUrl) {
24
+ selectors.shareContainer.querySelector('.share-controller-top').classList.add('d-none')
25
+ } else {
26
+ this.setCopyContent(true);
27
+ }
28
+ } else {
29
+ this.setCopyContent(false);
30
+ }
31
+
32
+ this.setCopyButtonsEvents()
33
+ this.setSwitchButton()
34
+ if (instance.plyr.playing) {
35
+ this.isPlaying = true;
36
+ instance.plyr.pause();
37
+ } else {
38
+ this.isPlaying = false;
39
+ }
40
+ }
41
+
42
+
43
+ setSwitchButton() {
44
+ const selectors = this.getSelector();
45
+ const instance = this.manager.instance;
46
+
47
+ if (!instance.playerConfig.getShareData().embedUrl || !instance.playerConfig.getShareData().canonicalUrl) {
48
+ selectors.switchButton.classList.add('d-none');
49
+ return;
50
+ }
51
+
52
+ selectors.switchButton.addEventListener('click', () => {
53
+ if (selectors.urlInput.classList.contains('canonicalUrl')) {
54
+ selectors.urlInput.classList.remove('canonicalUrl');
55
+ selectors.urlInput.classList.add('embedUrl');
56
+ this.setCopyContent(true);
57
+ } else {
58
+ selectors.urlInput.classList.add('canonicalUrl');
59
+ selectors.urlInput.classList.remove('embedUrl');
60
+ this.setCopyContent(false);
61
+ }
62
+ })
63
+ }
64
+
65
+ setCopyContent(embed : boolean) {
66
+ const selectors = this.getSelector();
67
+ const instance = this.manager.instance;
68
+
69
+ if (!embed) {
70
+ selectors.urlInput.classList.add('canonicalUrl');
71
+ selectors.urlInput.innerHTML = `${instance.playerConfig.getShareData().canonicalUrl}`;
72
+ (selectors.urlInput as HTMLElement).dataset.copy = instance.playerConfig.getShareData().canonicalUrl;
73
+ selectors.urlInput.addEventListener('click', () => {
74
+ window.open(instance.playerConfig.getShareData().canonicalUrl)
75
+ })
76
+ return
77
+ }
78
+ selectors.urlInput.classList.add('embedUrl');
79
+ const iframe = `<iframe width="560" height="315" src="${instance.playerConfig.getShareData().embedUrl}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
80
+ (selectors.urlInput as HTMLElement).innerText = iframe;
81
+ (selectors.urlInput as HTMLElement).dataset.copy = iframe;
82
+ }
83
+
84
+ inactiveModal() {
85
+ const selectors = this.getSelector();
86
+ const instance = this.manager.instance;
87
+
88
+ selectors.shareContainer.classList.add('share-inactive');
89
+ selectors.shareContainer.classList.remove('share-active');
90
+ if (this.isPlaying) {
91
+ instance.plyr.play();
92
+ }
93
+ }
94
+
95
+ getSelector() {
96
+ return {
97
+ buttons : [
98
+ this.manager.instance.plyr.elements.container.querySelector('.poster-lt-player-share'),
99
+ this.manager.instance.plyr.elements.controls.querySelector('.lt-player-share'),
100
+ ],
101
+ urlInput : this.manager.instance.plyr.elements.container.querySelector('.share-controller-wrapper').querySelector('.share-controller-url'),
102
+ shareContainer : this.manager.instance.plyr.elements.container.querySelector('.share-controller-wrapper'),
103
+ copyButtons : this.manager.instance.plyr.elements.container.querySelectorAll('.share-controller-link'),
104
+ switchButton : this.manager.instance.plyr.elements.container.querySelector('.share-controller-wrapper').querySelector('.button_embed')
105
+ };
106
+ }
107
+
108
+ setCopyButtonsEvents() {
109
+ const selectors = this.getSelector();
110
+
111
+ if (selectors.copyButtons.length > 0) {
112
+ selectors.copyButtons.forEach((button: HTMLElement) => {
113
+ button.addEventListener('click', function LTPlayerShareCopy() {
114
+ navigator.clipboard.writeText((selectors.urlInput as HTMLElement).dataset.copy);
115
+ })
116
+
117
+ })
118
+ }
119
+ }
120
+ }
@@ -1,162 +1,60 @@
1
- import {LTPlayer} from "../LTPlayerType";
2
- import {defaultType} from "../../global/types/ModuleTypes";
1
+ import {LTPlayerShareManager} from "./LTPlayerShareManager";
3
2
 
4
3
  export namespace LTPlayerShareEvents {
5
4
 
6
- export class common {
7
-
8
- isPlaying : boolean
9
- activeModal(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType, selectors: defaultType) {
10
- selectors.shareContainer.classList.remove('share-inactive');
11
- selectors.shareContainer.classList.add('share-active');
12
-
13
- if (!instance.playerConfig.getShareData().canonicalUrl) {
14
- if (!instance.playerConfig.getShareData().embedUrl) {
15
- selectors.shareContainer.querySelector('.share-controller-top').classList.add('d-none')
16
- } else {
17
- this.setCopyContent(instance, selectors, true);
18
- }
19
- } else {
20
- this.setCopyContent(instance, selectors, false);
21
- }
22
-
23
- this.setCopyButtonsEvents(instance, selectors)
24
- this.setSwitchButton(instance, selectors)
25
- if (instance.plyr.playing) {
26
- this.isPlaying = true;
27
- instance.plyr.pause();
28
- } else {
29
- this.isPlaying = false;
30
- }
31
- }
32
-
33
-
34
- setSwitchButton(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType, selectors: defaultType) {
35
- if (!instance.playerConfig.getShareData().embedUrl || !instance.playerConfig.getShareData().canonicalUrl) {
36
- selectors.switchButton.classList.add('d-none');
37
- return;
38
- }
39
-
40
- selectors.switchButton.addEventListener('click', () => {
41
- if (selectors.urlInput.classList.contains('canonicalUrl')) {
42
- selectors.urlInput.classList.remove('canonicalUrl');
43
- selectors.urlInput.classList.add('embedUrl');
44
- this.setCopyContent(instance, selectors, true);
45
- } else {
46
- selectors.urlInput.classList.add('canonicalUrl');
47
- selectors.urlInput.classList.remove('embedUrl');
48
- this.setCopyContent(instance, selectors, false);
49
- }
50
- })
51
-
52
-
53
- }
54
-
55
-
56
- setCopyContent(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType, selectors: defaultType, embed : boolean) {
57
-
58
- if (!embed) {
59
- selectors.urlInput.classList.add('canonicalUrl');
60
- selectors.urlInput.innerHTML = `${instance.playerConfig.getShareData().canonicalUrl}`;
61
- selectors.urlInput.dataset.copy = instance.playerConfig.getShareData().canonicalUrl;
62
- return
63
- }
64
- selectors.urlInput.classList.add('embedUrl');
65
- selectors.urlInput.innerText = `<iframe width="560" height="315" src="${instance.playerConfig.getShareData().embedUrl}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
66
- selectors.urlInput.dataset.copy = `<iframe width="560" height="315" src="${instance.playerConfig.getShareData().embedUrl}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
67
-
68
- }
69
-
70
-
71
- inactiveModal(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType, selectors: defaultType) {
72
- selectors.shareContainer.classList.add('share-inactive');
73
- selectors.shareContainer.classList.remove('share-active');
74
- if (this.isPlaying) {
75
- instance.plyr.play();
76
- }
77
- }
78
-
79
- getSelector(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType) {
80
- return {
81
- buttons : [
82
- instance.plyr.elements.container.querySelector('.poster-lt-player-share'),
83
- instance.plyr.elements.controls.querySelector('.lt-player-share'),
84
- ],
85
- urlInput : instance.plyr.elements.container.querySelector('.share-controller-wrapper').querySelector('.share-controller-url'),
86
- shareContainer : instance.plyr.elements.container.querySelector('.share-controller-wrapper'),
87
- copyButtons : instance.plyr.elements.container.querySelectorAll('.share-controller-link'),
88
- switchButton : instance.plyr.elements.container.querySelector('.share-controller-wrapper').querySelector('.a2a_button_embed')
89
- };
90
- }
91
-
92
- setCopyButtonsEvents(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType, selectors: defaultType) {
5
+ export class mobile {
93
6
 
94
- if (selectors.copyButtons.length > 0) {
95
- selectors.copyButtons.forEach((button: HTMLElement) => {
96
- button.addEventListener('click', function LTPlayerShareCopy() {
97
- navigator.clipboard.writeText(selectors.urlInput.dataset.copy);
98
- })
7
+ manager : LTPlayerShareManager
99
8
 
100
- })
101
- }
9
+ constructor(manager: LTPlayerShareManager) {
10
+ this.manager = manager;
102
11
  }
103
12
 
104
- }
105
- export class mobile {
106
- common : LTPlayerShareEvents.common
107
- constructor() {
108
- this.common = new common();
109
- }
13
+ init() {
14
+ const buttons = [
15
+ this.manager.instance.plyr.elements.container.querySelector('.poster-lt-player-share'),
16
+ this.manager.instance.plyr.elements.controls.querySelector('.lt-player-share'),
17
+ ];
110
18
 
111
- init(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType) {
19
+ const instance = this;
112
20
 
113
- const common = this.common;
114
- common.getSelector(instance).buttons.forEach(button => {
21
+ buttons.forEach(button => {
115
22
  if (button) {
116
- button.addEventListener('click', () => {
117
- common.activeModal(instance, this.common.getSelector(instance));
118
- })
23
+ let mobileEvent: HammerManager = this.manager.instance.eventInstance.mobileEvents.setMobileEvent(button);
24
+ if (mobileEvent) {
25
+ mobileEvent.on('singletap', function LTPlayerMobileShareButtons(event) {
26
+ event.preventDefault();
27
+ instance.manager.mobile.activeModal();
28
+ })
29
+ }
119
30
  }
120
31
  })
121
-
122
- if (common.getSelector(instance).shareContainer) {
123
- common.getSelector(instance).shareContainer.addEventListener('click', function LTPlayerShareArea(event) {
124
- event.preventDefault();
125
- if ( common.getSelector(instance).shareContainer.classList.contains('share-active')) {
126
- let target = event.target as HTMLElement;
127
- if (target.classList.contains('share-active') || target.classList.contains('player-lt__close-button')) {
128
- common.inactiveModal(instance, common.getSelector(instance));
129
- }
130
- }
131
- })
132
- }
133
32
  }
134
33
  }
135
34
 
136
35
  export class desktop {
137
- common : LTPlayerShareEvents.common
138
- constructor() {
139
- this.common = new common();
36
+ manager : LTPlayerShareManager
37
+ constructor(manager: LTPlayerShareManager) {
38
+ this.manager = manager;
140
39
  }
141
40
 
142
- init(instance: LTPlayer.PortraitType | LTPlayer.LandscapeType) {
143
-
144
- const common = this.common;
145
- common.getSelector(instance).buttons.forEach(button => {
41
+ init() {
42
+ const manager = this.manager;
43
+ manager.desktop.getSelector().buttons.forEach(button => {
146
44
  if (button) {
147
45
  button.addEventListener('click', () => {
148
- common.activeModal(instance, this.common.getSelector(instance));
46
+ manager.desktop.activeModal();
149
47
  })
150
48
  }
151
49
  })
152
50
 
153
- if (common.getSelector(instance).shareContainer) {
154
- common.getSelector(instance).shareContainer.addEventListener('click', function LTPlayerShareArea(event) {
51
+ if (manager.desktop.getSelector().shareContainer) {
52
+ manager.desktop.getSelector().shareContainer.addEventListener('click', function LTPlayerShareArea(event) {
155
53
  event.preventDefault();
156
- if ( common.getSelector(instance).shareContainer.classList.contains('share-active')) {
54
+ if ( manager.desktop.getSelector().shareContainer.classList.contains('share-active')) {
157
55
  let target = event.target as HTMLElement;
158
56
  if (target.classList.contains('share-active') || target.classList.contains('player-lt__close-button')) {
159
- common.inactiveModal(instance, common.getSelector(instance));
57
+ manager.desktop.inactiveModal();
160
58
  }
161
59
  }
162
60
  })