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

70 lines
2.9 KiB
TypeScript

// Metro module 13910 (f13911).
import { useCallback } from "react";
import { View } from "react-native";
import FamilyCenterStore from "../FamilyCenterStore";
import { CONNECT_GUARDIAN_BOTTOM_SHEET_KEY } from "../FamilyCenterConstants";
import { createStyles } from "../../../design/components/Styles/native/createStyles";
import Module712 from "../../../_bundle/Module712";
import { useStateFromStores } from "../../../_bundle/defaultAreStatesEqual";
import ActionSheetActionCreators from "../../action_sheet/native/ActionSheetActionCreators";
import useOnNewPendingRequest from "../hooks/useOnNewPendingRequest";
import { BottomSheet } from "../../../design/components/Sheet/native/BottomSheet.native";
import { Text } from "../../../design/components/Text/native/Text";
import { intl } from "../../../intl/index.native";
import FamilyCenter_messages from "../FamilyCenter.messages";
import { ConnectGuardianCard } from "./ConnectGuardianCard";
import { Button } from "../../../design/components/Button/native/Button.native";
const useStyles = createStyles({
container: {
paddingHorizontal: Module712.space.PX_24,
paddingVertical: Module712.space.PX_24,
gap: Module712.space.PX_24
},
info: {
alignItems: "center",
gap: Module712.space.PX_8
},
centered: {
textAlign: "center"
},
cardContainer: {
alignItems: "center"
}
});
export default function ConnectGuardianBottomSheet(props) {
const { linkCode, expiresAt, onRefresh } = props;
let title = props.title;
let body = props.body;
const styles = useStyles();
let linkCode2 = useStateFromStores([FamilyCenterStore], () => FamilyCenterStore.getLinkCode());
let expiresAt2 = useStateFromStores([FamilyCenterStore], () => FamilyCenterStore.getLinkCodeExpiresAt());
const callback = useCallback(() => {
ActionSheetActionCreators.hideActionSheet(CONNECT_GUARDIAN_BOTTOM_SHEET_KEY);
}, []);
useOnNewPendingRequest(callback);
if (title == null) {
title = intl.string(FamilyCenter_messages.aCUVfL);
}
const r59 = [<Text style={styles.centered} accessibilityRole="header" variant="heading-xl/bold" color="mobile-text-heading-primary">{title}</Text>, ,];
if (body == null) {
body = intl.format(FamilyCenter_messages["2O6ltn"], {
link: "https://support.discord.com/hc/articles/14155060633623"
});
}
r59[1] = <Text style={styles.centered} variant="text-md/medium" color="text-default">{body}</Text>;
const r74 = [<View style={styles.info}>{r59}</View>, , ,];
if (linkCode2 == null) {
linkCode2 = linkCode;
}
if (expiresAt2 == null) {
expiresAt2 = expiresAt;
}
r74[1] = <View style={styles.cardContainer}>
<ConnectGuardianCard linkCode={linkCode2} expiresAt={expiresAt2} onRefresh={onRefresh} />
</View>;
r74[2] = <Button variant="secondary" size="md" text={intl.string(FamilyCenter_messages.Hsm5IF)} onPress={callback} />;
return <BottomSheet startExpanded>
<View style={styles.container}>{r74}</View>
</BottomSheet>;
};