MessageListBigIconCell.js 2.41 KB
'use strict';

import React, {Component} from 'react';
import ReactNative, {
    View,
    Text,
    Image,
    StyleSheet,
    Dimensions,
    Platform,
} from 'react-native';

import MessageListCellFooter from './MessageListCellFooter'

export default class MessageListBigIconCell extends Component {
    constructor(props) {
        super(props);
    }

    render() {
        let itemData = this.props.itemData;
        let body = itemData.get('body');
        let imageUri = body ? body.get('img_url', 'www.yohobuy.com') : 'www.yohobuy.com';
        let content = body ? body.get('content','') : '';
        imageUri = imageUri.replace('{width}', width).replace('{height}', 117).replace('{mode}',2);
        return(
            <View style={styles.container}>
                <View style={styles.titleContainer}>
                    <Text
                        numberOfLines={2}
                        style={styles.titleStyle}
                    >
                        {itemData.get('title')}
                    </Text>
                </View>
                <Image
                    style={styles.iconStyle}
                    source={{uri: imageUri}}
                />
                <View style={styles.descContainer}>
                    <Text
                        numberOfLines={2}
                        style={styles.detail}
                    >
                        {content}
                    </Text>
                </View>
                <MessageListCellFooter
                    onPressListItem={this.props.onPressListItem}
                    itemData={itemData}
                />
            </View>
        )
    }
}

let {width, height} = Dimensions.get('window');

let styles = StyleSheet.create({
    container: {
        flexDirection: 'column',
        width,
        backgroundColor: 'white'
    },
    titleContainer: {
    },
    titleStyle: {
        marginLeft: 15,
        marginTop: 13,
        marginBottom: 10,
        fontSize: 14,
        fontWeight: 'bold',
        color: '#444444',
        marginRight: 15,
    },
    iconStyle: {
        width,
        height: 117,
        backgroundColor: 'transparent'
    },
    descContainer: {
        flexDirection: 'column',
        justifyContent: 'center'
    },

    detail: {
        marginTop: 8,
        marginBottom: 15,
        marginLeft: 15,
        marginRight: 15,
        fontSize: 12,
        color: '#b0b0b0',
        textAlign: 'left'
    }
})