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

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>;
};