decord/source/components_native/StreamPreview.tsx

206 lines
7.5 KiB
TypeScript
Raw Normal View History

2026-07-27 11:26:19 +00:00
// Module ID: 10788
// Function ID: 83719
2026-07-20 16:05:17 +00:00
// Name: _callSuper
2026-07-27 11:26:19 +00:00
// Dependencies: [6, 7, 15, 17, 18, 31, 27, 1278, 33, 4131, 689, 3977, 10789, 10790, 3843, 1212, 4661, 10791, 566, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-07-27 11:26:19 +00:00
// Module 10788 (_callSuper)
2026-07-23 10:11:24 +00:00
import getActivityIndicator from "get ActivityIndicator";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import getSystemLocale from "getSystemLocale";
import useFetchStreamPreview from "useFetchStreamPreview";
import initialize from "initialize";
import importAllResult from "result";
import get_ActivityIndicator from "get ActivityIndicator";
import closure_10 from "_isNativeReflectConstruct";
import jsxProd from "jsxProd";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose";
2026-07-20 16:05:17 +00:00
2026-07-23 10:11:24 +00:00
let closure_11;
let closure_12;
let closure_8;
let closure_9;
const require = arg1;
2026-07-20 16:05:17 +00:00
function _callSuper(arg0, arg1, arg2) {
let items = arg2;
const obj = callback2(arg1);
if (_isNativeReflectConstruct()) {
if (!items) {
items = [];
}
let constructResult = Reflect.construct(obj, items, callback2(arg0).constructor);
} else {
constructResult = obj.apply(arg0, items);
}
2026-07-23 10:11:24 +00:00
return getSystemLocale(arg0, constructResult);
2026-07-20 16:05:17 +00:00
}
function _isNativeReflectConstruct() {
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
}));
function _isNativeReflectConstruct() {
return closure_0;
}
const result = _isNativeReflectConstruct();
}
2026-07-23 10:11:24 +00:00
({ Image: closure_8, View: closure_9 } = get_ActivityIndicator);
({ jsx: closure_11, jsxs: closure_12 } = jsxProd);
_createForOfIteratorHelperLoose = {};
_createForOfIteratorHelperLoose = {};
let merged = Object.assign(get_ActivityIndicator.StyleSheet.absoluteFillObject);
_createForOfIteratorHelperLoose["alignItems"] = "center";
_createForOfIteratorHelperLoose["justifyContent"] = "center";
_createForOfIteratorHelperLoose["paddingLeft"] = 20;
_createForOfIteratorHelperLoose["paddingRight"] = 20;
_createForOfIteratorHelperLoose.wrapper = _createForOfIteratorHelperLoose;
let obj1 = { textAlign: "center", fontSize: 14, lineHeight: 18, marginTop: 16, color: require("_createForOfIteratorHelperLoose").colors.TEXT_MUTED };
_createForOfIteratorHelperLoose.text = obj1;
_createForOfIteratorHelperLoose.fallbackImage = { width: "100%" };
_createForOfIteratorHelperLoose = _createForOfIteratorHelperLoose.createLegacyClassComponentStyles(_createForOfIteratorHelperLoose);
const tmp6 = ((PureComponent) => {
2026-07-20 16:05:17 +00:00
class DefaultFallback {
constructor() {
2026-07-23 10:11:24 +00:00
tmp = outer1_3(this, DefaultFallback);
return outer1_17(this, DefaultFallback, arguments);
2026-07-20 16:05:17 +00:00
}
}
callback3(DefaultFallback, PureComponent);
const items = [
{
key: "render",
value() {
2026-07-23 10:11:24 +00:00
const tmp = outer1_13(this.context);
2026-07-20 16:05:17 +00:00
let obj = { style: tmp.wrapper };
obj = { resizeMode: "contain", style: tmp.fallbackImage };
if (obj3.isThemeDark(this.props.theme)) {
let tmp5Result = tmp5(tmp6[12]);
} else {
tmp5Result = tmp5(tmp6[13]);
}
obj.source = tmp5Result;
2026-07-23 10:11:24 +00:00
obj.children = outer1_11(outer1_8, obj);
return outer1_11(outer1_9, obj);
2026-07-20 16:05:17 +00:00
}
}
];
return callback(DefaultFallback, items);
2026-07-23 10:11:24 +00:00
})(importAllResult.PureComponent);
let closure_14 = tmp6;
tmp6.contextType = require("ManaContext").ThemeContext;
2026-07-20 16:05:17 +00:00
const obj2 = {};
2026-07-23 10:11:24 +00:00
const obj3 = { flex: 1, width: "100%", height: undefined, aspectRatio: 1.7777777777777777, backgroundColor: require("_createForOfIteratorHelperLoose").colors.BACKGROUND_BASE_LOWEST };
2026-07-20 16:05:17 +00:00
obj2.touchable = obj3;
2026-07-23 10:11:24 +00:00
_createForOfIteratorHelperLoose = { flex: 1, backgroundColor: require("_createForOfIteratorHelperLoose").unsafe_rawColors.BLACK };
obj2.imageContainer = _createForOfIteratorHelperLoose;
2026-07-20 16:05:17 +00:00
obj2.image = { flex: 1 };
2026-07-23 10:11:24 +00:00
let closure_15 = _createForOfIteratorHelperLoose.createLegacyClassComponentStyles(obj2);
const tmp7 = ((PureComponent) => {
2026-07-20 16:05:17 +00:00
class StreamPreview {
constructor(arg0) {
items = [...arguments];
2026-07-23 10:11:24 +00:00
tmp = outer1_3(this, StreamPreview);
2026-07-20 16:05:17 +00:00
items1 = [...items];
2026-07-23 10:11:24 +00:00
tmp2 = outer1_17(this, StreamPreview, items1);
2026-07-20 16:05:17 +00:00
StreamPreview = tmp2;
2026-07-23 10:11:24 +00:00
tmp2.state = { isImageLoaded: false, isImageErrored: false };
2026-07-20 16:05:17 +00:00
tmp2.handleLoadStart = () => {
2026-07-23 10:11:24 +00:00
tmp2.setState({ isImageLoaded: false, isImageErrored: false });
2026-07-20 16:05:17 +00:00
};
tmp2.handleLoad = () => {
tmp2.setState({ isImageLoaded: true });
};
tmp2.handleError = () => {
tmp2.setState({ isImageErrored: true });
};
return tmp2;
}
}
callback3(StreamPreview, PureComponent);
2026-07-23 10:11:24 +00:00
let items = [
2026-07-20 16:05:17 +00:00
{
key: "render",
value() {
let isFetching;
let renderFallback;
let theme;
let url;
2026-07-23 10:11:24 +00:00
const tmp = outer1_15(this.context);
2026-07-20 16:05:17 +00:00
({ url, isFetching, renderFallback, theme } = this.props);
if (null != url) {
if (!isFetching) {
if (!this.state.isImageErrored) {
if (!tmp7) {
let renderFallbackResult;
if (null != renderFallback) {
renderFallbackResult = renderFallback(true, theme);
}
let tmp8 = renderFallbackResult;
}
let obj = { resizeMode: "contain", style: tmp.image };
obj = { uri: url, cache: "force-cache" };
obj.source = obj;
({ handleLoadStart: obj.onLoadStart, handleLoad: obj.onLoad, handleError: obj.onError } = this);
2026-07-23 10:11:24 +00:00
const tmp12 = outer1_11(outer1_8, obj);
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
obj = { accessibilityRole: "button", accessibilityLabel: tmp2, activeOpacity: 0.6 };
2026-07-20 16:05:17 +00:00
const items = [tmp.touchable, tmp3];
obj.style = items;
obj.disabled = tmp6;
obj.onPress = tmp5;
const obj1 = { style: tmp.imageContainer };
const items1 = [tmp8, tmp12];
obj1.children = items1;
2026-07-23 10:11:24 +00:00
const items2 = [outer1_12(outer1_9, obj1), tmp4];
2026-07-20 16:05:17 +00:00
obj.children = items2;
2026-07-23 10:11:24 +00:00
return outer1_12(StreamPreview(outer1_2[16]).PressableOpacity, obj);
2026-07-20 16:05:17 +00:00
}
}
let renderFallbackResult1;
if (null != renderFallback) {
renderFallbackResult1 = renderFallback(isFetching, theme);
}
tmp8 = renderFallbackResult1;
}
}
];
return callback(StreamPreview, items);
2026-07-23 10:11:24 +00:00
})(importAllResult.PureComponent);
let closure_16 = tmp7;
tmp7.contextType = require("ManaContext").ThemeContext;
2026-07-20 16:05:17 +00:00
tmp7.defaultProps = {
renderFallback: function defaultRenderFallback(arg0, theme) {
const obj = { theme };
2026-07-23 10:11:24 +00:00
const intl = require(1212) /* getSystemLocale */.intl;
2026-07-20 16:05:17 +00:00
const string = intl.string;
2026-07-23 10:11:24 +00:00
const t = require(1212) /* getSystemLocale */.t;
2026-07-20 16:05:17 +00:00
if (arg0) {
let stringResult = string(t.NQ7H8V);
} else {
stringResult = string(t.uQZTBV);
}
obj.caption = stringResult;
2026-07-23 10:11:24 +00:00
return closure_11(closure_14, obj);
2026-07-20 16:05:17 +00:00
}
};
2026-07-23 10:11:24 +00:00
let result = require("_possibleConstructorReturn").fileFinishedImporting("components_native/StreamPreview.tsx");
2026-07-20 16:05:17 +00:00
export default function ConnectedStreamPreview(stream) {
let channelId;
let guildId;
let isLoading;
let ownerId;
let previewUrl;
({ guildId, channelId, ownerId } = stream.stream);
2026-07-27 11:26:19 +00:00
({ previewUrl, isLoading } = importDefault(10791)(guildId, channelId, ownerId));
2026-07-23 10:11:24 +00:00
let obj = require(566) /* initialize */;
2026-07-20 16:05:17 +00:00
const items = [closure_10];
obj = {};
2026-07-23 10:11:24 +00:00
const stateFromStores = obj.useStateFromStores(items, () => outer1_10.theme);
2026-07-20 16:05:17 +00:00
const merged = Object.assign(stream);
obj["url"] = previewUrl;
obj["isFetching"] = isLoading;
obj["theme"] = stateFromStores;
2026-07-23 10:11:24 +00:00
return callback4(closure_16, obj);
2026-07-20 16:05:17 +00:00
};