Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2019-11-11 15:43:24 +0300
committerJoas Schilling <coding@schilljs.com>2019-11-11 15:43:38 +0300
commit96a16df5893bfbb83742b3286074bb826d59c067 (patch)
treeba08aab0785dd81fdd7bddbd6ff0d811cee07110 /src/components/MessagesList/MessagesGroup/MessagesGroup.vue
parentbc6c1fb8f74a35b71353c6c6da88b7a5fa6e82a2 (diff)
Add a date separator between messages
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'src/components/MessagesList/MessagesGroup/MessagesGroup.vue')
-rw-r--r--src/components/MessagesList/MessagesGroup/MessagesGroup.vue71
1 files changed, 55 insertions, 16 deletions
diff --git a/src/components/MessagesList/MessagesGroup/MessagesGroup.vue b/src/components/MessagesList/MessagesGroup/MessagesGroup.vue
index c417a7386..bece94b1f 100644
--- a/src/components/MessagesList/MessagesGroup/MessagesGroup.vue
+++ b/src/components/MessagesList/MessagesGroup/MessagesGroup.vue
@@ -20,22 +20,27 @@
-->
<template>
- <div class="wrapper">
- <div class="messages__avatar">
- <AuthorAvatar v-if="!isSystemMessage"
- :author-type="actorType"
- :author-id="actorId"
- :display-name="actorDisplayName" />
+ <div class="message-group">
+ <div v-if="dateSeparator" class="message-group__date-header">
+ <span class="date">{{ dateSeparator }}</span>
</div>
- <div class="messages">
- <Message
- v-for="(message, index) of messages"
- :key="message.id"
- v-bind="message"
- :is-first-message="index === 0"
- :actor-display-name="actorDisplayName"
- :show-author="!isSystemMessage"
- :is-temporary="message.timestamp === 0" />
+ <div class="wrapper">
+ <div class="messages__avatar">
+ <AuthorAvatar v-if="!isSystemMessage"
+ :author-type="actorType"
+ :author-id="actorId"
+ :display-name="actorDisplayName" />
+ </div>
+ <div class="messages">
+ <Message
+ v-for="(message, index) of messages"
+ :key="message.id"
+ v-bind="message"
+ :is-first-message="index === 0"
+ :actor-display-name="actorDisplayName"
+ :show-author="!isSystemMessage"
+ :is-temporary="message.timestamp === 0" />
+ </div>
</div>
</div>
</template>
@@ -55,7 +60,7 @@ export default {
* The message id.
*/
id: {
- type: Number,
+ type: [String, Number],
required: true,
},
/**
@@ -90,6 +95,13 @@ export default {
return this.messages[0].actorId
},
/**
+ * The message date.
+ * @returns {string}
+ */
+ dateSeparator() {
+ return this.messages[0].dateSeparator || ''
+ },
+ /**
* The message actor display name.
* @returns {string}
*/
@@ -120,6 +132,33 @@ export default {
<style lang="scss" scoped>
@import '../../../assets/variables';
+.message-group {
+ &__date-header {
+ display: block;
+ text-align: center;
+
+ margin: 40px 15px 0;
+ border-top: 1px solid var(--color-border);
+ padding-top: 20px;
+ position: relative;
+
+ .date {
+ content: attr(data-date);
+ position: absolute;
+ top: 0;
+ left: 50%;
+ transform: translateX(-50%) translateY(-50%);
+ padding: 0 7px 0 7px;
+
+ text-align: center;
+ white-space: nowrap;
+
+ color: var(--color-text-maxcontrast);
+ background-color: var(--color-main-background);
+ }
+ }
+}
+
.wrapper {
max-width: $message-max-width;
display: flex;