unified-video-framework 1.4.364 → 1.4.366
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 +1 -1
- package/packages/core/dist/interfaces/IVideoPlayer.d.ts +0 -1
- package/packages/core/dist/interfaces/IVideoPlayer.d.ts.map +1 -1
- package/packages/core/dist/interfaces.d.ts +1 -1
- package/packages/core/dist/interfaces.d.ts.map +1 -1
- package/packages/core/src/interfaces/IVideoPlayer.ts +1 -2
- package/packages/core/src/interfaces.ts +4 -1
- package/packages/web/dist/WebPlayer.d.ts.map +1 -1
- package/packages/web/dist/WebPlayer.js +1 -23
- package/packages/web/dist/WebPlayer.js.map +1 -1
- package/packages/web/dist/chapters/ChapterManager.d.ts +4 -3
- package/packages/web/dist/chapters/ChapterManager.d.ts.map +1 -1
- package/packages/web/dist/chapters/ChapterManager.js +52 -34
- package/packages/web/dist/chapters/ChapterManager.js.map +1 -1
- package/packages/web/dist/chapters/CreditsButtonController.d.ts +44 -0
- package/packages/web/dist/chapters/CreditsButtonController.d.ts.map +1 -0
- package/packages/web/dist/chapters/CreditsButtonController.js +243 -0
- package/packages/web/dist/chapters/CreditsButtonController.js.map +1 -0
- package/packages/web/dist/chapters/SkipButtonController.d.ts +1 -4
- package/packages/web/dist/chapters/SkipButtonController.d.ts.map +1 -1
- package/packages/web/dist/chapters/SkipButtonController.js +22 -118
- package/packages/web/dist/chapters/SkipButtonController.js.map +1 -1
- package/packages/web/dist/chapters/types/ChapterTypes.d.ts +21 -12
- package/packages/web/dist/chapters/types/ChapterTypes.d.ts.map +1 -1
- package/packages/web/dist/chapters/types/ChapterTypes.js.map +1 -1
- package/packages/web/dist/react/WebPlayerView.d.ts +0 -10
- package/packages/web/dist/react/WebPlayerView.d.ts.map +1 -1
- package/packages/web/dist/react/WebPlayerView.js +1 -5
- package/packages/web/dist/react/WebPlayerView.js.map +1 -1
- package/packages/web/dist/react/components/SkipButton.d.ts +0 -2
- package/packages/web/dist/react/components/SkipButton.d.ts.map +1 -1
- package/packages/web/dist/react/components/SkipButton.js +13 -30
- package/packages/web/dist/react/components/SkipButton.js.map +1 -1
- package/packages/web/src/WebPlayer.ts +7475 -7498
- package/packages/web/src/chapters/ChapterManager.ts +76 -57
- package/packages/web/src/chapters/CreditsButtonController.ts +392 -0
- package/packages/web/src/chapters/SkipButtonController.ts +33 -148
- package/packages/web/src/chapters/types/ChapterTypes.ts +34 -19
- package/packages/web/src/react/WebPlayerView.tsx +1 -14
- package/packages/web/src/react/components/SkipButton.tsx +24 -82
|
@@ -6,6 +6,7 @@ export declare class ChapterManager {
|
|
|
6
6
|
private currentSegment;
|
|
7
7
|
private previousSegment;
|
|
8
8
|
private skipButtonController;
|
|
9
|
+
private creditsButtonController;
|
|
9
10
|
private config;
|
|
10
11
|
private eventListeners;
|
|
11
12
|
private isDestroyed;
|
|
@@ -14,8 +15,6 @@ export declare class ChapterManager {
|
|
|
14
15
|
loadChaptersFromUrl(url: string): Promise<void>;
|
|
15
16
|
getCurrentSegment(currentTime: number): VideoSegment | null;
|
|
16
17
|
skipToNextSegment(currentSegment: VideoSegment): void;
|
|
17
|
-
handleSecondaryAction(segment: VideoSegment): void;
|
|
18
|
-
triggerNextEpisode(): void;
|
|
19
18
|
skipToSegment(segmentId: string): void;
|
|
20
19
|
getSegments(): VideoSegment[];
|
|
21
20
|
getSegment(segmentId: string): VideoSegment | null;
|
|
@@ -30,7 +29,9 @@ export declare class ChapterManager {
|
|
|
30
29
|
private setupTimeUpdateListener;
|
|
31
30
|
private checkCurrentSegment;
|
|
32
31
|
private shouldShowSkipButton;
|
|
33
|
-
private
|
|
32
|
+
private handleWatchCredits;
|
|
33
|
+
private handleNextEpisode;
|
|
34
|
+
private handleAutoRedirect;
|
|
34
35
|
private getNextContentSegment;
|
|
35
36
|
private sortSegments;
|
|
36
37
|
private validateChapters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChapterManager.d.ts","sourceRoot":"","sources":["../../src/chapters/ChapterManager.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EAGZ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChapterManager.d.ts","sourceRoot":"","sources":["../../src/chapters/ChapterManager.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,WAAW,EAGZ,MAAM,sBAAsB,CAAC;AAI9B,qBAAa,cAAc;IAWvB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,YAAY;IAXtB,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,cAAc,CAAmD;IACzE,OAAO,CAAC,WAAW,CAAS;gBAGlB,eAAe,EAAE,WAAW,EAC5B,YAAY,EAAE,gBAAgB,EACtC,MAAM,GAAE,aAAsC;IAiDnC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpD,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAW3D,iBAAiB,CAAC,cAAc,EAAE,YAAY,GAAG,IAAI;IAqCrD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAyCtC,WAAW,IAAI,YAAY,EAAE;IAO7B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAQlD,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,EAAE;IAQpD,iBAAiB,IAAI,aAAa,EAAE;IAsBpC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAqBrD,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAU7F,GAAG,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAa9F,OAAO,IAAI,IAAI;IAcf,WAAW,IAAI,OAAO;IAOtB,WAAW,IAAI,aAAa,GAAG,IAAI;IAO1C,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,mBAAmB;IAqE3B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,gBAAgB;IAoCxB,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,IAAI;CAYb"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DEFAULT_CHAPTER_CONFIG, SEGMENT_COLORS } from "./types/ChapterTypes.js";
|
|
2
2
|
import { SkipButtonController } from "./SkipButtonController.js";
|
|
3
|
+
import { CreditsButtonController } from "./CreditsButtonController.js";
|
|
3
4
|
export class ChapterManager {
|
|
4
5
|
constructor(playerContainer, videoElement, config = DEFAULT_CHAPTER_CONFIG) {
|
|
5
6
|
this.playerContainer = playerContainer;
|
|
@@ -14,7 +15,18 @@ export class ChapterManager {
|
|
|
14
15
|
segment,
|
|
15
16
|
currentTime: this.videoElement.currentTime,
|
|
16
17
|
reason: reason
|
|
17
|
-
})
|
|
18
|
+
}));
|
|
19
|
+
this.creditsButtonController = new CreditsButtonController(playerContainer, this.config, {
|
|
20
|
+
onWatchCredits: (segment) => this.handleWatchCredits(segment),
|
|
21
|
+
onNextEpisode: (segment, url) => this.handleNextEpisode(segment, url),
|
|
22
|
+
onAutoRedirect: (segment, url) => this.handleAutoRedirect(segment, url),
|
|
23
|
+
onButtonsShown: (segment) => this.emit('skipButtonShown', { segment, currentTime: this.videoElement.currentTime }),
|
|
24
|
+
onButtonsHidden: (segment, reason) => this.emit('skipButtonHidden', {
|
|
25
|
+
segment,
|
|
26
|
+
currentTime: this.videoElement.currentTime,
|
|
27
|
+
reason: reason
|
|
28
|
+
})
|
|
29
|
+
});
|
|
18
30
|
this.setupTimeUpdateListener();
|
|
19
31
|
if (this.config.data) {
|
|
20
32
|
this.loadChapters(this.config.data);
|
|
@@ -67,22 +79,9 @@ export class ChapterManager {
|
|
|
67
79
|
return this.chapters.segments.find(segment => currentTime >= segment.startTime && currentTime < segment.endTime) || null;
|
|
68
80
|
}
|
|
69
81
|
skipToNextSegment(currentSegment) {
|
|
70
|
-
console.log('[ChapterManager] skipToNextSegment called with segment:', currentSegment.type, currentSegment.title);
|
|
71
82
|
if (!this.chapters)
|
|
72
83
|
return;
|
|
73
84
|
const nextSegment = this.getNextContentSegment(currentSegment);
|
|
74
|
-
console.log('[ChapterManager] Next content segment:', nextSegment?.type || 'none');
|
|
75
|
-
console.log('[ChapterManager] Checking Next Episode conditions:', {
|
|
76
|
-
noNextSegment: !nextSegment,
|
|
77
|
-
isCredits: currentSegment.type === 'credits',
|
|
78
|
-
hasNextEpisodeConfig: !!(this.config.nextEpisode?.enabled || this.config.nextEpisode?.url)
|
|
79
|
-
});
|
|
80
|
-
if ((!nextSegment || currentSegment.type === 'credits') &&
|
|
81
|
-
(this.config.nextEpisode?.enabled || this.config.nextEpisode?.url)) {
|
|
82
|
-
console.log('[ChapterManager] Triggering Next Episode!');
|
|
83
|
-
this.triggerNextEpisode();
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
85
|
const targetTime = nextSegment ? nextSegment.startTime : currentSegment.endTime;
|
|
87
86
|
const wasPlaying = !this.videoElement.paused;
|
|
88
87
|
this.emit('segmentSkipped', {
|
|
@@ -103,22 +102,6 @@ export class ChapterManager {
|
|
|
103
102
|
}, 50);
|
|
104
103
|
}
|
|
105
104
|
}
|
|
106
|
-
handleSecondaryAction(segment) {
|
|
107
|
-
console.log('[ChapterManager] User chose to watch credits');
|
|
108
|
-
}
|
|
109
|
-
triggerNextEpisode() {
|
|
110
|
-
console.log('[ChapterManager] triggerNextEpisode called. nextEpisode config:', this.config.nextEpisode);
|
|
111
|
-
if (this.config.nextEpisode?.enabled || this.config.nextEpisode?.url) {
|
|
112
|
-
console.log('[ChapterManager] Emitting nextEpisode event with config:', this.config.nextEpisode);
|
|
113
|
-
this.emit('nextEpisode', {
|
|
114
|
-
config: this.config.nextEpisode,
|
|
115
|
-
autoPlay: true
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
else {
|
|
119
|
-
console.log('[ChapterManager] nextEpisode not triggered - no enabled flag or URL');
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
105
|
skipToSegment(segmentId) {
|
|
123
106
|
if (!this.chapters)
|
|
124
107
|
return;
|
|
@@ -208,6 +191,7 @@ export class ChapterManager {
|
|
|
208
191
|
destroy() {
|
|
209
192
|
this.isDestroyed = true;
|
|
210
193
|
this.skipButtonController.destroy();
|
|
194
|
+
this.creditsButtonController.destroy();
|
|
211
195
|
this.removeChapterMarkers();
|
|
212
196
|
this.eventListeners.clear();
|
|
213
197
|
this.chapters = null;
|
|
@@ -242,6 +226,21 @@ export class ChapterManager {
|
|
|
242
226
|
if (this.shouldShowSkipButton(this.currentSegment)) {
|
|
243
227
|
this.skipButtonController.hideSkipButton('segment-end');
|
|
244
228
|
}
|
|
229
|
+
if (this.currentSegment.type === 'credits' && this.currentSegment.nextEpisodeUrl) {
|
|
230
|
+
this.creditsButtonController.hideCreditsButtons('segment-end');
|
|
231
|
+
if (this.creditsButtonController.isUserWatchingCredits()) {
|
|
232
|
+
this.emit('creditsFullyWatched', {
|
|
233
|
+
segment: this.currentSegment,
|
|
234
|
+
nextEpisodeUrl: this.currentSegment.nextEpisodeUrl,
|
|
235
|
+
currentTime
|
|
236
|
+
});
|
|
237
|
+
setTimeout(() => {
|
|
238
|
+
if (this.currentSegment?.nextEpisodeUrl) {
|
|
239
|
+
window.location.href = this.currentSegment.nextEpisodeUrl;
|
|
240
|
+
}
|
|
241
|
+
}, 500);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
245
244
|
}
|
|
246
245
|
this.previousSegment = this.currentSegment;
|
|
247
246
|
this.currentSegment = newSegment;
|
|
@@ -251,7 +250,10 @@ export class ChapterManager {
|
|
|
251
250
|
currentTime,
|
|
252
251
|
previousSegment: this.previousSegment || undefined
|
|
253
252
|
});
|
|
254
|
-
if (this.
|
|
253
|
+
if (this.currentSegment.type === 'credits' && this.currentSegment.nextEpisodeUrl) {
|
|
254
|
+
this.creditsButtonController.showCreditsButtons(this.currentSegment, currentTime);
|
|
255
|
+
}
|
|
256
|
+
else if (this.shouldShowSkipButton(this.currentSegment)) {
|
|
255
257
|
this.skipButtonController.showSkipButton(this.currentSegment, currentTime);
|
|
256
258
|
}
|
|
257
259
|
}
|
|
@@ -263,9 +265,25 @@ export class ChapterManager {
|
|
|
263
265
|
}
|
|
264
266
|
return segment.showSkipButton !== false;
|
|
265
267
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
268
|
+
handleWatchCredits(segment) {
|
|
269
|
+
this.emit('creditsWatched', {
|
|
270
|
+
segment,
|
|
271
|
+
currentTime: this.videoElement.currentTime
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
handleNextEpisode(segment, url) {
|
|
275
|
+
this.emit('nextEpisodeClicked', {
|
|
276
|
+
segment,
|
|
277
|
+
nextEpisodeUrl: url,
|
|
278
|
+
currentTime: this.videoElement.currentTime
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
handleAutoRedirect(segment, url) {
|
|
282
|
+
this.emit('creditsAutoRedirect', {
|
|
283
|
+
segment,
|
|
284
|
+
nextEpisodeUrl: url,
|
|
285
|
+
currentTime: this.videoElement.currentTime
|
|
286
|
+
});
|
|
269
287
|
}
|
|
270
288
|
getNextContentSegment(currentSegment) {
|
|
271
289
|
if (!this.chapters)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChapterManager.js","sourceRoot":"","sources":["../../src/chapters/ChapterManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAOL,sBAAsB,EACtB,cAAc,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,OAAO,cAAc;IASzB,YACU,eAA4B,EAC5B,YAA8B,EACtC,SAAwB,sBAAsB;QAFtC,oBAAe,GAAf,eAAe,CAAa;QAC5B,iBAAY,GAAZ,YAAY,CAAkB;QAVhC,aAAQ,GAAyB,IAAI,CAAC;QACtC,mBAAc,GAAwB,IAAI,CAAC;QAC3C,oBAAe,GAAwB,IAAI,CAAC;QAG5C,mBAAc,GAAyC,IAAI,GAAG,EAAE,CAAC;QACjE,gBAAW,GAAG,KAAK,CAAC;QAQ1B,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,sBAAsB,EAAE,GAAG,MAAM,EAAE,CAAC;QAGvD,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAClD,eAAe,EACf,IAAI,CAAC,MAAM,EACX,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAC5C,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAClG,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACjD,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;YAC1C,MAAM,EAAE,MAAa;SACtB,CAAC,EACF,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CACjD,CAAC;QAGF,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAG/B,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACrC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC/C;IACH,CAAC;IAKM,KAAK,CAAC,YAAY,CAAC,QAAuB;QAC/C,IAAI;YAEF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAEhC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,YAAY,EAAE,CAAC;YAGpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM;aAC5C,CAAC,CAAC;YAGH,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE;gBAClC,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;YAGD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SAEzD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7B,KAAK,EAAE,KAAc;aACtB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAKM,KAAK,CAAC,mBAAmB,CAAC,GAAW;QAC1C,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;aACpE;YAED,MAAM,QAAQ,GAAkB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAEnC;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC7B,KAAK,EAAE,KAAc;gBACrB,GAAG;aACJ,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAKM,iBAAiB,CAAC,WAAmB;QAC1C,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC3C,WAAW,IAAI,OAAO,CAAC,SAAS,IAAI,WAAW,GAAG,OAAO,CAAC,OAAO,CAClE,IAAI,IAAI,CAAC;IACZ,CAAC;IAKM,iBAAiB,CAAC,cAA4B;QACnD,OAAO,CAAC,GAAG,CAAC,yDAAyD,EAAE,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;QAClH,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,WAAW,EAAE,IAAI,IAAI,MAAM,CAAC,CAAC;QAGnF,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE;YAChE,aAAa,EAAE,CAAC,WAAW;YAC3B,SAAS,EAAE,cAAc,CAAC,IAAI,KAAK,SAAS;YAC5C,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC;SAC3F,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,WAAW,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,CAAC;YACrD,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE;YACpE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO;SACR;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC;QAGhF,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAG7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,WAAW,EAAE,cAAc;YAC3B,SAAS,EAAE,WAAW,IAAI,SAAS;YACnC,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;SAC3C,CAAC,CAAC;QAGH,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,UAAU,CAAC;QAG3C,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,uBAAuB,KAAK,KAAK,CAAC;QAC5F,IAAI,oBAAoB,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAElE,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;oBAAE,OAAO;gBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBAElC,OAAO,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;gBAC3G,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,EAAE,CAAC,CAAC;SACR;IACH,CAAC;IAKM,qBAAqB,CAAC,OAAqB;QAIhD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAKM,kBAAkB;QACvB,OAAO,CAAC,GAAG,CAAC,iEAAiE,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxG,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE;YACpE,OAAO,CAAC,GAAG,CAAC,0DAA0D,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACjG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAC/B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC;SACpF;IACH,CAAC;IAKM,aAAa,CAAC,SAAiB;QACpC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QAGxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QAG7C,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,WAAW;gBACX,SAAS,EAAE,OAAO;gBAClB,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW;aAC3C,CAAC,CAAC;SACJ;QAGD,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;QAGlD,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,uBAAuB,KAAK,KAAK,CAAC;QAC5F,IAAI,oBAAoB,IAAI,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAElE,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM;oBAAE,OAAO;gBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;oBAElC,OAAO,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;gBAC3G,CAAC,CAAC,CAAC;YACL,CAAC,EAAE,EAAE,CAAC,CAAC;SACR;IACH,CAAC;IAKM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;IACvC,CAAC;IAKM,UAAU,CAAC,SAAiB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC;IACtE,CAAC;IAKM,iBAAiB,CAAC,IAAiB;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC7D,CAAC;IAKM,iBAAiB;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,OAAO,EAAE,CAAC;QAEjE,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ;aAC1B,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;aAC7C,GAAG,CAAC,OAAO,CAAC,EAAE;YAEb,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9E,MAAM,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE1D,OAAO;gBACL,OAAO;gBACP,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,QAAS,CAAC,QAAQ,CAAC,GAAG,GAAG;gBAC7D,KAAK;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI;aACrC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAKM,YAAY,CAAC,SAAiC;QACnD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;QAG/C,IAAI,SAAS,CAAC,kBAAkB,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;SACxE;QAGD,IAAI,oBAAoB,IAAI,SAAS,EAAE;YACrC,IAAI,SAAS,CAAC,kBAAkB,EAAE;gBAChC,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;iBAAM;gBACL,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;SACF;IACH,CAAC;IAKM,EAAE,CAAgC,KAAQ,EAAE,QAA0C;QAC3F,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAKM,GAAG,CAAgC,KAAQ,EAAE,QAA0C;QAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE;YACb,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACd,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAKM,OAAO;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAKM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACrE,CAAC;IAKM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKO,uBAAuB;QAC7B,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO;YAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACrE,CAAC;IAKO,mBAAmB,CAAC,WAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAGvD,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc,EAAE;YAEtC,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;oBACzB,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,WAAW;oBACX,WAAW,EAAE,UAAU,IAAI,SAAS;iBACrC,CAAC,CAAC;gBAGH,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;oBAClD,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;iBACzD;aACF;YAGD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;YAC3C,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;YAGjC,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;oBAC1B,OAAO,EAAE,IAAI,CAAC,cAAc;oBAC5B,WAAW;oBACX,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS;iBACnD,CAAC,CAAC;gBAGH,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;oBAClD,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;iBAC5E;aACF;SACF;IACH,CAAC;IAKO,oBAAoB,CAAC,OAAqB;QAEhD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;YAC9B,OAAO,OAAO,CAAC,cAAc,KAAK,IAAI,CAAC;SACxC;QAGD,OAAO,OAAO,CAAC,cAAc,KAAK,KAAK,CAAC;IAC1C,CAAC;IAKO,wBAAwB,CAAC,OAAqB;QACpD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE;SAOnE;IACH,CAAC;IAKO,qBAAqB,CAAC,cAA4B;QACxD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAC7F,MAAM,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,CAAC,CAAC;QAE/E,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAGrC,KAAK,IAAI,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7D,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gBACxC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC;aAC1B;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAKO,YAAY;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;SAClE;IACH,CAAC;IAKO,gBAAgB,CAAC,QAAuB;QAC9C,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QAGD,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,kBAAkB,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,mBAAmB,CAAC,CAAC;aAC/D;YAED,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE;gBACjE,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,yBAAyB,CAAC,CAAC;aACrE;YAED,IAAI,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE;gBACvC,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,gCAAgC,CAAC,CAAC;aAC5E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAKO,oBAAoB;QAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,OAAO;QAE9D,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW;YAAE,OAAO;QAGzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAG5B,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,aAAa,CAAC,SAAS,GAAG,yCAAyC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACzF,aAAa,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC;YACjD,aAAa,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1F,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxD,aAAa,CAAC,YAAY,CAAC,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEjE,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAKO,oBAAoB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QAC7E,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAKO,IAAI,CAAgC,KAAQ,EAAE,IAAsB;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC3B,IAAI;oBACF,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAChB;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,uCAAuC,KAAK,GAAG,EAAE,KAAK,CAAC,CAAC;iBACvE;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"ChapterManager.js","sourceRoot":"","sources":["../../src/chapters/ChapterManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { VideoSegment, ChapterConfig } from './types/ChapterTypes';
|
|
2
|
+
interface CreditsButtonCallbacks {
|
|
3
|
+
onWatchCredits: (segment: VideoSegment) => void;
|
|
4
|
+
onNextEpisode: (segment: VideoSegment, url: string) => void;
|
|
5
|
+
onAutoRedirect: (segment: VideoSegment, url: string) => void;
|
|
6
|
+
onButtonsShown: (segment: VideoSegment) => void;
|
|
7
|
+
onButtonsHidden: (segment: VideoSegment, reason: string) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare class CreditsButtonController {
|
|
10
|
+
private playerContainer;
|
|
11
|
+
private config;
|
|
12
|
+
private callbacks;
|
|
13
|
+
private buttonsContainer;
|
|
14
|
+
private watchCreditsButton;
|
|
15
|
+
private nextEpisodeButton;
|
|
16
|
+
private currentSegment;
|
|
17
|
+
private autoRedirectTimeout;
|
|
18
|
+
private countdownInterval;
|
|
19
|
+
private isVisible;
|
|
20
|
+
private userWatchingCredits;
|
|
21
|
+
private readonly DEFAULT_WATCH_CREDITS_LABEL;
|
|
22
|
+
private readonly DEFAULT_NEXT_EPISODE_LABEL;
|
|
23
|
+
private readonly DEFAULT_AUTO_REDIRECT_DELAY;
|
|
24
|
+
constructor(playerContainer: HTMLElement, config: ChapterConfig, callbacks: CreditsButtonCallbacks);
|
|
25
|
+
showCreditsButtons(segment: VideoSegment, currentTime: number): void;
|
|
26
|
+
hideCreditsButtons(reason?: 'timeout' | 'segment-end' | 'user-action' | 'manual'): void;
|
|
27
|
+
isUserWatchingCredits(): boolean;
|
|
28
|
+
getCurrentSegment(): VideoSegment | null;
|
|
29
|
+
isButtonsVisible(): boolean;
|
|
30
|
+
destroy(): void;
|
|
31
|
+
private createCreditsButtons;
|
|
32
|
+
private applyButtonStyles;
|
|
33
|
+
private updateButtonLabels;
|
|
34
|
+
private showButtons;
|
|
35
|
+
private hideButtons;
|
|
36
|
+
private handleWatchCreditsClick;
|
|
37
|
+
private handleNextEpisodeClick;
|
|
38
|
+
private startAutoRedirectCountdown;
|
|
39
|
+
private createProgressBar;
|
|
40
|
+
private redirectToNextEpisode;
|
|
41
|
+
private clearTimeouts;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=CreditsButtonController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreditsButtonController.d.ts","sourceRoot":"","sources":["../../src/chapters/CreditsButtonController.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,YAAY,EACZ,aAAa,EAChB,MAAM,sBAAsB,CAAC;AAE9B,UAAU,sBAAsB;IAC5B,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,aAAa,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,eAAe,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACpE;AAED,qBAAa,uBAAuB;IAgB5B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,SAAS;IAjBrB,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,mBAAmB,CAA+B;IAC1D,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAS;IAGpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAe;IAC1D,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAM;gBAGtC,eAAe,EAAE,WAAW,EAC5B,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,sBAAsB;IAMtC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAgCpE,kBAAkB,CAAC,MAAM,GAAE,SAAS,GAAG,aAAa,GAAG,aAAa,GAAG,QAAmB,GAAG,IAAI;IAoBjG,qBAAqB,IAAI,OAAO;IAOhC,iBAAiB,IAAI,YAAY,GAAG,IAAI;IAOxC,gBAAgB,IAAI,OAAO;IAO3B,OAAO,IAAI,IAAI;IAgBtB,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,iBAAiB;IAwDzB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,0BAA0B;IAiDlC,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,aAAa;CAWxB"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
export class CreditsButtonController {
|
|
2
|
+
constructor(playerContainer, config, callbacks) {
|
|
3
|
+
this.playerContainer = playerContainer;
|
|
4
|
+
this.config = config;
|
|
5
|
+
this.callbacks = callbacks;
|
|
6
|
+
this.buttonsContainer = null;
|
|
7
|
+
this.watchCreditsButton = null;
|
|
8
|
+
this.nextEpisodeButton = null;
|
|
9
|
+
this.currentSegment = null;
|
|
10
|
+
this.autoRedirectTimeout = null;
|
|
11
|
+
this.countdownInterval = null;
|
|
12
|
+
this.isVisible = false;
|
|
13
|
+
this.userWatchingCredits = false;
|
|
14
|
+
this.DEFAULT_WATCH_CREDITS_LABEL = 'Watch Credits';
|
|
15
|
+
this.DEFAULT_NEXT_EPISODE_LABEL = 'Play Next';
|
|
16
|
+
this.DEFAULT_AUTO_REDIRECT_DELAY = 10;
|
|
17
|
+
}
|
|
18
|
+
showCreditsButtons(segment, currentTime) {
|
|
19
|
+
if (!segment.nextEpisodeUrl) {
|
|
20
|
+
console.warn('[CreditsButtonController] Segment does not have nextEpisodeUrl');
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
this.currentSegment = segment;
|
|
24
|
+
this.userWatchingCredits = false;
|
|
25
|
+
if (!this.buttonsContainer) {
|
|
26
|
+
this.createCreditsButtons();
|
|
27
|
+
}
|
|
28
|
+
this.updateButtonLabels(segment);
|
|
29
|
+
this.showButtons();
|
|
30
|
+
const delay = segment.autoSkipDelay || this.DEFAULT_AUTO_REDIRECT_DELAY;
|
|
31
|
+
this.startAutoRedirectCountdown(segment, delay);
|
|
32
|
+
this.callbacks.onButtonsShown(segment);
|
|
33
|
+
}
|
|
34
|
+
hideCreditsButtons(reason = 'manual') {
|
|
35
|
+
if (!this.buttonsContainer || !this.isVisible) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
this.hideButtons();
|
|
39
|
+
this.clearTimeouts();
|
|
40
|
+
if (this.currentSegment) {
|
|
41
|
+
this.callbacks.onButtonsHidden(this.currentSegment, reason);
|
|
42
|
+
}
|
|
43
|
+
this.isVisible = false;
|
|
44
|
+
this.currentSegment = null;
|
|
45
|
+
}
|
|
46
|
+
isUserWatchingCredits() {
|
|
47
|
+
return this.userWatchingCredits;
|
|
48
|
+
}
|
|
49
|
+
getCurrentSegment() {
|
|
50
|
+
return this.currentSegment;
|
|
51
|
+
}
|
|
52
|
+
isButtonsVisible() {
|
|
53
|
+
return this.isVisible;
|
|
54
|
+
}
|
|
55
|
+
destroy() {
|
|
56
|
+
this.clearTimeouts();
|
|
57
|
+
if (this.buttonsContainer) {
|
|
58
|
+
this.buttonsContainer.remove();
|
|
59
|
+
this.buttonsContainer = null;
|
|
60
|
+
}
|
|
61
|
+
this.watchCreditsButton = null;
|
|
62
|
+
this.nextEpisodeButton = null;
|
|
63
|
+
this.currentSegment = null;
|
|
64
|
+
this.isVisible = false;
|
|
65
|
+
this.userWatchingCredits = false;
|
|
66
|
+
}
|
|
67
|
+
createCreditsButtons() {
|
|
68
|
+
this.buttonsContainer = document.createElement('div');
|
|
69
|
+
this.buttonsContainer.className = 'uvf-credits-buttons';
|
|
70
|
+
this.buttonsContainer.setAttribute('role', 'group');
|
|
71
|
+
this.buttonsContainer.setAttribute('aria-label', 'Credits navigation');
|
|
72
|
+
Object.assign(this.buttonsContainer.style, {
|
|
73
|
+
position: 'absolute',
|
|
74
|
+
bottom: '100px',
|
|
75
|
+
right: '30px',
|
|
76
|
+
display: 'flex',
|
|
77
|
+
flexDirection: 'column',
|
|
78
|
+
gap: '10px',
|
|
79
|
+
zIndex: '1000',
|
|
80
|
+
opacity: '0',
|
|
81
|
+
transition: 'opacity 0.3s ease-in-out'
|
|
82
|
+
});
|
|
83
|
+
this.watchCreditsButton = document.createElement('button');
|
|
84
|
+
this.watchCreditsButton.className = 'uvf-watch-credits-button';
|
|
85
|
+
this.watchCreditsButton.setAttribute('type', 'button');
|
|
86
|
+
this.watchCreditsButton.setAttribute('aria-label', 'Watch credits');
|
|
87
|
+
this.watchCreditsButton.addEventListener('click', () => this.handleWatchCreditsClick());
|
|
88
|
+
this.nextEpisodeButton = document.createElement('button');
|
|
89
|
+
this.nextEpisodeButton.className = 'uvf-next-episode-button';
|
|
90
|
+
this.nextEpisodeButton.setAttribute('type', 'button');
|
|
91
|
+
this.nextEpisodeButton.setAttribute('aria-label', 'Play next episode');
|
|
92
|
+
this.nextEpisodeButton.addEventListener('click', () => this.handleNextEpisodeClick());
|
|
93
|
+
this.applyButtonStyles(this.watchCreditsButton, 'watch-credits');
|
|
94
|
+
this.applyButtonStyles(this.nextEpisodeButton, 'next-episode');
|
|
95
|
+
this.buttonsContainer.appendChild(this.watchCreditsButton);
|
|
96
|
+
this.buttonsContainer.appendChild(this.nextEpisodeButton);
|
|
97
|
+
this.playerContainer.appendChild(this.buttonsContainer);
|
|
98
|
+
}
|
|
99
|
+
applyButtonStyles(button, type) {
|
|
100
|
+
const baseStyles = {
|
|
101
|
+
padding: '12px 24px',
|
|
102
|
+
fontSize: '14px',
|
|
103
|
+
fontWeight: '600',
|
|
104
|
+
border: 'none',
|
|
105
|
+
borderRadius: '6px',
|
|
106
|
+
cursor: 'pointer',
|
|
107
|
+
transition: 'all 0.2s ease-in-out',
|
|
108
|
+
fontFamily: 'inherit',
|
|
109
|
+
outline: 'none',
|
|
110
|
+
minWidth: '180px',
|
|
111
|
+
position: 'relative'
|
|
112
|
+
};
|
|
113
|
+
if (type === 'watch-credits') {
|
|
114
|
+
Object.assign(baseStyles, {
|
|
115
|
+
backgroundColor: 'rgba(255, 255, 255, 0.15)',
|
|
116
|
+
color: '#ffffff',
|
|
117
|
+
border: '2px solid rgba(255, 255, 255, 0.3)'
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
Object.assign(baseStyles, {
|
|
122
|
+
backgroundColor: '#e50914',
|
|
123
|
+
color: '#ffffff',
|
|
124
|
+
boxShadow: '0 2px 8px rgba(229, 9, 20, 0.4)'
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
Object.assign(button.style, baseStyles);
|
|
128
|
+
button.addEventListener('mouseenter', () => {
|
|
129
|
+
if (type === 'watch-credits') {
|
|
130
|
+
button.style.backgroundColor = 'rgba(255, 255, 255, 0.25)';
|
|
131
|
+
button.style.borderColor = 'rgba(255, 255, 255, 0.5)';
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
button.style.backgroundColor = '#f40612';
|
|
135
|
+
button.style.transform = 'scale(1.03)';
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
button.addEventListener('mouseleave', () => {
|
|
139
|
+
if (type === 'watch-credits') {
|
|
140
|
+
button.style.backgroundColor = 'rgba(255, 255, 255, 0.15)';
|
|
141
|
+
button.style.borderColor = 'rgba(255, 255, 255, 0.3)';
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
button.style.backgroundColor = '#e50914';
|
|
145
|
+
button.style.transform = 'scale(1)';
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
updateButtonLabels(segment) {
|
|
150
|
+
if (!this.watchCreditsButton || !this.nextEpisodeButton)
|
|
151
|
+
return;
|
|
152
|
+
const watchLabel = segment.watchCreditsLabel || this.DEFAULT_WATCH_CREDITS_LABEL;
|
|
153
|
+
const nextLabel = segment.nextEpisodeLabel || this.DEFAULT_NEXT_EPISODE_LABEL;
|
|
154
|
+
this.watchCreditsButton.textContent = watchLabel;
|
|
155
|
+
this.nextEpisodeButton.textContent = nextLabel;
|
|
156
|
+
this.watchCreditsButton.setAttribute('aria-label', watchLabel);
|
|
157
|
+
this.nextEpisodeButton.setAttribute('aria-label', nextLabel);
|
|
158
|
+
}
|
|
159
|
+
showButtons() {
|
|
160
|
+
if (!this.buttonsContainer)
|
|
161
|
+
return;
|
|
162
|
+
this.buttonsContainer.style.opacity = '1';
|
|
163
|
+
this.isVisible = true;
|
|
164
|
+
}
|
|
165
|
+
hideButtons() {
|
|
166
|
+
if (!this.buttonsContainer)
|
|
167
|
+
return;
|
|
168
|
+
this.buttonsContainer.style.opacity = '0';
|
|
169
|
+
}
|
|
170
|
+
handleWatchCreditsClick() {
|
|
171
|
+
if (!this.currentSegment)
|
|
172
|
+
return;
|
|
173
|
+
this.userWatchingCredits = true;
|
|
174
|
+
this.clearTimeouts();
|
|
175
|
+
this.hideCreditsButtons('user-action');
|
|
176
|
+
this.callbacks.onWatchCredits(this.currentSegment);
|
|
177
|
+
}
|
|
178
|
+
handleNextEpisodeClick() {
|
|
179
|
+
if (!this.currentSegment || !this.currentSegment.nextEpisodeUrl)
|
|
180
|
+
return;
|
|
181
|
+
this.clearTimeouts();
|
|
182
|
+
this.callbacks.onNextEpisode(this.currentSegment, this.currentSegment.nextEpisodeUrl);
|
|
183
|
+
this.redirectToNextEpisode(this.currentSegment.nextEpisodeUrl);
|
|
184
|
+
}
|
|
185
|
+
startAutoRedirectCountdown(segment, delay) {
|
|
186
|
+
if (!this.nextEpisodeButton || !segment.nextEpisodeUrl)
|
|
187
|
+
return;
|
|
188
|
+
let remainingTime = delay;
|
|
189
|
+
const originalLabel = segment.nextEpisodeLabel || this.DEFAULT_NEXT_EPISODE_LABEL;
|
|
190
|
+
this.nextEpisodeButton.textContent = `${originalLabel} (${remainingTime})`;
|
|
191
|
+
const progressBar = this.createProgressBar();
|
|
192
|
+
this.nextEpisodeButton.appendChild(progressBar);
|
|
193
|
+
this.countdownInterval = setInterval(() => {
|
|
194
|
+
remainingTime -= 1;
|
|
195
|
+
if (this.nextEpisodeButton) {
|
|
196
|
+
this.nextEpisodeButton.textContent = `${originalLabel} (${remainingTime})`;
|
|
197
|
+
this.nextEpisodeButton.appendChild(progressBar);
|
|
198
|
+
const progress = ((delay - remainingTime) / delay) * 100;
|
|
199
|
+
progressBar.style.width = `${progress}%`;
|
|
200
|
+
}
|
|
201
|
+
if (remainingTime <= 0) {
|
|
202
|
+
this.clearTimeouts();
|
|
203
|
+
this.callbacks.onAutoRedirect(segment, segment.nextEpisodeUrl);
|
|
204
|
+
this.redirectToNextEpisode(segment.nextEpisodeUrl);
|
|
205
|
+
}
|
|
206
|
+
}, 1000);
|
|
207
|
+
this.autoRedirectTimeout = setTimeout(() => {
|
|
208
|
+
if (segment.nextEpisodeUrl) {
|
|
209
|
+
this.callbacks.onAutoRedirect(segment, segment.nextEpisodeUrl);
|
|
210
|
+
this.redirectToNextEpisode(segment.nextEpisodeUrl);
|
|
211
|
+
}
|
|
212
|
+
}, delay * 1000);
|
|
213
|
+
}
|
|
214
|
+
createProgressBar() {
|
|
215
|
+
const progressBar = document.createElement('div');
|
|
216
|
+
progressBar.className = 'uvf-countdown-progress';
|
|
217
|
+
Object.assign(progressBar.style, {
|
|
218
|
+
position: 'absolute',
|
|
219
|
+
bottom: '0',
|
|
220
|
+
left: '0',
|
|
221
|
+
height: '3px',
|
|
222
|
+
backgroundColor: 'rgba(255, 255, 255, 0.9)',
|
|
223
|
+
width: '0%',
|
|
224
|
+
transition: 'width 1s linear',
|
|
225
|
+
borderRadius: '0 0 6px 6px'
|
|
226
|
+
});
|
|
227
|
+
return progressBar;
|
|
228
|
+
}
|
|
229
|
+
redirectToNextEpisode(url) {
|
|
230
|
+
window.location.href = url;
|
|
231
|
+
}
|
|
232
|
+
clearTimeouts() {
|
|
233
|
+
if (this.autoRedirectTimeout) {
|
|
234
|
+
clearTimeout(this.autoRedirectTimeout);
|
|
235
|
+
this.autoRedirectTimeout = null;
|
|
236
|
+
}
|
|
237
|
+
if (this.countdownInterval) {
|
|
238
|
+
clearInterval(this.countdownInterval);
|
|
239
|
+
this.countdownInterval = null;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=CreditsButtonController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreditsButtonController.js","sourceRoot":"","sources":["../../src/chapters/CreditsButtonController.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,16 +5,13 @@ export declare class SkipButtonController {
|
|
|
5
5
|
private onSkip;
|
|
6
6
|
private onButtonShown;
|
|
7
7
|
private onButtonHidden;
|
|
8
|
-
private onSecondaryAction?;
|
|
9
8
|
private skipButton;
|
|
10
|
-
private secondaryButton;
|
|
11
|
-
private container;
|
|
12
9
|
private currentSegment;
|
|
13
10
|
private autoSkipTimeout;
|
|
14
11
|
private hideTimeout;
|
|
15
12
|
private countdownInterval;
|
|
16
13
|
private state;
|
|
17
|
-
constructor(playerContainer: HTMLElement, config: ChapterConfig, onSkip: (segment: VideoSegment) => void, onButtonShown: (segment: VideoSegment) => void, onButtonHidden: (segment: VideoSegment, reason: string) => void
|
|
14
|
+
constructor(playerContainer: HTMLElement, config: ChapterConfig, onSkip: (segment: VideoSegment) => void, onButtonShown: (segment: VideoSegment) => void, onButtonHidden: (segment: VideoSegment, reason: string) => void);
|
|
18
15
|
showSkipButton(segment: VideoSegment, currentTime: number): void;
|
|
19
16
|
hideSkipButton(reason?: 'timeout' | 'segment-end' | 'user-action' | 'manual'): void;
|
|
20
17
|
updatePosition(position: SkipButtonPosition): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkipButtonController.d.ts","sourceRoot":"","sources":["../../src/chapters/SkipButtonController.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,aAAa,EAEd,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,oBAAoB;
|
|
1
|
+
{"version":3,"file":"SkipButtonController.d.ts","sourceRoot":"","sources":["../../src/chapters/SkipButtonController.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,aAAa,EAEd,MAAM,sBAAsB,CAAC;AAE9B,qBAAa,oBAAoB;IAS7B,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;IAZxB,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,KAAK,CAAkB;gBAGrB,eAAe,EAAE,WAAW,EAC5B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EACvC,aAAa,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,EAC9C,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;IAYlE,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAqChE,cAAc,CAAC,MAAM,GAAE,SAAS,GAAG,aAAa,GAAG,aAAa,GAAG,QAAmB,GAAG,IAAI;IAqB7F,cAAc,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAUlD,SAAS,IAAI,OAAO;IAOpB,QAAQ,IAAI,eAAe;IAO3B,OAAO,IAAI,IAAI;IActB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,mBAAmB;IAmD3B,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,aAAa;CAkBtB"}
|