You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
904 B
TypeScript
35 lines
904 B
TypeScript
import moment from 'moment';
|
|
import React from 'react';
|
|
import styled from 'styled-components';
|
|
|
|
const DateBreakContainer = styled.div``;
|
|
|
|
const DateBreakText = styled.div`
|
|
margin-top: 0.3rem;
|
|
margin-bottom: 0.3rem;
|
|
letter-spacing: 0.6px;
|
|
font-size: 0.8rem;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
|
|
color: ${props => props.theme.colors.lastSeenIndicatorTextColor};
|
|
`;
|
|
|
|
export const MessageDateBreak = (props: { timestamp: number; messageId: string }) => {
|
|
const { timestamp, messageId } = props;
|
|
const text = moment(timestamp).calendar(undefined, {
|
|
lastDay: '[Yesterday at] LT',
|
|
sameDay: '[Today at] LT',
|
|
nextDay: '[Tomorrow at] LT',
|
|
lastWeek: '[last] dddd [at] LT',
|
|
nextWeek: 'dddd [at] LT',
|
|
sameElse: 'llll',
|
|
});
|
|
|
|
return (
|
|
<DateBreakContainer id={`date-break-${messageId}`}>
|
|
<DateBreakText>{text}</DateBreakText>
|
|
</DateBreakContainer>
|
|
);
|
|
};
|