import React from 'react'; import { View, StyleSheet, Text } from 'react-native'; import PropTypes from 'prop-types'; import moment from 'moment'; import I18n from '../../i18n'; const styles = StyleSheet.create({ container: { flex: 1, flexDirection: 'row', alignItems: 'center', marginBottom: 25, marginTop: 15, transform: [{ scaleY: -1 }] }, line: { backgroundColor: '#9ea2a8', height: 1, flex: 1 }, text: { color: '#9ea2a8', fontSize: 14, fontWeight: '600' }, unreadLine: { backgroundColor: '#f5455c' }, unreadText: { color: '#f5455c' }, marginLeft: { marginLeft: 10 }, marginRight: { marginRight: 10 }, marginHorizontal: { marginHorizontal: 10 } }); const DateSeparator = ({ ts, unread }) => { const date = ts ? moment(ts).format('MMM DD, YYYY') : null; if (ts && unread) { return ( <View style={styles.container}> <Text style={[styles.text, styles.unreadText, styles.marginLeft]}>{date}</Text> <View style={[styles.line, styles.unreadLine, styles.marginHorizontal]} /> <Text style={[styles.text, styles.unreadText, styles.marginRight]}>{I18n.t('unread_messages')}</Text> </View> ); } if (ts) { return ( <View style={styles.container}> <View style={[styles.line, styles.marginLeft]} /> <Text style={[styles.text, styles.marginHorizontal]}>{date}</Text> <View style={[styles.line, styles.marginRight]} /> </View> ); } return ( <View style={styles.container}> <View style={[styles.line, styles.unreadLine, styles.marginLeft]} /> <Text style={[styles.text, styles.unreadText, styles.marginHorizontal]}>{I18n.t('unread_messages')}</Text> <View style={[styles.line, styles.unreadLine, styles.marginRight]} /> </View> ); }; DateSeparator.propTypes = { ts: PropTypes.instanceOf(Date), unread: PropTypes.bool }; export default DateSeparator;