40 lines
2.0 KiB
TypeScript
40 lines
2.0 KiB
TypeScript
// Metro module 14110 (f14111).
|
|
import { useMemo } from "react";
|
|
import { View } from "react-native";
|
|
import UserStore from "../../../stores/UserStore";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import { COLLECTIBLES_SHOP_CARD_WIDTH, COLLECTIBLES_SHOP_CARD_HEIGHT } from "../../collectibles/native/CollectiblesShopCardV2";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { useStateFromStores } from "../../../_bundle/Module589";
|
|
import PremiumUtils from "../../../utils/PremiumUtils";
|
|
import { getProductOrbPrice } from "../../collectibles/utils/CollectiblesProductUtils";
|
|
import { getProductName } from "../../collectibles/utils/getProductName";
|
|
import CollectiblesShopCardAssetTileV2 from "../../collectibles/native/CollectiblesShopCardAssetTileV2";
|
|
import CollectiblesShopCardCardDetailsV2 from "../../collectibles/native/CollectiblesShopCardCardDetailsV2";
|
|
const useStyles = createStyles({
|
|
card: {
|
|
width: COLLECTIBLES_SHOP_CARD_WIDTH,
|
|
height: COLLECTIBLES_SHOP_CARD_HEIGHT,
|
|
overflow: "hidden",
|
|
backgroundColor: Module712.colors.BACKGROUND_BASE_LOW,
|
|
borderWidth: 1,
|
|
borderColor: Module712.colors.BORDER_SUBTLE,
|
|
borderRadius: Module712.radii.sm
|
|
}
|
|
});
|
|
export default function QuestHomeOrbShopRewardCard(props) {
|
|
const product = props.product;
|
|
const styles = useStyles();
|
|
const stateFromStores = useStateFromStores([UserStore], () => PremiumUtils.canUseShopDiscounts(UserStore.getCurrentUser()));
|
|
const memo = useMemo(() => getProductOrbPrice({
|
|
product,
|
|
hasShopDiscount: stateFromStores
|
|
}), [product, stateFromStores]);
|
|
const productName = getProductName(product);
|
|
return memo != null ? <View style={styles.card} accessible accessibilityRole="text" accessibilityLabel={productName}>
|
|
<CollectiblesShopCardAssetTileV2 product={product} isPurchased={false} solidBackground />
|
|
<CollectiblesShopCardCardDetailsV2 product={product} collectibleProductState={null} hidePrice />
|
|
</View> : null;
|
|
};
|
|
export const QUEST_HOME_ORB_SHOP_REWARD_CARD_HEIGHT = COLLECTIBLES_SHOP_CARD_HEIGHT;
|