summaryrefslogtreecommitdiff
path: root/packages/frontend/src/components/MkNotification.vue
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-08 11:30:40 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-08 11:30:40 +0900
commit244ea9593a799348d2c36b6846df652ba3a3f1bc (patch)
treef2c0cd99423838e33551dd61069b358e9f5dd57d /packages/frontend/src/components/MkNotification.vue
parent13.0.0-beta.28 (diff)
downloadmisskey-244ea9593a799348d2c36b6846df652ba3a3f1bc.tar.gz
misskey-244ea9593a799348d2c36b6846df652ba3a3f1bc.tar.bz2
misskey-244ea9593a799348d2c36b6846df652ba3a3f1bc.zip
tweak components
Diffstat (limited to 'packages/frontend/src/components/MkNotification.vue')
-rw-r--r--packages/frontend/src/components/MkNotification.vue96
1 files changed, 50 insertions, 46 deletions
diff --git a/packages/frontend/src/components/MkNotification.vue b/packages/frontend/src/components/MkNotification.vue
index 2b9f9a2bb8..d5638813b4 100644
--- a/packages/frontend/src/components/MkNotification.vue
+++ b/packages/frontend/src/components/MkNotification.vue
@@ -1,6 +1,6 @@
<template>
<div ref="elRef" class="qglefbjs" :class="notification.type">
- <div class="head">
+ <div v-once class="head">
<MkAvatar v-if="notification.type === 'pollEnded'" class="icon" :user="notification.note.user"/>
<MkAvatar v-else-if="notification.user" class="icon" :user="notification.user"/>
<img v-else-if="notification.icon" class="icon" :src="notification.icon" alt=""/>
@@ -31,37 +31,39 @@
<span v-else>{{ notification.header }}</span>
<MkTime v-if="withTime" :time="notification.createdAt" class="time"/>
</header>
- <MkA v-if="notification.type === 'reaction'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
- <i class="ti ti-quote"></i>
- <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
- <i class="ti ti-quote"></i>
- </MkA>
- <MkA v-if="notification.type === 'renote'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note.renote)">
- <i class="ti ti-quote"></i>
- <Mfm :text="getNoteSummary(notification.note.renote)" :plain="true" :nowrap="!full"/>
- <i class="ti ti-quote"></i>
- </MkA>
- <MkA v-if="notification.type === 'reply'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
- <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
- </MkA>
- <MkA v-if="notification.type === 'mention'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
- <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
- </MkA>
- <MkA v-if="notification.type === 'quote'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
- <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
- </MkA>
- <MkA v-if="notification.type === 'pollEnded'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
- <i class="ti ti-quote"></i>
- <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
- <i class="ti ti-quote"></i>
- </MkA>
- <span v-if="notification.type === 'follow'" class="text" style="opacity: 0.6;">{{ i18n.ts.youGotNewFollower }}<div v-if="full"><MkFollowButton :user="notification.user" :full="true"/></div></span>
- <span v-if="notification.type === 'followRequestAccepted'" class="text" style="opacity: 0.6;">{{ i18n.ts.followRequestAccepted }}</span>
- <span v-if="notification.type === 'receiveFollowRequest'" class="text" style="opacity: 0.6;">{{ i18n.ts.receiveFollowRequest }}<div v-if="full && !followRequestDone"><button class="_textButton" @click="acceptFollowRequest()">{{ i18n.ts.accept }}</button> | <button class="_textButton" @click="rejectFollowRequest()">{{ i18n.ts.reject }}</button></div></span>
- <span v-if="notification.type === 'groupInvited'" class="text" style="opacity: 0.6;">{{ i18n.ts.groupInvited }}: <b>{{ notification.invitation.group.name }}</b><div v-if="full && !groupInviteDone"><button class="_textButton" @click="acceptGroupInvitation()">{{ i18n.ts.accept }}</button> | <button class="_textButton" @click="rejectGroupInvitation()">{{ i18n.ts.reject }}</button></div></span>
- <span v-if="notification.type === 'app'" class="text">
- <Mfm :text="notification.body" :nowrap="!full"/>
- </span>
+ <div v-once class="content">
+ <MkA v-if="notification.type === 'reaction'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
+ <i class="ti ti-quote"></i>
+ <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
+ <i class="ti ti-quote"></i>
+ </MkA>
+ <MkA v-else-if="notification.type === 'renote'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note.renote)">
+ <i class="ti ti-quote"></i>
+ <Mfm :text="getNoteSummary(notification.note.renote)" :plain="true" :nowrap="!full"/>
+ <i class="ti ti-quote"></i>
+ </MkA>
+ <MkA v-else-if="notification.type === 'reply'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
+ <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
+ </MkA>
+ <MkA v-else-if="notification.type === 'mention'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
+ <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
+ </MkA>
+ <MkA v-else-if="notification.type === 'quote'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
+ <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
+ </MkA>
+ <MkA v-else-if="notification.type === 'pollEnded'" class="text" :to="notePage(notification.note)" :title="getNoteSummary(notification.note)">
+ <i class="ti ti-quote"></i>
+ <Mfm :text="getNoteSummary(notification.note)" :plain="true" :nowrap="!full"/>
+ <i class="ti ti-quote"></i>
+ </MkA>
+ <span v-else-if="notification.type === 'follow'" class="text" style="opacity: 0.6;">{{ i18n.ts.youGotNewFollower }}<div v-if="full"><MkFollowButton :user="notification.user" :full="true"/></div></span>
+ <span v-else-if="notification.type === 'followRequestAccepted'" class="text" style="opacity: 0.6;">{{ i18n.ts.followRequestAccepted }}</span>
+ <span v-else-if="notification.type === 'receiveFollowRequest'" class="text" style="opacity: 0.6;">{{ i18n.ts.receiveFollowRequest }}<div v-if="full && !followRequestDone"><button class="_textButton" @click="acceptFollowRequest()">{{ i18n.ts.accept }}</button> | <button class="_textButton" @click="rejectFollowRequest()">{{ i18n.ts.reject }}</button></div></span>
+ <span v-else-if="notification.type === 'groupInvited'" class="text" style="opacity: 0.6;">{{ i18n.ts.groupInvited }}: <b>{{ notification.invitation.group.name }}</b><div v-if="full && !groupInviteDone"><button class="_textButton" @click="acceptGroupInvitation()">{{ i18n.ts.accept }}</button> | <button class="_textButton" @click="rejectGroupInvitation()">{{ i18n.ts.reject }}</button></div></span>
+ <span v-else-if="notification.type === 'app'" class="text">
+ <Mfm :text="notification.body" :nowrap="!full"/>
+ </span>
+ </div>
</div>
</div>
</template>
@@ -263,23 +265,25 @@ useTooltip(reactionRef, (showing) => {
}
}
- > .text {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
+ > .content {
+ > .text {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
- > i {
- vertical-align: super;
- font-size: 50%;
- opacity: 0.5;
- }
+ > i {
+ vertical-align: super;
+ font-size: 50%;
+ opacity: 0.5;
+ }
- > i:first-child {
- margin-right: 4px;
- }
+ > i:first-child {
+ margin-right: 4px;
+ }
- > i:last-child {
- margin-left: 4px;
+ > i:last-child {
+ margin-left: 4px;
+ }
}
}
}