unified-video-framework 1.4.75 → 1.4.76

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": "unified-video-framework",
3
- "version": "1.4.75",
3
+ "version": "1.4.76",
4
4
  "description": "Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more",
5
5
  "main": "packages/core/dist/index.js",
6
6
  "types": "packages/core/dist/index.d.ts",
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- interface EPGDebuggerProps {
3
- epgData?: any;
4
- playerReady?: boolean;
5
- epgComponentLoaded?: boolean;
6
- epgVisible?: boolean;
7
- showEPG?: boolean;
8
- }
9
- export declare const EPGDebugger: React.FC<EPGDebuggerProps>;
10
- export default EPGDebugger;
11
- //# sourceMappingURL=EPGDebugger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EPGDebugger.d.ts","sourceRoot":"","sources":["../../../src/react/debug/EPGDebugger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,UAAU,gBAAgB;IACxB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiFlD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,96 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- export const EPGDebugger = ({ epgData, playerReady, epgComponentLoaded, epgVisible, showEPG, }) => {
3
- const [debugInfo, setDebugInfo] = useState({});
4
- useEffect(() => {
5
- setDebugInfo({
6
- hasEPGData: !!epgData,
7
- epgDataStructure: epgData ? {
8
- hasTimeline: !!epgData.timeline,
9
- timelineLength: epgData.timeline?.length || 0,
10
- hasChannels: !!epgData.channels,
11
- channelsCount: epgData.channels?.length || 0,
12
- dataKeys: Object.keys(epgData || {}),
13
- } : null,
14
- playerReady,
15
- epgComponentLoaded,
16
- epgVisible,
17
- showEPG,
18
- toggleButtonShouldShow: !!epgData && !!playerReady,
19
- overlayShouldShow: !!epgData && !!epgComponentLoaded,
20
- timestamp: new Date().toISOString(),
21
- });
22
- }, [epgData, playerReady, epgComponentLoaded, epgVisible, showEPG]);
23
- const debugStyle = {
24
- position: 'fixed',
25
- top: '10px',
26
- left: '10px',
27
- backgroundColor: 'rgba(0, 0, 0, 0.9)',
28
- color: '#00ff00',
29
- padding: '15px',
30
- borderRadius: '8px',
31
- fontFamily: 'monospace',
32
- fontSize: '12px',
33
- zIndex: 9999,
34
- maxWidth: '400px',
35
- maxHeight: '300px',
36
- overflow: 'auto',
37
- border: '1px solid #333',
38
- };
39
- return (React.createElement("div", { style: debugStyle },
40
- React.createElement("h3", { style: { margin: '0 0 10px 0', color: '#ff6b35' } }, "EPG Debug Info"),
41
- React.createElement("div", { style: { lineHeight: '1.4' } },
42
- React.createElement("div", null,
43
- React.createElement("strong", null, "EPG Data Present:"),
44
- " ",
45
- debugInfo.hasEPGData ? '✅' : '❌'),
46
- React.createElement("div", null,
47
- React.createElement("strong", null, "Player Ready:"),
48
- " ",
49
- debugInfo.playerReady ? '✅' : '❌'),
50
- React.createElement("div", null,
51
- React.createElement("strong", null, "EPG Component Loaded:"),
52
- " ",
53
- debugInfo.epgComponentLoaded ? '✅' : '❌'),
54
- React.createElement("div", null,
55
- React.createElement("strong", null, "EPG Visible:"),
56
- " ",
57
- debugInfo.epgVisible ? '✅' : '❌'),
58
- React.createElement("div", null,
59
- React.createElement("strong", null, "Show EPG Prop:"),
60
- " ",
61
- debugInfo.showEPG ? '✅' : '❌'),
62
- React.createElement("hr", { style: { margin: '10px 0', border: '1px solid #333' } }),
63
- React.createElement("div", null,
64
- React.createElement("strong", null, "Toggle Button Should Show:"),
65
- " ",
66
- debugInfo.toggleButtonShouldShow ? '✅' : '❌'),
67
- React.createElement("div", null,
68
- React.createElement("strong", null, "Overlay Should Show:"),
69
- " ",
70
- debugInfo.overlayShouldShow ? '✅' : '❌'),
71
- debugInfo.epgDataStructure && (React.createElement(React.Fragment, null,
72
- React.createElement("hr", { style: { margin: '10px 0', border: '1px solid #333' } }),
73
- React.createElement("div", null,
74
- React.createElement("strong", null, "EPG Data Structure:")),
75
- React.createElement("div", { style: { marginLeft: '10px' } },
76
- React.createElement("div", null,
77
- "Has Timeline: ",
78
- debugInfo.epgDataStructure.hasTimeline ? '✅' : '❌'),
79
- React.createElement("div", null,
80
- "Timeline Length: ",
81
- debugInfo.epgDataStructure.timelineLength),
82
- React.createElement("div", null,
83
- "Has Channels: ",
84
- debugInfo.epgDataStructure.hasChannels ? '✅' : '❌'),
85
- React.createElement("div", null,
86
- "Channels Count: ",
87
- debugInfo.epgDataStructure.channelsCount),
88
- React.createElement("div", null,
89
- "Data Keys: ",
90
- debugInfo.epgDataStructure.dataKeys.join(', '))))),
91
- React.createElement("div", { style: { fontSize: '10px', marginTop: '10px', color: '#666' } },
92
- "Updated: ",
93
- debugInfo.timestamp))));
94
- };
95
- export default EPGDebugger;
96
- //# sourceMappingURL=EPGDebugger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EPGDebugger.js","sourceRoot":"","sources":["../../../src/react/debug/EPGDebugger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUnD,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,OAAO,GACR,EAAE,EAAE;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAM,EAAE,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC;YACX,UAAU,EAAE,CAAC,CAAC,OAAO;YACrB,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1B,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ;gBAC/B,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;gBAC7C,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ;gBAC/B,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;gBAC5C,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;aACrC,CAAC,CAAC,CAAC,IAAI;YACR,WAAW;YACX,kBAAkB;YAClB,UAAU;YACV,OAAO;YACP,sBAAsB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,WAAW;YAClD,iBAAiB,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,kBAAkB;YACpD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAwB;QACtC,QAAQ,EAAE,OAAO;QACjB,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,MAAM;QACZ,eAAe,EAAE,oBAAoB;QACrC,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,OAAO;QACjB,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,gBAAgB;KACzB,CAAC;IAEF,OAAO,CACL,6BAAK,KAAK,EAAE,UAAU;QACpB,4BAAI,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,qBAAqB;QAC1E,6BAAK,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;YAC/B;gBAAK,wDAAkC;;gBAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;YAChF;gBAAK,oDAA8B;;gBAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;YAC7E;gBAAK,4DAAsC;;gBAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;YAC5F;gBAAK,mDAA6B;;gBAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;YAC3E;gBAAK,qDAA+B;;gBAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;YAE1E,4BAAI,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAI;YAE7D;gBAAK,iEAA2C;;gBAAE,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;YACrG;gBAAK,2DAAqC;;gBAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;YAEzF,SAAS,CAAC,gBAAgB,IAAI,CAC7B;gBACE,4BAAI,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAI;gBAC7D;oBAAK,0DAAoC,CAAM;gBAC/C,6BAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;oBAChC;;wBAAoB,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;oBAC7E;;wBAAuB,SAAS,CAAC,gBAAgB,CAAC,cAAc,CAAO;oBACvE;;wBAAoB,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAO;oBAC7E;;wBAAsB,SAAS,CAAC,gBAAgB,CAAC,aAAa,CAAO;oBACrE;;wBAAiB,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAO,CAClE,CACL,CACJ;YAED,6BAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;;gBACtD,SAAS,CAAC,SAAS,CACzB,CACF,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { EPGData } from '../types/EPGTypes';
2
- export declare const sampleEPGData: EPGData;
3
- export declare const validateEPGData: (data: any) => {
4
- isValid: boolean;
5
- errors: string[];
6
- };
7
- export declare const logEPGDebugInfo: (data: any, label?: string) => {
8
- isValid: boolean;
9
- errors: string[];
10
- };
11
- export default sampleEPGData;
12
- //# sourceMappingURL=sampleEPGData.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sampleEPGData.d.ts","sourceRoot":"","sources":["../../../src/react/debug/sampleEPGData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA6B,MAAM,mBAAmB,CAAC;AAgI5E,eAAO,MAAM,aAAa,EAAE,OAE3B,CAAC;AAGF,eAAO,MAAM,eAAe,SAAU,GAAG;aAAc,OAAO;YAAU,MAAM,EAAE;CA+C/E,CAAC;AAGF,eAAO,MAAM,eAAe,SAAU,GAAG,UAAS,MAAM;aAlDD,OAAO;YAAU,MAAM,EAAE;CAuE/E,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,191 +0,0 @@
1
- const now = new Date();
2
- const startOfToday = new Date(now.getFullYear(), now.getMonth(), now.getDate());
3
- const createTimestamp = (hoursOffset, minutesOffset = 0) => {
4
- const date = new Date(startOfToday);
5
- date.setHours(date.getHours() + hoursOffset, minutesOffset, 0, 0);
6
- return date.toISOString();
7
- };
8
- const createSamplePrograms = (channelPrefix, startHour) => {
9
- return [
10
- {
11
- id: `${channelPrefix}_1`,
12
- title: `${channelPrefix} Morning News`,
13
- description: 'Start your day with the latest news and weather updates.',
14
- since: createTimestamp(startHour, 0),
15
- till: createTimestamp(startHour + 2, 0),
16
- category: 'News',
17
- rating: 'G',
18
- image: `https://via.placeholder.com/300x200?text=${channelPrefix}+News`,
19
- isFavorite: false,
20
- isRecording: false,
21
- hasReminder: false,
22
- hasCatchup: true,
23
- },
24
- {
25
- id: `${channelPrefix}_2`,
26
- title: `${channelPrefix} Drama Series`,
27
- description: 'An exciting drama series with compelling characters and storylines.',
28
- since: createTimestamp(startHour + 2, 0),
29
- till: createTimestamp(startHour + 3, 30),
30
- category: 'Drama',
31
- rating: 'PG-13',
32
- image: `https://via.placeholder.com/300x200?text=${channelPrefix}+Drama`,
33
- isFavorite: true,
34
- isRecording: false,
35
- hasReminder: true,
36
- hasCatchup: true,
37
- },
38
- {
39
- id: `${channelPrefix}_3`,
40
- title: `${channelPrefix} Comedy Show`,
41
- description: 'Laugh out loud with this hilarious comedy show.',
42
- since: createTimestamp(startHour + 3, 30),
43
- till: createTimestamp(startHour + 5, 0),
44
- category: 'Comedy',
45
- rating: 'PG',
46
- image: `https://via.placeholder.com/300x200?text=${channelPrefix}+Comedy`,
47
- isFavorite: false,
48
- isRecording: true,
49
- hasReminder: false,
50
- hasCatchup: false,
51
- },
52
- {
53
- id: `${channelPrefix}_4`,
54
- title: `${channelPrefix} Documentary`,
55
- description: 'Explore fascinating topics in this educational documentary.',
56
- since: createTimestamp(startHour + 5, 0),
57
- till: createTimestamp(startHour + 6, 30),
58
- category: 'Documentary',
59
- rating: 'G',
60
- image: `https://via.placeholder.com/300x200?text=${channelPrefix}+Doc`,
61
- isFavorite: false,
62
- isRecording: false,
63
- hasReminder: false,
64
- hasCatchup: true,
65
- },
66
- {
67
- id: `${channelPrefix}_5`,
68
- title: `${channelPrefix} Sports Tonight`,
69
- description: 'Coverage of today\'s biggest sporting events and highlights.',
70
- since: createTimestamp(startHour + 6, 30),
71
- till: createTimestamp(startHour + 8, 0),
72
- category: 'Sports',
73
- rating: 'G',
74
- image: `https://via.placeholder.com/300x200?text=${channelPrefix}+Sports`,
75
- isFavorite: true,
76
- isRecording: false,
77
- hasReminder: true,
78
- hasCatchup: true,
79
- },
80
- ];
81
- };
82
- const sampleChannels = [
83
- {
84
- programTitle: 'Channel 1 HD',
85
- channelId: 'ch1',
86
- channelLogo: 'https://via.placeholder.com/100x60?text=CH1',
87
- data: createSamplePrograms('CH1', 6),
88
- },
89
- {
90
- programTitle: 'Channel 2 News',
91
- channelId: 'ch2',
92
- channelLogo: 'https://via.placeholder.com/100x60?text=CH2',
93
- data: createSamplePrograms('CH2', 5),
94
- },
95
- {
96
- programTitle: 'Channel 3 Entertainment',
97
- channelId: 'ch3',
98
- channelLogo: 'https://via.placeholder.com/100x60?text=CH3',
99
- data: createSamplePrograms('CH3', 7),
100
- },
101
- {
102
- programTitle: 'Channel 4 Sports',
103
- channelId: 'ch4',
104
- channelLogo: 'https://via.placeholder.com/100x60?text=CH4',
105
- data: createSamplePrograms('CH4', 6),
106
- },
107
- {
108
- programTitle: 'Channel 5 Movies',
109
- channelId: 'ch5',
110
- channelLogo: 'https://via.placeholder.com/100x60?text=CH5',
111
- data: createSamplePrograms('CH5', 8),
112
- },
113
- {
114
- programTitle: 'Channel 6 Kids',
115
- channelId: 'ch6',
116
- channelLogo: 'https://via.placeholder.com/100x60?text=CH6',
117
- data: createSamplePrograms('CH6', 6),
118
- },
119
- ];
120
- export const sampleEPGData = {
121
- timeline: sampleChannels,
122
- };
123
- export const validateEPGData = (data) => {
124
- const errors = [];
125
- if (!data) {
126
- errors.push('EPG data is null or undefined');
127
- return { isValid: false, errors };
128
- }
129
- if (!data.timeline) {
130
- errors.push('EPG data is missing timeline property');
131
- }
132
- else if (!Array.isArray(data.timeline)) {
133
- errors.push('EPG timeline is not an array');
134
- }
135
- else if (data.timeline.length === 0) {
136
- errors.push('EPG timeline is empty');
137
- }
138
- else {
139
- data.timeline.forEach((channel, index) => {
140
- if (!channel.programTitle) {
141
- errors.push(`Channel ${index} is missing programTitle`);
142
- }
143
- if (!channel.data) {
144
- errors.push(`Channel ${index} is missing data property`);
145
- }
146
- else if (!Array.isArray(channel.data)) {
147
- errors.push(`Channel ${index} data is not an array`);
148
- }
149
- else if (channel.data.length === 0) {
150
- errors.push(`Channel ${index} has no programs`);
151
- }
152
- else {
153
- channel.data.forEach((program, programIndex) => {
154
- if (!program.id) {
155
- errors.push(`Channel ${index}, Program ${programIndex} is missing id`);
156
- }
157
- if (!program.title) {
158
- errors.push(`Channel ${index}, Program ${programIndex} is missing title`);
159
- }
160
- if (!program.since) {
161
- errors.push(`Channel ${index}, Program ${programIndex} is missing since`);
162
- }
163
- if (!program.till) {
164
- errors.push(`Channel ${index}, Program ${programIndex} is missing till`);
165
- }
166
- });
167
- }
168
- });
169
- }
170
- return { isValid: errors.length === 0, errors };
171
- };
172
- export const logEPGDebugInfo = (data, label = 'EPG Data') => {
173
- console.group(`🔍 ${label} Debug Info`);
174
- console.log('Data structure:', data);
175
- const validation = validateEPGData(data);
176
- console.log('Validation result:', validation);
177
- if (data?.timeline) {
178
- console.log('Timeline channels:', data.timeline.length);
179
- data.timeline.forEach((channel, index) => {
180
- console.log(`Channel ${index}:`, {
181
- title: channel.programTitle,
182
- programCount: channel.data?.length || 0,
183
- hasLogo: !!channel.channelLogo,
184
- });
185
- });
186
- }
187
- console.groupEnd();
188
- return validation;
189
- };
190
- export default sampleEPGData;
191
- //# sourceMappingURL=sampleEPGData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sampleEPGData.js","sourceRoot":"","sources":["../../../src/react/debug/sampleEPGData.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- export declare const EPGTestExample: React.FC;
3
- export default EPGTestExample;
4
- //# sourceMappingURL=EPGTestExample.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EPGTestExample.d.ts","sourceRoot":"","sources":["../../../src/react/examples/EPGTestExample.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AAcrD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EA8MlC,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,129 +0,0 @@
1
- import React, { useState, useCallback } from 'react';
2
- import WebPlayerViewDebug from "../WebPlayerView-debug.js";
3
- import { sampleEPGData } from "../debug/sampleEPGData.js";
4
- export const EPGTestExample = () => {
5
- const [showEPG, setShowEPG] = useState(false);
6
- const [debugMode, setDebugMode] = useState(true);
7
- const handleToggleEPG = useCallback((visible) => {
8
- console.log('🔄 EPG toggle callback:', visible);
9
- setShowEPG(visible);
10
- }, []);
11
- const handleEPGFavorite = useCallback(async (program, channel) => {
12
- console.log('⭐ Favorite program:', program.title, 'on channel:', channel.programTitle);
13
- alert(`Added "${program.title}" to favorites!`);
14
- }, []);
15
- const handleEPGRecord = useCallback(async (program, channel) => {
16
- console.log('🔴 Record program:', program.title, 'on channel:', channel.programTitle);
17
- alert(`Scheduled recording for "${program.title}"!`);
18
- }, []);
19
- const handleEPGSetReminder = useCallback(async (program, channel) => {
20
- console.log('⏰ Set reminder for program:', program.title, 'on channel:', channel.programTitle);
21
- alert(`Set reminder for "${program.title}"!`);
22
- }, []);
23
- const handleEPGCatchup = useCallback(async (program, channel) => {
24
- console.log('📺 Catchup program:', program.title, 'on channel:', channel.programTitle);
25
- alert(`Opening catchup for "${program.title}"!`);
26
- }, []);
27
- const handleEPGProgramSelect = useCallback((program, channel) => {
28
- console.log('🎯 Program selected:', program.title, 'on channel:', channel.programTitle);
29
- }, []);
30
- const handleEPGChannelSelect = useCallback((channel) => {
31
- console.log('📺 Channel selected:', channel.programTitle);
32
- }, []);
33
- const handlePlayerReady = useCallback((player) => {
34
- console.log('✅ Player ready:', player);
35
- }, []);
36
- const handlePlayerError = useCallback((error) => {
37
- console.error('❌ Player error:', error);
38
- }, []);
39
- return (React.createElement("div", { style: { width: '100vw', height: '100vh', position: 'relative' } },
40
- debugMode && (React.createElement("div", { style: {
41
- position: 'fixed',
42
- top: '10px',
43
- right: '10px',
44
- backgroundColor: 'rgba(0, 0, 0, 0.8)',
45
- color: '#fff',
46
- padding: '15px',
47
- borderRadius: '8px',
48
- zIndex: 10000,
49
- fontFamily: 'Arial, sans-serif',
50
- fontSize: '14px',
51
- } },
52
- React.createElement("h4", { style: { margin: '0 0 10px 0', color: '#ff6b35' } }, "EPG Test Controls"),
53
- React.createElement("div", { style: { marginBottom: '10px' } },
54
- React.createElement("button", { onClick: () => setShowEPG(!showEPG), style: {
55
- backgroundColor: showEPG ? '#ff6b35' : '#333',
56
- color: '#fff',
57
- border: 'none',
58
- padding: '8px 12px',
59
- borderRadius: '4px',
60
- cursor: 'pointer',
61
- marginRight: '10px',
62
- } }, showEPG ? 'Hide EPG' : 'Show EPG'),
63
- React.createElement("button", { onClick: () => setDebugMode(false), style: {
64
- backgroundColor: '#666',
65
- color: '#fff',
66
- border: 'none',
67
- padding: '8px 12px',
68
- borderRadius: '4px',
69
- cursor: 'pointer',
70
- } }, "Hide Controls")),
71
- React.createElement("div", { style: { fontSize: '12px', color: '#ccc' } },
72
- React.createElement("div", null,
73
- "EPG State: ",
74
- showEPG ? '✅ Visible' : '❌ Hidden'),
75
- React.createElement("div", null,
76
- "Debug Mode: ",
77
- debugMode ? '✅ On' : '❌ Off'),
78
- React.createElement("div", null,
79
- "Data Channels: ",
80
- sampleEPGData.timeline.length),
81
- React.createElement("div", null, "Use Ctrl+G to toggle EPG")))),
82
- !debugMode && (React.createElement("button", { onClick: () => setDebugMode(true), style: {
83
- position: 'fixed',
84
- top: '10px',
85
- right: '10px',
86
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
87
- color: '#fff',
88
- border: 'none',
89
- padding: '8px',
90
- borderRadius: '4px',
91
- cursor: 'pointer',
92
- zIndex: 10000,
93
- fontSize: '12px',
94
- } }, "\uD83D\uDD27")),
95
- React.createElement(WebPlayerViewDebug, { url: "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4", type: "mp4", autoPlay: false, muted: true, epg: sampleEPGData, showEPG: showEPG, onToggleEPG: handleToggleEPG, onEPGFavorite: handleEPGFavorite, onEPGRecord: handleEPGRecord, onEPGSetReminder: handleEPGSetReminder, onEPGCatchup: handleEPGCatchup, onEPGProgramSelect: handleEPGProgramSelect, onEPGChannelSelect: handleEPGChannelSelect, epgConfig: {
96
- timeSlotDuration: 60,
97
- visibleHours: 4,
98
- enableInfiniteScroll: true,
99
- lazyLoadThreshold: 200,
100
- showChannelLogos: true,
101
- showProgramImages: true,
102
- compactMode: false,
103
- }, enableEPGDebugger: true, debug: true, onReady: handlePlayerReady, onError: handlePlayerError, className: "epg-test-player", style: {
104
- width: '100%',
105
- height: '100%',
106
- } }),
107
- React.createElement("div", { style: {
108
- position: 'fixed',
109
- bottom: '10px',
110
- left: '10px',
111
- backgroundColor: 'rgba(0, 0, 0, 0.6)',
112
- color: '#fff',
113
- padding: '10px',
114
- borderRadius: '6px',
115
- fontSize: '12px',
116
- fontFamily: 'monospace',
117
- zIndex: 9998,
118
- maxWidth: '300px',
119
- } },
120
- React.createElement("div", null,
121
- React.createElement("strong", null, "EPG Test Instructions:")),
122
- React.createElement("div", null, "\u2022 Press Ctrl+G to toggle EPG"),
123
- React.createElement("div", null, "\u2022 Click the \uD83D\uDCFA button to toggle EPG"),
124
- React.createElement("div", null, "\u2022 Check console for detailed logs"),
125
- React.createElement("div", null, "\u2022 Use debug panel to control EPG visibility"),
126
- React.createElement("div", null, "\u2022 Look for green checkmarks in debugger"))));
127
- };
128
- export default EPGTestExample;
129
- //# sourceMappingURL=EPGTestExample.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EPGTestExample.js","sourceRoot":"","sources":["../../../src/react/examples/EPGTestExample.tsx"],"names":[],"mappings":"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"}