"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _reactNative = require("react-native");
var _bottomSheet = require("../bottomSheet/bottom-sheet");
var _ChatStore = _interopRequireDefault(require("../../screens/chat/ChatStore"));
var _index = require("../index");
var _QuickMessageStore = _interopRequireDefault(require("../../screens/chat/QuickMessageStore"));
var _Styles = _interopRequireDefault(require("../../Styles"));
var _ListChatStore = _interopRequireDefault(require("../../screens/listchat/ListChatStore"));
var _AppStore = _interopRequireDefault(require("../../screens/AppStore"));
var _utils = require("../../utils");
var _index2 = require("../../index");
var _reactNativeNavigation = require("react-native-navigation");
var _services = _interopRequireDefault(require("../../services"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
const BottomSheetChatOptions = /*#__PURE__*/_react.default.forwardRef((props, ref) => {
  const snapPoints = (0, _react.useMemo)(() => ['40%'], []);
  const bottomSheetRef = (0, _react.useRef)();
  const [data, setData] = (0, _react.useState)([]);
  const [order, setOrder] = (0, _react.useState)({});
  const [isSender, setIsSender] = (0, _react.useState)(true);
  const [show, setShow] = (0, _react.useState)(false);
  (0, _react.useImperativeHandle)(ref,
  // forwarded ref
  () => {
    return {
      updateData(data, order, orderType) {
        setData(data);
        setOrder(order);
        setIsSender(orderType !== 4);
      },
      present() {
        setShow(true);
      },
      dismiss() {
        setShow(false);
      }
    }; // the forwarded ref value
  }, []);
  const toChat = listUserId => {
    _AppStore.default.createConversation({
      vtm_user_ids: listUserId,
      order_number: order.ORDER_NUMBER,
      is_receiver: !isSender
    }, conversation => {
      // Navigation.pop('ChatScreen')
      _reactNativeNavigation.Navigation.push(props.componentId, {
        component: {
          id: 'ChatScreen',
          name: 'ChatScreen',
          options: {
            popGesture: false,
            bottomTabs: {
              visible: false
            },
            topBar: {
              visible: false,
              height: 0
            }
          },
          passProps: {
            data: conversation,
            order: order
          }
        }
      });
    }, error => alert(error));
  };
  const toChatGroup = () => {
    try {
      setShow(false);
      _AppStore.default.createConversation({
        order_number: order.ma_phieugui,
        chat_type: 'GROUP'
      }, conversation => {
        // Navigation.pop('ChatScreen')
        _reactNativeNavigation.Navigation.push(props.componentId, {
          component: {
            id: 'ChatScreen',
            name: 'ChatScreen',
            options: {
              popGesture: false,
              bottomTabs: {
                visible: false
              },
              topBar: {
                visible: false,
                height: 0
              }
            },
            passProps: {
              data: conversation,
              order: order
            }
          }
        });
      }, error => alert(error));
    } catch (e) {}
  };
  const getUserIdFromOrder = async order_code => {
    try {
      var _response$data;
      const response = await _services.default.create().getVTMCustomerByOrder({
        order_code
      });
      if ((_response$data = response.data) !== null && _response$data !== void 0 && _response$data.data) {
        var _response$data2, _response$data2$data;
        return (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : (_response$data2$data = _response$data2.data) === null || _response$data2$data === void 0 ? void 0 : _response$data2$data.cus_id;
      } else {
        return 0;
      }
    } catch (e) {
      return -1;
    }
  };
  const toChatWithCustomer = async (order_code, type) => {
    setShow(false);
    _AppStore.default.createConversation({
      order_number: order_code,
      chat_type: type
    }, conversation => {
      // Navigation.pop('ChatScreen')
      _reactNativeNavigation.Navigation.push(props.componentId, {
        component: {
          id: 'ChatScreen',
          name: 'ChatScreen',
          options: {
            popGesture: false,
            bottomTabs: {
              visible: false
            },
            topBar: {
              visible: false,
              height: 0
            }
          },
          passProps: {
            data: conversation,
            order: order
          }
        }
      });
    }, error => alert(error));
  };
  const toChatReceiver = () => {
    setShow(false);
    _AppStore.default.createConversationWithReceiver({
      order_number: order.ORDER_NUMBER,
      is_receiver: !isSender
    }, conversation => {
      // Navigation.pop('ChatScreen')
      _reactNativeNavigation.Navigation.push(props.componentId, {
        component: {
          id: 'ChatScreen',
          name: 'ChatScreen',
          options: {
            popGesture: false,
            bottomTabs: {
              visible: false
            },
            topBar: {
              visible: false,
              height: 0
            }
          },
          passProps: {
            data: conversation,
            order
          }
        }
      });
    }, error => alert(error));
  };
  const renderItem = (item, index) => {
    return /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
      onPress: () => {
        setShow(false);
        toChat([item.USERID]);
      },
      style: {
        flexDirection: 'row',
        backgroundColor: 'white',
        paddingVertical: 12,
        paddingHorizontal: 16
      }
    }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
      style: {
        height: 48,
        width: 48,
        resizeMode: 'center',
        marginRight: 12
      }
    }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
      style: {
        height: 48,
        width: 48,
        resizeMode: 'contain'
      },
      source: require('../../assets/avatar_default.png')
    })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
      style: {
        flex: 1
      }
    }, /*#__PURE__*/_react.default.createElement(_index.MText, {
      style: {
        fontSize: 17,
        fontWeight: '600',
        color: _Styles.default.primaryText
      }
    }, `Chat với bưu tá ${item.RECEIVER_POSTMAN === 1 ? 'giao' : 'lấy'}`), /*#__PURE__*/_react.default.createElement(_index.MText, {
      style: {
        fontSize: 15,
        fontWeight: '500',
        color: _Styles.default.neutralText,
        paddingTop: 4
      }
    }, item.LASTNAME + ' ' + item.FIRSTNAME)));
  };
  return /*#__PURE__*/_react.default.createElement(_reactNative.Modal, {
    visible: show,
    transparent: true,
    animationType: 'fade',
    ref: bottomSheetRef
  }, _AppStore.default.appId === 'VTPost' && /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
    style: {
      flex: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
    activeOpacity: 1,
    onPress: () => setShow(false),
    style: {
      flex: 1,
      justifyContent: 'flex-end',
      backgroundColor: '#00000059'
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      borderTopLeftRadius: 24,
      borderTopRightRadius: 24,
      overflow: 'hidden'
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
    activeOpacity: 1,
    onPress: () => setShow(false),
    style: {
      alignItems: 'flex-end',
      width: '100%',
      height: '100%',
      backgroundColor: '#00000059'
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
    onPress: toChatReceiver,
    style: {
      flexDirection: 'row',
      backgroundColor: 'white',
      paddingVertical: 12,
      paddingHorizontal: 16
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'center',
      marginRight: 12
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'contain'
    },
    source: require('../../assets/avatar_default_customer.png')
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      flex: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 17,
      fontWeight: '600',
      color: _Styles.default.primaryText
    }
  }, `Chat với người nhận`), /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 15,
      fontWeight: '500',
      color: _Styles.default.neutralText,
      paddingTop: 4
    }
  }, order.RECEIVER_FULLNAME))), data.length > 0 && /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      backgroundColor: 'white',
      height: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      backgroundColor: '#E5E5E5',
      height: 1,
      marginLeft: 76,
      marginRight: 16
    }
  })), /*#__PURE__*/_react.default.createElement(_bottomSheet.BottomSheetFlatList, {
    data: data,
    renderItem: _ref => {
      let {
        item,
        index
      } = _ref;
      return renderItem(item, index);
    },
    ItemSeparatorComponent: () => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
      style: {
        backgroundColor: 'white',
        height: 1
      }
    }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
      style: {
        backgroundColor: '#E5E5E5',
        height: 1,
        marginLeft: 76,
        marginRight: 16
      }
    }))
  }))))), _AppStore.default.appId === 'VTMan' && /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
    style: {
      flex: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
    activeOpacity: 1,
    onPress: () => setShow(false),
    style: {
      flex: 1,
      justifyContent: 'flex-end',
      backgroundColor: '#00000059'
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      borderTopLeftRadius: 24,
      borderTopRightRadius: 24,
      overflow: 'hidden'
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
    onPress: toChatGroup,
    style: {
      flexDirection: 'row',
      backgroundColor: 'white',
      paddingVertical: 12,
      paddingHorizontal: 16
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'center',
      marginRight: 12
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'contain'
    },
    source: require('../../assets/avatar_create_group.png')
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      flex: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 17,
      fontWeight: '600',
      color: _Styles.default.primaryText
    }
  }, `Chat nhóm`), /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 15,
      fontWeight: '500',
      color: _Styles.default.neutralText,
      paddingTop: 4
    }
  }, 'Tham gia của nhiều người'))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      backgroundColor: 'white',
      height: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      backgroundColor: '#E5E5E5',
      height: 1,
      marginLeft: 76,
      marginRight: 16
    }
  })), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
    onPress: () => {
      toChatWithCustomer(order.ma_phieugui, 'SENDER');
    },
    style: {
      flexDirection: 'row',
      backgroundColor: 'white',
      paddingVertical: 12,
      paddingHorizontal: 16
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'center',
      marginRight: 12
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'contain'
    },
    source: require('../../assets/avatar_default_customer.png')
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      flex: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 17,
      fontWeight: '600',
      color: _Styles.default.primaryText
    }
  }, `Chat với khách hàng gửi`), /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 15,
      fontWeight: '500',
      color: _Styles.default.neutralText,
      paddingTop: 4
    }
  }, order.ten_khgui))), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      backgroundColor: 'white',
      height: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      backgroundColor: '#E5E5E5',
      height: 1,
      marginLeft: 76,
      marginRight: 16
    }
  })), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
    onPress: () => {
      setShow(false);
      toChatWithCustomer(order.ma_phieugui, 'RECEIVER');
    },
    style: {
      flexDirection: 'row',
      backgroundColor: 'white',
      paddingVertical: 12,
      paddingHorizontal: 16
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'center',
      marginRight: 12
    }
  }, /*#__PURE__*/_react.default.createElement(_reactNative.Image, {
    style: {
      height: 48,
      width: 48,
      resizeMode: 'contain'
    },
    source: require('../../assets/avatar_default_customer.png')
  })), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
    style: {
      flex: 1
    }
  }, /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 17,
      fontWeight: '600',
      color: _Styles.default.primaryText
    }
  }, `Chat với khách hàng nhận`), /*#__PURE__*/_react.default.createElement(_index.MText, {
    style: {
      fontSize: 15,
      fontWeight: '500',
      color: _Styles.default.neutralText,
      paddingTop: 4
    }
  }, order.ten_khnhan)))))));
});
var _default = BottomSheetChatOptions;
exports.default = _default;
//# sourceMappingURL=index.js.map