Merge pull request #41777 from nextcloud/fix/comments-use-ncdatetime

enh(comments): Move from Moment.js to `NcDateTime`
This commit is contained in:
Ferdinand Thiessen 2023-11-28 02:53:11 +01:00 committed by GitHub
commit 2d9f38e0be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 20 additions and 47 deletions

View file

@ -64,7 +64,10 @@
<div v-if="id && loading" class="comment_loading icon-loading-small" />
<!-- Relative time to the comment creation -->
<Moment v-else-if="creationDateTime" class="comment__timestamp" :timestamp="timestamp" />
<NcDateTime v-else-if="creationDateTime"
class="comment__timestamp"
:timestamp="timestamp"
:ignore-seconds="true" />
</div>
<!-- Message editor -->
@ -112,17 +115,16 @@
<script>
import { getCurrentUser } from '@nextcloud/auth'
import { translate as t } from '@nextcloud/l10n'
import moment from '@nextcloud/moment'
import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
import NcActions from '@nextcloud/vue/dist/Components/NcActions.js'
import NcActionSeparator from '@nextcloud/vue/dist/Components/NcActionSeparator.js'
import NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
import NcDateTime from '@nextcloud/vue/dist/Components/NcDateTime.js'
import RichEditorMixin from '@nextcloud/vue/dist/Mixins/richEditor.js'
import ArrowRight from 'vue-material-design-icons/ArrowRight.vue'
import Moment from './Moment.vue'
import CommentMixin from '../mixins/CommentMixin.js'
// Dynamic loading
@ -132,13 +134,13 @@ export default {
name: 'Comment',
components: {
ArrowRight,
NcActionButton,
NcActions,
NcActionSeparator,
ArrowRight,
NcAvatar,
NcButton,
Moment,
NcDateTime,
NcRichContenteditable,
},
mixins: [RichEditorMixin, CommentMixin],
@ -217,9 +219,11 @@ export default {
return !this.localMessage || this.localMessage.trim() === ''
},
/**
* Timestamp of the creation time (in ms UNIX time)
*/
timestamp() {
// seconds, not milliseconds
return parseInt(moment(this.creationDateTime).format('x'), 10) / 1000
return Date.parse(this.creationDateTime)
},
},

View file

@ -1,31 +0,0 @@
<!-- TODO: Move to vue components -->
<template>
<span class="live-relative-timestamp" :data-timestamp="timestamp * 1000" :title="title">{{ formatted }}</span>
</template>
<script>
import moment from '@nextcloud/moment'
export default {
name: 'Moment',
props: {
timestamp: {
type: Number,
required: true,
},
format: {
type: String,
default: 'LLL',
},
},
computed: {
title() {
return moment.unix(this.timestamp).format(this.format)
},
formatted() {
return moment.unix(this.timestamp).fromNow()
},
},
}
</script>

4
dist/7255-7255.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long