Files
discord-decomp/modules/quests/native/QuestHomeOrbShopRewardCard.tsx
T
2026-11-01 12:12:55 +02:00

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;