show time on message hover

This commit is contained in:
supertiger1234 2020-02-19 14:56:09 +00:00
parent 14f9a27a47
commit f63603b8dc
3 changed files with 35 additions and 10 deletions

View file

@ -23,7 +23,7 @@
:creator="msg.creator" :creator="msg.creator"
:message="msg" :message="msg"
:isServer="isServer" :isServer="isServer"
:hideAditional="groupedMessages.includes(msg.messageID)" :hideAdditional="groupedMessages.includes(msg.messageID)"
/> />
<!-- {{ groupedMessages }} --> <!-- {{ groupedMessages }} -->
<uploadsQueue v-if="uploadQueue !== undefined" :queue="uploadQueue" /> <uploadsQueue v-if="uploadQueue !== undefined" :queue="uploadQueue" />

View file

@ -1,7 +1,7 @@
<template> <template>
<div <div
class="message-container container" class="message-container container"
:class="{ 'mentioned-message': isMentioned, hideAditional }" :class="{ 'mentioned-message': isMentioned, hideAdditional }"
@mouseover="mouseOverEvent" @mouseover="mouseOverEvent"
@mouseleave="hover = false" @mouseleave="hover = false"
> >
@ -16,9 +16,9 @@
apperance.own_message_right === true apperance.own_message_right === true
}" }"
> >
<div class="avatar"> <div class="small-time" v-if="hideAdditional" :title="getDate">{{ getTime }}</div>
<div class="avatar" v-if="!hideAdditional">
<profile-picture <profile-picture
v-if="!hideAditional"
:admin="creator.admin" :admin="creator.admin"
:url="`${userAvatar}${hover || !isGif ? '' : '?type=webp'}`" :url="`${userAvatar}${hover || !isGif ? '' : '?type=webp'}`"
size="50px" size="50px"
@ -27,19 +27,19 @@
/> />
</div> </div>
<div class="triangle"> <div class="triangle">
<div class="triangle-inner" v-if="!hideAditional" /> <div class="triangle-inner" v-if="!hideAdditional" />
</div> </div>
<div class="content" @dblclick="contentDoubleClickEvent"> <div class="content" @dblclick="contentDoubleClickEvent">
<div class="user-info"> <div class="user-info">
<div <div
v-if="!hideAditional" v-if="!hideAdditional"
class="username" class="username"
:style="{ color: loaded ? roleColor : null }" :style="{ color: loaded ? roleColor : null }"
@click="openUserInformation" @click="openUserInformation"
> >
{{ creator.username }} {{ creator.username }}
</div> </div>
<div class="date" v-if="!hideAditional">{{ getDate }}</div> <div class="date" v-if="!hideAdditional">{{ getDate }}</div>
<div <div
class="mentioned material-icons" class="mentioned material-icons"
v-if="isMentioned" v-if="isMentioned"
@ -147,14 +147,14 @@ import ProfilePicture from "@/components/ProfilePictureTemplate.vue";
import SimpleMarkdown from "./SimpleMarkdown.vue"; import SimpleMarkdown from "./SimpleMarkdown.vue";
import messageEmbedTemplate from "./messageEmbedTemplate"; import messageEmbedTemplate from "./messageEmbedTemplate";
import config from "@/config.js"; import config from "@/config.js";
import friendlyDate from "@/utils/date"; import friendlyDate, { time } from "@/utils/date";
import path from "path"; import path from "path";
import windowProperties from "@/utils/windowProperties"; import windowProperties from "@/utils/windowProperties";
import { mapState } from "vuex"; import { mapState } from "vuex";
export default { export default {
props: ["creator", "message", "isServer", "hideAditional"], props: ["creator", "message", "isServer", "hideAdditional"],
components: { components: {
ProfilePicture, ProfilePicture,
messageEmbedTemplate, messageEmbedTemplate,
@ -289,6 +289,12 @@ export default {
file.url = config.domain + "/files/" + file.fileID + "/" + file.fileName; file.url = config.domain + "/files/" + file.fileID + "/" + file.fileName;
return file; return file;
}, },
getTime() {
return time(
this.message.created,
this.apperance && this.apperance["12h_time"] ? "12h" : false
);
},
getDate() { getDate() {
return friendlyDate( return friendlyDate(
this.message.created, this.message.created,
@ -380,7 +386,22 @@ $message-color: rgba(0, 0, 0, 0.3);
position: relative; position: relative;
z-index: 1; z-index: 1;
} }
.hideAditional { .hideAdditional {
.small-time {
display: flex;
color: white;
width: 56px;
font-size: 13px;
align-self: center;
text-align: center;
justify-content: center;
flex-shrink: 0;
opacity: 0;
transition: 0.2s;
}
&:hover .small-time {
opacity: 0.8;
}
.content { .content {
border-radius: 4px; border-radius: 4px;
flex-direction: row; flex-direction: row;

View file

@ -13,6 +13,10 @@ export default (miliseconds, type) => {
return friendlyDate; return friendlyDate;
}; };
export function time(miliseconds, type) {
const messageDate = new Date(miliseconds);
return getFullTime(messageDate, type);
}
function sameDay(d1, d2) { function sameDay(d1, d2) {
return ( return (
d1.getFullYear() === d2.getFullYear() && d1.getFullYear() === d2.getFullYear() &&