81 lines
2.5 KiB
TypeScript
81 lines
2.5 KiB
TypeScript
// Metro module 11947 (f11948).
|
|
import { useCallback } from "react";
|
|
import { Image as Image2, View } from "react-native";
|
|
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../../_bundle/Module712";
|
|
import AvatarUtils from "../../../../utils/AvatarUtils";
|
|
import { ClanGameplayActivity } from "../../../../_bundle/Module11948";
|
|
import { PressableHighlight } from "../../../../design/void/Pressables/native/Pressables";
|
|
import { FireIcon } from "../../../../design/components/Icon/native/redesign/generated/FireIcon";
|
|
const useStyles = createStyles({
|
|
gameIcon: {
|
|
width: 32,
|
|
height: 32
|
|
},
|
|
gameIconImage: {
|
|
width: 32,
|
|
height: 32,
|
|
borderRadius: Module712.radii.xs,
|
|
borderWidth: 1,
|
|
borderStyle: "solid",
|
|
borderColor: Module712.colors.BORDER_STRONG
|
|
},
|
|
gameIconMask: {
|
|
position: "absolute",
|
|
top: -4,
|
|
right: -4,
|
|
display: "flex",
|
|
justifyContent: "center",
|
|
alignItems: "center",
|
|
padding: 2,
|
|
width: 18,
|
|
height: 18,
|
|
backgroundColor: Module712.colors.BACKGROUND_BASE_LOWER,
|
|
borderRadius: Module712.radii.sm
|
|
},
|
|
fireIcon: {
|
|
marginTop: -1,
|
|
width: 14,
|
|
height: 14
|
|
}
|
|
});
|
|
export default function GameIcon(props) {
|
|
let r62;
|
|
const { style, game, activityLevel, onPress } = props;
|
|
const styles = useStyles();
|
|
const iconURL = game.getIconURL(24);
|
|
const source = iconURL != null ? AvatarUtils.makeSource(iconURL) : null;
|
|
const callback = useCallback(() => {
|
|
if (onPress != null) {
|
|
onPress(game);
|
|
}
|
|
}, [game, onPress]);
|
|
const level = activityLevel?.level;
|
|
const HIGH = ClanGameplayActivity.HIGH;
|
|
const r41 = source == null;
|
|
let r42 = null;
|
|
if (!r41) {
|
|
let r43 = level === HIGH;
|
|
if (onPress != null) {
|
|
const r75 = [<Image2 style={styles.gameIconImage} source={source} />, ,];
|
|
if (r43) {
|
|
r43 = <View style={styles.gameIconMask}>
|
|
<FireIcon style={styles.fireIcon} color={Module712.unsafe_rawColors.ORANGE_260} />
|
|
</View>;
|
|
}
|
|
r75[1] = r43;
|
|
r62 = <PressableHighlight style={[style, styles.gameIcon]} onPress={callback}>{r75}</PressableHighlight>;
|
|
} else {
|
|
r62 = <View style={[style, styles.gameIcon]}>
|
|
<Image2 style={styles.gameIconImage} source={source} />
|
|
{r43 ? <View style={styles.gameIconMask}>
|
|
<FireIcon style={styles.fireIcon} color={Module712.unsafe_rawColors.ORANGE_330} />
|
|
</View> : r43}
|
|
</View>;
|
|
}
|
|
r42 = r62;
|
|
}
|
|
return r42;
|
|
};
|
|
export { useStyles };
|