48 lines
2.0 KiB
TypeScript
48 lines
2.0 KiB
TypeScript
// Metro module 10977 (f10978).
|
|
import UserStore from "../../../stores/UserStore";
|
|
import { QuestsExperimentLocations } from "../QuestConstants";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { useStateFromStores } from "../../../_bundle/Module589";
|
|
import { getDefaultRewardNameWithArticle } from "../utils/QuestRewardUtils";
|
|
import { useClaimedCollectibleRewardMessage } from "../hooks/QuestHooks";
|
|
import { Text } from "../../../design/components/Text/native/Text";
|
|
import { intl, t } from "../../../intl/index.native";
|
|
import { getQuestLogger } from "../lib/getQuestLogger";
|
|
import ProductPurchaseSuccessActionCreators from "../../collectibles/native/ProductPurchaseSuccessActionCreators";
|
|
let useStyles;
|
|
const QuestCollectibleRewardModalMessages = function QuestCollectibleRewardModalMessages(props) {
|
|
const quest2 = props.quest;
|
|
const styles = useStyles();
|
|
const defaultRewardNameWithArticle = getDefaultRewardNameWithArticle(quest2.config, useStateFromStores([UserStore], () => UserStore.getCurrentUser()));
|
|
const claimedCollectibleRewardMessage = useClaimedCollectibleRewardMessage(quest2.config);
|
|
return <>
|
|
<Text variant="heading-xl/bold" style={styles.title}>
|
|
{intl.format(t.YNaxMp, {
|
|
itemName: defaultRewardNameWithArticle
|
|
})}
|
|
</Text>
|
|
<Text variant="text-md/medium" style={styles.title}>{claimedCollectibleRewardMessage}</Text>
|
|
</>;
|
|
};
|
|
useStyles = createStyles({
|
|
title: {
|
|
textAlign: "center",
|
|
marginHorizontal: Module712.space.PX_32
|
|
}
|
|
});
|
|
export function openQuestCollectibleRewardModal({ quest, product, onSuccess }) {
|
|
const questLogger = getQuestLogger({
|
|
location: QuestsExperimentLocations.QUEST_HOME_MOBILE
|
|
});
|
|
if (product != null) {
|
|
ProductPurchaseSuccessActionCreators.open({
|
|
product,
|
|
renderMessages: () => <QuestCollectibleRewardModalMessages quest={quest} />,
|
|
onSuccess
|
|
});
|
|
} else {
|
|
questLogger.warn("Product is null");
|
|
}
|
|
}
|