84 lines
3.5 KiB
TypeScript
84 lines
3.5 KiB
TypeScript
// Metro module 11539 (f11540).
|
|
import { useState } from "react";
|
|
import { View } from "react-native";
|
|
import UserStore from "../../../../stores/UserStore";
|
|
import { createStyles } from "../../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../../_bundle/Module712";
|
|
import { useStateFromStores } from "../../../../_bundle/Module589";
|
|
import { useMessageRequestActions } from "../../hooks/useMessageRequestActions";
|
|
import ToastActionCreators from "../../../toast/native/ToastActionCreators";
|
|
import { intl, t } from "../../../../intl/index.native";
|
|
import Module9172 from "../../../../_bundle/Module9172";
|
|
import ActionSheetActionCreators from "../../../action_sheet/native/ActionSheetActionCreators";
|
|
import { BottomSheet } from "../../../../design/components/Sheet/native/BottomSheet.native";
|
|
import { BottomSheetTitleHeader } from "../../../../design/components/Sheet/native/BottomSheetTitleHeader.native";
|
|
import { ActionSheetCloseButton } from "../../../../design/components/Sheet/native/ActionSheetCloseButton.native";
|
|
import { FormSwitchRow } from "../../../../design/void/Form/native/index";
|
|
import { Button } from "../../../../design/components/Button/native/Button.native";
|
|
const useStyles = createStyles({
|
|
header: {
|
|
backgroundColor: Module712.colors.BACKGROUND_SURFACE_HIGH
|
|
},
|
|
container: {
|
|
marginTop: Module712.space.PX_24,
|
|
paddingHorizontal: Module712.space.PX_16
|
|
},
|
|
buttonContainer: {
|
|
marginTop: Module712.space.PX_24
|
|
},
|
|
switch: {
|
|
paddingHorizontal: 0
|
|
}
|
|
});
|
|
export default function SpamMessageRequestHamActionSheet(props) {
|
|
let acceptMessageRequest;
|
|
const { channel, onConfirm, onCancel } = props;
|
|
acceptMessageRequest = void 0;
|
|
const styles = useStyles();
|
|
const [state, setState] = useState(false);
|
|
const messageRequestActions = useMessageRequestActions({
|
|
user: useStateFromStores([UserStore], () => UserStore.getUser(channel.getRecipientId())),
|
|
onError: function onError() {
|
|
ToastActionCreators.open({
|
|
key: "MESSAGE_REQUEST_REQUEST_ERROR_ALERT_TITLE",
|
|
content: intl.string(t["EDYbS+"]),
|
|
icon: Module9172
|
|
});
|
|
},
|
|
onAcceptSuccess: function onAcceptSuccess() {
|
|
ActionSheetActionCreators.hideActionSheet();
|
|
}
|
|
});
|
|
acceptMessageRequest = messageRequestActions.acceptMessageRequest;
|
|
let isAcceptLoading = messageRequestActions.isAcceptLoading;
|
|
const { isUserProfileLoading, isOptimisticAccepted } = messageRequestActions;
|
|
const r68 = [<BottomSheetTitleHeader title={intl.string(t["9ty6yc"])} trailing={<ActionSheetCloseButton onPress={function onPress() {
|
|
ActionSheetActionCreators.hideActionSheet();
|
|
onCancel();
|
|
}} />} backgroundColor={styles.header} />, ,];
|
|
const r87 = [<FormSwitchRow style={styles.switch} label={intl.string(t.ZhGpNQ)} value={state} switchProps={{
|
|
renderIosBackground: true
|
|
}} onValueChange={(value) => setState(value)} />, ,];
|
|
const props2 = {
|
|
size: "md",
|
|
onPress: function onPress() {
|
|
onConfirm(state);
|
|
acceptMessageRequest(channel.id);
|
|
},
|
|
text: intl.string(t.olZgw5),
|
|
disabled: (isAcceptLoading ? isAcceptLoading : isUserProfileLoading) || isOptimisticAccepted,
|
|
loading: null
|
|
};
|
|
if (!isAcceptLoading) {
|
|
isAcceptLoading = isOptimisticAccepted;
|
|
}
|
|
props2.loading = isAcceptLoading;
|
|
r87[1] = <View style={styles.buttonContainer}>
|
|
<Button {...props2} />
|
|
</View>;
|
|
r68[1] = <View style={styles.container}>{r87}</View>;
|
|
return <BottomSheet onDismiss={function onDismiss() {
|
|
onCancel();
|
|
}}>{r68}</BottomSheet>;
|
|
};
|