react-native-awesome-medialib
Version:
A useful media selector module base on native component
102 lines (89 loc) • 2.96 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.PhotoPreviewPage = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _reactNativeFastImage = _interopRequireDefault(require("react-native-fast-image"));
var _NativeCameraBridge = require("../bridge/NativeCameraBridge");
var _CameraHeader = _interopRequireDefault(require("../components/basic/CameraHeader"));
var _Colors = require("../utils/Colors");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const windowWidth = _reactNative.Dimensions.get('window').width;
const PhotoPreviewPage = props => {
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: styles.container
}, /*#__PURE__*/_react.default.createElement(_reactNative.StatusBar, {
backgroundColor: _Colors.black,
barStyle: "light-content"
}), /*#__PURE__*/_react.default.createElement(_CameraHeader.default, {
onPress: () => props.navigator.pop()
}), /*#__PURE__*/_react.default.createElement(_reactNativeFastImage.default, {
source: {
uri: props.url
},
style: {
width: windowWidth,
height: windowWidth * props.scale
}
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: styles.bottomContainer
}, /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
onPress: () => {
(0, _NativeCameraBridge.deletePhoto)(props.url);
props.navigator.pop();
},
style: [styles.buttonIcon, styles.buttonLeft]
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
style: styles.photobuttonText
}, "\u91CD\u62CD")), /*#__PURE__*/_react.default.createElement(_reactNative.TouchableOpacity, {
onPress: async () => {
await (0, _NativeCameraBridge.saveImage)(props.url); // 保存图片到本地相册
props.navigator.popPages(2);
},
style: [styles.buttonIcon, styles.buttonRight]
}, /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
style: styles.photobuttonText
}, "\u786E\u5B9A"))));
};
exports.PhotoPreviewPage = PhotoPreviewPage;
PhotoPreviewPage.navigationItem = {
hideNavigationBar: true
};
const styles = _reactNative.StyleSheet.create({
container: {
flex: 1,
backgroundColor: _Colors.black,
justifyContent: 'space-between'
},
bottomContainer: {
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
height: 72,
width: '100%',
marginBottom: 20
},
buttonIcon: {
justifyContent: 'space-between',
alignItems: 'center',
height: 40,
width: 40
},
buttonLeft: {
marginLeft: 40
},
buttonRight: {
marginRight: 40
},
takePhotoIcon: {
height: 72,
width: 72
},
photobuttonText: {
color: _Colors.white,
fontSize: 18
}
});
//# sourceMappingURL=PhotoPreviewPage.js.map