@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
JavaScript
"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,
},
});