Skip to content

Commit a125c2f

Browse files
committed
use NcUserBubble
Signed-off-by: samin-z <samin.zavarkesh@gmail.com>
1 parent e8fe0a2 commit a125c2f

1 file changed

Lines changed: 27 additions & 32 deletions

File tree

src/components/card/CardSidebar.vue

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
ref="cardSidebar"
99
:active="tabId"
1010
:name="displayTitle"
11-
:subname="subtitle"
1211
:subtitle="subtitleTooltip"
1312
:name-editable.sync="isEditingTitle"
1413
@update:name="(value) => titleEditing = value"
@@ -17,6 +16,13 @@
1716
@submit-name="handleSubmitTitle"
1817
@opened="focusHeader"
1918
@close="closeSidebar">
19+
<template #subname>
20+
<span>{{ subtitle }}</span>
21+
<template v-if="cardOwner">
22+
<span> ⸱ </span>
23+
<NcUserBubble :user="cardOwner.uid" :display-name="cardOwner.displayName" />
24+
</template>
25+
</template>
2026
<template #secondary-actions>
2127
<NcActionButton v-if="cardDetailsInModal && isFullApp" icon="icon-menu-sidebar" @click.stop="closeModal()">
2228
{{ t('deck', 'Open in sidebar view') }}
@@ -75,7 +81,7 @@
7581
</template>
7682

7783
<script>
78-
import { NcActionButton, NcAppSidebar, NcAppSidebarTab } from '@nextcloud/vue'
84+
import { NcActionButton, NcAppSidebar, NcAppSidebarTab, NcUserBubble } from '@nextcloud/vue'
7985
import { NcReferenceList } from '@nextcloud/vue/dist/Components/NcRichText.js'
8086
import { getCapabilities } from '@nextcloud/capabilities'
8187
import { mapState, mapGetters } from 'vuex'
@@ -116,6 +122,7 @@ export default {
116122
HomeIcon,
117123
HomeOutlineIcon,
118124
CardMenuEntries,
125+
NcUserBubble,
119126
},
120127
mixins: [relativeDate],
121128
props: {
@@ -156,11 +163,27 @@ export default {
156163
cardOwnerDisplayName() {
157164
return this.currentCard.owner?.displayname ?? this.currentCard.owner?.uid ?? this.currentCard.owner ?? null
158165
},
166+
cardOwner() {
167+
const owner = this.currentCard.owner
168+
if (!owner) return null
169+
return {
170+
uid: owner?.uid ?? (typeof owner === 'string' ? owner : null),
171+
displayName: this.cardOwnerDisplayName,
172+
}
173+
},
159174
subtitle() {
160-
return this.buildSubtitle()
175+
const modifiedDate = this.relativeDate(this.currentCard.lastModified * 1000)
176+
const createdDate = this.relativeDate(this.currentCard.createdAt * 1000)
177+
return t('deck', 'Modified: {modifiedDate} ⸱ Created: {createdDate}', { modifiedDate, createdDate })
161178
},
162179
subtitleTooltip() {
163-
return this.buildSubtitleTooltip()
180+
const modifiedDate = this.formatDate(this.currentCard.lastModified)
181+
const createdDate = this.formatDate(this.currentCard.createdAt)
182+
const owner = this.cardOwnerDisplayName
183+
if (owner) {
184+
return t('deck', 'Modified: {modifiedDate}\nCreated: {createdDate}\nCreated by: {owner}', { modifiedDate, createdDate, owner })
185+
}
186+
return t('deck', 'Modified: {modifiedDate}\nCreated: {createdDate}', { modifiedDate, createdDate })
164187
},
165188
cardDetailsInModal: {
166189
get() {
@@ -193,34 +216,6 @@ export default {
193216
},
194217
},
195218
methods: {
196-
buildSubtitle() {
197-
const modifiedDate = this.relativeDate(this.currentCard.lastModified * 1000)
198-
const createdDate = this.relativeDate(this.currentCard.createdAt * 1000)
199-
const owner = this.cardOwnerDisplayName
200-
const cardMeta = {
201-
generic: t('deck', '{modified}: {modifiedDate} ⸱ {created}: {createdDate}',
202-
{ modified: t('deck', 'Modified'), modifiedDate, created: t('deck', 'Created'), createdDate },
203-
undefined, { escape: false }),
204-
withOwner: t('deck', '{modified}: {modifiedDate} ⸱ {created}: {createdDate} ⸱ {by}: {owner}',
205-
{ modified: t('deck', 'Modified'), modifiedDate, created: t('deck', 'Created'), createdDate, by: t('deck', 'by'), owner },
206-
undefined, { escape: false }),
207-
}
208-
return owner ? cardMeta.withOwner : cardMeta.generic
209-
},
210-
buildSubtitleTooltip() {
211-
const modifiedDate = this.formatDate(this.currentCard.lastModified)
212-
const createdDate = this.formatDate(this.currentCard.createdAt)
213-
const owner = this.cardOwnerDisplayName
214-
const cardMeta = {
215-
generic: t('deck', '{modified}: {modifiedDate}\n{created}: {createdDate}',
216-
{ modified: t('deck', 'Modified'), modifiedDate, created: t('deck', 'Created'), createdDate },
217-
undefined, { escape: false }),
218-
withOwner: t('deck', '{modified}: {modifiedDate}\n{created}: {createdDate}\n{by}: {owner}',
219-
{ modified: t('deck', 'Modified'), modifiedDate, created: t('deck', 'Created'), createdDate, by: t('deck', 'by'), owner },
220-
undefined, { escape: false }),
221-
}
222-
return owner ? cardMeta.withOwner : cardMeta.generic
223-
},
224219
focusHeader() {
225220
this.$nextTick(() => {
226221
this.$refs?.cardSidebar.$el.querySelector('.app-sidebar-header__mainname')?.focus()

0 commit comments

Comments
 (0)