1616 'text-left': message.to_id === loggedInUserId,
1717 'text-right': message.to_id !== loggedInUserId}"
1818 v-for =" (message, index) in messages" :key =" index" >
19- <div v-if =" displayDate( message.timestamp_ago) "
19+ <div v-if =" message.first_in_timespan "
2020 v-bind:class =" {'text-center': true, 'mx-auto': true, 'mt-8': index !== 0}" >
2121 <h1
2222 class =" text-xs font-light inline-block rounded-md bg-gray-200 px-2 py-1" >{{message.timestamp_ago}}</h1 >
5050</template >
5151
5252<script >
53+ /* eslint-disable no-param-reassign */
5354import ChatUser from ' @/components/app/matches/ChatUser.vue' ;
5455
5556export default {
@@ -66,6 +67,16 @@ export default {
6667 latestMessagesDate: null ,
6768 }),
6869 methods: {
70+ determineFirstMessagesOfTimespans (messages ) {
71+ const len = messages .length ;
72+ for (let i = 0 ; i < len; i += 1 ) {
73+ if (this .displayDate (messages[i].timestamp_ago )) {
74+ messages[i].first_in_timespan = true ;
75+ } else {
76+ messages[i].first_in_timespan = false ;
77+ }
78+ }
79+ },
6980 displayDate (messageAgo ) {
7081 if (messageAgo !== this .latestMessagesDate ) {
7182 this .latestMessagesDate = messageAgo;
@@ -111,6 +122,7 @@ export default {
111122 async prepareChatForNewUser () {
112123 const messagesRequest = await this .$http .get (` /conversations/${ this .chatWithUserId } ` );
113124 this .messages = messagesRequest .data .messages ;
125+ this .determineFirstMessagesOfTimespans (this .messages );
114126 const userRequest = await this .$http .get (` /users/${ this .chatWithUserId } ` );
115127 this .user = userRequest .data ;
116128 this .scrollChatToBottom ();
0 commit comments