113 lines
3.9 KiB
TypeScript
113 lines
3.9 KiB
TypeScript
// Metro module 14134 (f14135).
|
|
import { View } from "react-native";
|
|
import { HelpdeskArticles } from "../../../../Constants";
|
|
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../../_bundle/Module712";
|
|
import { DropsOptedOut } from "../../../user_settings/UserSettings";
|
|
import { ServerIcon } from "../../../../design/components/Icon/native/redesign/generated/ServerIcon";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import { GlobeEarthIcon } from "../../../../design/components/Icon/native/redesign/generated/GlobeEarthIcon";
|
|
import { UserIcon } from "../../../../design/components/Icon/native/redesign/generated/UserIcon";
|
|
import { GameControllerIcon } from "../../../../design/components/Icon/native/redesign/generated/GameControllerIcon";
|
|
import { WumpusCouchSpotIllustration } from "../../../../design/assets/native";
|
|
import { Text } from "../../../../design/components/Text/native/Text";
|
|
import { getDisclosureText } from "../../utils/QuestCopyUtils";
|
|
import { Card } from "../../../../design/components/Card/native/Card.native";
|
|
import HelpdeskUtils from "../../../../utils/HelpdeskUtils";
|
|
import { Button } from "../../../../design/components/Button/native/Button.native";
|
|
const useStyles = createStyles({
|
|
container: {
|
|
flex: 1,
|
|
padding: Module712.space.PX_24,
|
|
gap: Module712.space.PX_16,
|
|
maxWidth: 480
|
|
},
|
|
illustration: {
|
|
alignSelf: "center",
|
|
marginBottom: Module712.space.PX_8
|
|
},
|
|
closeButton: {
|
|
marginTop: "auto",
|
|
paddingHorizontal: Module712.space.PX_8,
|
|
marginBottom: Module712.space.PX_24
|
|
},
|
|
targetList: {
|
|
padding: 0
|
|
},
|
|
targetItem: {
|
|
flexDirection: "row",
|
|
flexWrap: "nowrap",
|
|
alignItems: "center",
|
|
paddingLeft: Module712.space.PX_16,
|
|
gap: Module712.space.PX_16
|
|
},
|
|
lastTargetItem: {
|
|
borderBottomWidth: 0
|
|
},
|
|
disclosureText: {
|
|
flex: 1,
|
|
paddingVertical: Module712.space.PX_12,
|
|
borderBottomWidth: 1,
|
|
borderBottomColor: Module712.colors.BORDER_SUBTLE
|
|
}
|
|
});
|
|
export default function QuestDisclosureModalInner(props) {
|
|
let r15;
|
|
let isTargetedDisclosure = props.isTargetedDisclosure;
|
|
const { gamePublisher, gameTitle, isVideoQuest, onClose, cosponsorName } = props;
|
|
const styles = useStyles();
|
|
const setting = DropsOptedOut.useSetting();
|
|
const r3 = {
|
|
icon: null,
|
|
text: null
|
|
};
|
|
if (setting) {
|
|
r3.icon = <ServerIcon size="xs" />;
|
|
r3.text = intl.string(t["2bL0wT"]);
|
|
r15 = [r3];
|
|
} else {
|
|
r3.icon = <GlobeEarthIcon size="xs" />;
|
|
r3.text = intl.string(t.xQSdPv);
|
|
r15 = [r3, {
|
|
icon: <UserIcon size="xs" />,
|
|
text: intl.string(t.mYt7hQ)
|
|
}, {
|
|
icon: <GameControllerIcon size="xs" />,
|
|
text: intl.string(t.XAsWxQ)
|
|
}];
|
|
}
|
|
let c20935_1 = r15;
|
|
const r98 = [<View style={styles.illustration}>
|
|
<WumpusCouchSpotIllustration />
|
|
</View>, <Text variant="text-md/normal" color="mobile-text-heading-primary">
|
|
{getDisclosureText({
|
|
gamePublisher,
|
|
gameTitle,
|
|
isTargetedDisclosure,
|
|
isContextualDisclosure: setting,
|
|
cosponsorName,
|
|
isVideoQuest
|
|
})}
|
|
</Text>, , , ,];
|
|
if (isTargetedDisclosure) {
|
|
isTargetedDisclosure = <Card radius={16} style={styles.targetList}>
|
|
{r15.map((item, index) => <View key={index} style={styles.targetItem}>
|
|
{item.icon}
|
|
<View style={[styles.disclosureText, index === c20935_1.length - 1 && styles.lastTargetItem]}>
|
|
<Text variant="text-md/semibold">{item.text}</Text>
|
|
</View>
|
|
</View>)}
|
|
</Card>;
|
|
}
|
|
r98[2] = isTargetedDisclosure;
|
|
r98[3] = <Text variant="text-md/medium" color="mobile-text-heading-primary">
|
|
{intl.format(t.tzq9Wa, {
|
|
privacySettingsUrl: HelpdeskUtils.getArticleURL(HelpdeskArticles.QUESTS_PRIVACY_CONTROLS)
|
|
})}
|
|
</Text>;
|
|
r98[4] = <View style={styles.closeButton}>
|
|
<Button variant="primary" grow size="lg" text={intl.string(t.cpT0Cq)} onPress={onClose} />
|
|
</View>;
|
|
return <View style={styles.container}>{r98}</View>;
|
|
};
|