Allow name property of user to be null

This commit is contained in:
Akihiko Odaki
2018-04-06 01:36:34 +09:00
parent 46e8fd44c1
commit f0e8e6392b
52 changed files with 311 additions and 107 deletions

View File

@ -1,5 +1,6 @@
import getPostSummary from '../../../../renderers/get-post-summary';
import getReactionEmoji from '../../../../renderers/get-reaction-emoji';
import getUserName from '../../../../renderers/get-user-name';
type Notification = {
title: string;
@ -21,35 +22,35 @@ export default function(type, data): Notification {
case 'mention':
return {
title: `${data.user.name}さんから:`,
title: `${getUserName(data.user)}さんから:`,
body: getPostSummary(data),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
case 'reply':
return {
title: `${data.user.name}さんから返信:`,
title: `${getUserName(data.user)}さんから返信:`,
body: getPostSummary(data),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
case 'quote':
return {
title: `${data.user.name}さんが引用:`,
title: `${getUserName(data.user)}さんが引用:`,
body: getPostSummary(data),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
case 'reaction':
return {
title: `${data.user.name}: ${getReactionEmoji(data.reaction)}:`,
title: `${getUserName(data.user)}: ${getReactionEmoji(data.reaction)}:`,
body: getPostSummary(data.post),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
case 'unread_messaging_message':
return {
title: `${data.user.name}さんからメッセージ:`,
title: `${getUserName(data.user)}さんからメッセージ:`,
body: data.text, // TODO: getMessagingMessageSummary(data),
icon: data.user.avatarUrl + '?thumbnail&size=64'
};
@ -57,7 +58,7 @@ export default function(type, data): Notification {
case 'othello_invited':
return {
title: '対局への招待があります',
body: `${data.parent.name}さんから`,
body: `${getUserName(data.parent)}さんから`,
icon: data.parent.avatarUrl + '?thumbnail&size=64'
};

View File

@ -3,7 +3,7 @@
<ol class="users" ref="suggests" v-if="users.length > 0">
<li v-for="user in users" @click="complete(type, user)" @keydown="onKeydown" tabindex="-1">
<img class="avatar" :src="`${user.avatarUrl}?thumbnail&size=32`" alt=""/>
<span class="name">{{ user.name }}</span>
<span class="name">{{ getUserName(user) }}</span>
<span class="username">@{{ getAcct(user) }}</span>
</li>
</ol>
@ -22,6 +22,7 @@ import Vue from 'vue';
import * as emojilib from 'emojilib';
import contains from '../../../common/scripts/contains';
import getAcct from '../../../../../acct/render';
import getUserName from '../../../../../renderers/get-user-name';
const lib = Object.entries(emojilib.lib).filter((x: any) => {
return x[1].category != 'flags';
@ -107,6 +108,7 @@ export default Vue.extend({
},
methods: {
getAcct,
getUserName,
exec() {
this.select = -1;
if (this.$refs.suggests) {

View File

@ -14,7 +14,7 @@
tabindex="-1"
>
<img class="avatar" :src="`${user.avatarUrl}?thumbnail&size=32`" alt=""/>
<span class="name">{{ user.name }}</span>
<span class="name">{{ getUserName(user) }}</span>
<span class="username">@{{ getAcct(user) }}</span>
</li>
</ol>
@ -33,7 +33,7 @@
<div>
<img class="avatar" :src="`${isMe(message) ? message.recipient.avatarUrl : message.user.avatarUrl}?thumbnail&size=64`" alt=""/>
<header>
<span class="name">{{ isMe(message) ? message.recipient.name : message.user.name }}</span>
<span class="name">{{ getUserName(isMe(message) ? message.recipient : message.user) }}</span>
<span class="username">@{{ getAcct(isMe(message) ? message.recipient : message.user) }}</span>
<mk-time :time="message.createdAt"/>
</header>
@ -52,6 +52,7 @@
<script lang="ts">
import Vue from 'vue';
import getAcct from '../../../../../acct/render';
import getUserName from '../../../../../renderers/get-user-name';
export default Vue.extend({
props: {
@ -94,6 +95,7 @@ export default Vue.extend({
},
methods: {
getAcct,
getUserName,
isMe(message) {
return message.userId == (this as any).os.i.id;
},

View File

@ -6,7 +6,7 @@
</router-link>
<div class="body">
<header>
<router-link class="name" :to="`/@${getAcct(post.user)}`" v-user-preview="post.user.id">{{ post.user.name }}</router-link>
<router-link class="name" :to="`/@${getAcct(post.user)}`" v-user-preview="post.user.id">{{ getUserName(post.user) }}</router-link>
<span class="username">@{{ getAcct(post.user) }}</span>
<div class="info">
<router-link class="created-at" :to="`/@${getAcct(post.user)}/${post.id}`">
@ -25,6 +25,7 @@
<script lang="ts">
import Vue from 'vue';
import getAcct from '../../../../../acct/render';
import getUserName from '../../../../../renderers/get-user-name';
export default Vue.extend({
data() {
@ -38,6 +39,7 @@ export default Vue.extend({
},
methods: {
getAcct,
getUserName,
fetch(cb?) {
this.fetching = true;
(this as any).api('posts', {