69 lines
2.7 KiB
TypeScript
69 lines
2.7 KiB
TypeScript
// Metro module 10963 (f10964).
|
|
import Module19, { useMemo } from "react";
|
|
import { AppState, View } from "react-native";
|
|
import AccessibilityStore from "../../a11y/AccessibilityStore";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { isIOS } from "../../../utils/PlatformUtils";
|
|
import { useStateFromStores } from "../../../_bundle/Module589";
|
|
import { getQuestPrimaryReward } from "../utils/QuestRewardUtils";
|
|
import { getQuestAsset, QuestAssetType, getScaledImageUrl } from "../lib/AssetUtils";
|
|
import { VideoComponent } from "../../../components_native/common/Video";
|
|
import FastImage from "../../../components_native/common/FastImage";
|
|
const useStyles = createStyles(() => ({
|
|
container: {
|
|
borderRadius: Module712.radii.sm,
|
|
display: "flex",
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
overflow: "hidden"
|
|
},
|
|
video: {
|
|
overflow: "hidden",
|
|
height: "100%",
|
|
width: "100%"
|
|
},
|
|
image: {
|
|
height: "100%",
|
|
width: "100%"
|
|
}
|
|
}));
|
|
export default function QuestRewardTile(props) {
|
|
let memo, setState;
|
|
const { quest, height, width, style, paused = false, withAnimation = isIOS(), accessibilityLabelPrefix } = props;
|
|
memo = void 0;
|
|
setState = void 0;
|
|
const stateFromStores = useStateFromStores([AccessibilityStore], () => AccessibilityStore.useReducedMotion);
|
|
const memo2 = useMemo(() => getQuestPrimaryReward(quest), [quest]);
|
|
const r37 = memo2.name != null ? memo2.name : memo2.messages.name;
|
|
memo = useMemo(() => getQuestAsset(quest, QuestAssetType.REWARD, void 0, true), [quest]);
|
|
const styles = useStyles();
|
|
let state;
|
|
[state, setState] = Module19.useState(AppState.currentState === "active");
|
|
Module19.useEffect(() => {
|
|
if (memo.isAnimated) {
|
|
let c26881_0 = AppState.addEventListener("change", (a0) => {
|
|
setState(a0 === "active");
|
|
});
|
|
return () => {
|
|
c26881_0.remove();
|
|
};
|
|
}
|
|
}, [memo.isAnimated]);
|
|
const memo3 = Module19.useMemo(() => getScaledImageUrl({
|
|
assetUrl: memo.url,
|
|
width,
|
|
height
|
|
}), [memo, width, height]);
|
|
return <View accessibilityLabel={[accessibilityLabelPrefix, r37].filter(Boolean).join(", ")} style={[styles.container, {
|
|
height,
|
|
width
|
|
}, style]}>
|
|
{memo.isAnimated && withAnimation ? <VideoComponent style={styles.video} source={{
|
|
uri: memo.url
|
|
}} disableFocus preventsDisplaySleepDuringVideoPlayback={false} importantForAccessibility="no-hide-descendants" poster={memo3} resizeMode="cover" paused={(state ? paused : !state) || stateFromStores} muted /> : <FastImage source={{
|
|
uri: memo3
|
|
}} style={styles.image} />}
|
|
</View>;
|
|
};
|