UNPKG

@livetv-app/tvguide

Version:

An Android TV Live Channels-like Electronic Programme Guide for React DOM and React Native applications.

150 lines (149 loc) 9.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.styles = void 0; const React = require("react"); const react_1 = require("react"); const react_native_1 = require("react-native"); const react_native_tvfocus_1 = require("react-native-tvfocus"); const util_1 = require("../util"); const constants_1 = require("../constants"); const _DebugView = function DebugView(props) { var _a, _b, _c, _d; const { setSelectedChannel, setSelectedProgramme, setSelectedTime, leftPosition, setLeftPosition } = props; const { channel, programme, time } = props.selection; const rightPosition = react_1.useMemo(() => new Date(leftPosition.getTime() + ((props.width / constants_1.SCALE / constants_1.CELL_WIDTH) * constants_1.CELL_LENGTH)), [leftPosition, props.width]); return React.createElement(react_native_1.ScrollView, { style: exports.styles.scroller, onLayout: e => { var _a; return (_a = props.onLayout) === null || _a === void 0 ? void 0 : _a.call(null, e.nativeEvent.layout); }, horizontal: true }, React.createElement(react_native_1.View, { style: exports.styles.container }, React.createElement(react_native_1.Text, { style: exports.styles.debugText }, "Selected channel: ", channel === null || channel === void 0 ? void 0 : channel.id, " ", channel === null || channel === void 0 ? void 0 : channel.name), React.createElement(react_native_1.Text, { style: exports.styles.debugText }, "Selected programme: ", programme === null || programme === void 0 ? void 0 : programme.id, " ", programme === null || programme === void 0 ? void 0 : programme.start.toString(), " ", programme === null || programme === void 0 ? void 0 : programme.name), React.createElement(react_native_1.Text, { style: exports.styles.debugText }, "Selected time: ", time.toString()), React.createElement(react_native_1.Text, { style: exports.styles.debugText }, "Left position: ", leftPosition.toString()), React.createElement(react_native_1.Text, { style: exports.styles.debugText }, "Right position: ", rightPosition.toString()), React.createElement(react_native_1.Text, { style: exports.styles.debugText }, "Top position: ", (_a = props.scrollTop) === null || _a === void 0 ? void 0 : _a.id, " ", (_b = props.scrollTop) === null || _b === void 0 ? void 0 : _b.name), React.createElement(react_native_1.Text, { style: exports.styles.debugText }, "Bottom position: ", (_c = props.scrollBottom) === null || _c === void 0 ? void 0 : _c.id, " ", (_d = props.scrollBottom) === null || _d === void 0 ? void 0 : _d.name), !react_native_1.Platform.isTV ? React.createElement(react_native_1.View, { style: exports.styles.debugButtons }, props.onKeypress ? React.createElement(React.Fragment, null, React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "S", onPress: () => { var _a; (_a = props.onKeypress) === null || _a === void 0 ? void 0 : _a.call(props, 'select'); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "U", onPress: () => { var _a; (_a = props.onKeypress) === null || _a === void 0 ? void 0 : _a.call(props, 'up'); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "D", onPress: () => { var _a; (_a = props.onKeypress) === null || _a === void 0 ? void 0 : _a.call(props, 'down'); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "L", onPress: () => { var _a; (_a = props.onKeypress) === null || _a === void 0 ? void 0 : _a.call(props, 'left'); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "R", onPress: () => { var _a; (_a = props.onKeypress) === null || _a === void 0 ? void 0 : _a.call(props, 'right'); } }))) : null, React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Move Left 1 Cell", onPress: () => { setLeftPosition(new Date(leftPosition.getTime() - constants_1.CELL_LENGTH)); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Move Right 1 Cell", onPress: () => { setLeftPosition(new Date(leftPosition.getTime() + constants_1.CELL_LENGTH)); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Move Left 4 Cells", onPress: () => { setLeftPosition(new Date(leftPosition.getTime() - (constants_1.CELL_LENGTH * 4))); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Move Right 4 Cells", onPress: () => { setLeftPosition(new Date(leftPosition.getTime() + (constants_1.CELL_LENGTH * 4))); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Channel Up", onPress: () => { const c = util_1.getPreviousChannel(channel, props.channels); setSelectedChannel(c); setSelectedProgramme(util_1.getProgrammeAtTime(time, props.programmes, c)); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Channel Down", onPress: () => { const c = util_1.getNextChannel(channel, props.channels); setSelectedChannel(c); setSelectedProgramme(util_1.getProgrammeAtTime(time, props.programmes, c)); } })), channel ? React.createElement(React.Fragment, null, React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Previous Programme", onPress: () => { const pt = util_1.getPreviousProgrammeTime(time, props.programmes, channel); if (!pt) return; setSelectedTime(pt); const programme = util_1.getProgrammeAtTime(pt, props.programmes, channel); setSelectedProgramme(programme); } })), React.createElement(react_native_1.View, { style: exports.styles.debugButton }, React.createElement(react_native_tvfocus_1.Button, { title: "Next Programme", onPress: () => { const pt = util_1.getNextProgrammeTime(time, props.programmes, channel); if (!pt) return; setSelectedTime(pt); const programme = util_1.getProgrammeAtTime(pt, props.programmes, channel); setSelectedProgramme(programme); } }))) : null) : null)); }; const DebugView = React.memo(_DebugView); exports.default = DebugView; exports.styles = react_native_1.StyleSheet.create({ scroller: { backgroundColor: '#607d8bee', borderRadius: constants_1.SCALE * 2, marginBottom: constants_1.SCALE * 10, marginRight: constants_1.SCALE * 20, height: 300, }, container: { paddingHorizontal: constants_1.SCALE * 20, paddingVertical: constants_1.SCALE * 10, flex: 1, }, debugText: { color: '#eeeeee', fontSize: constants_1.SCALE * 14, }, debugButtons: { flexDirection: 'row', marginTop: constants_1.SCALE * 10, }, debugButton: { marginRight: constants_1.SCALE * 10, }, });