This commit is contained in:
syuilo
2018-04-09 18:52:29 +09:00
parent 2a5016865a
commit 98fe9c39eb
57 changed files with 2846 additions and 422 deletions

View File

@ -3,8 +3,8 @@
<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">{{ getUserName(user) }}</span>
<span class="username">@{{ getAcct(user) }}</span>
<span class="name">{{ user | userName }}</span>
<span class="username">@{{ user | acct }}</span>
</li>
</ol>
<ol class="emojis" ref="suggests" v-if="emojis.length > 0">
@ -21,17 +21,17 @@
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';
});
const emjdb = lib.map((x: any) => ({
emoji: x[1].char,
name: x[0],
alias: null
}));
lib.forEach((x: any) => {
if (x[1].keywords) {
x[1].keywords.forEach(k => {
@ -43,6 +43,7 @@ lib.forEach((x: any) => {
});
}
});
emjdb.sort((a, b) => a.name.length - b.name.length);
export default Vue.extend({
@ -107,8 +108,6 @@ export default Vue.extend({
});
},
methods: {
getAcct,
getUserName,
exec() {
this.select = -1;
if (this.$refs.suggests) {

View File

@ -14,8 +14,8 @@
tabindex="-1"
>
<img class="avatar" :src="`${user.avatarUrl}?thumbnail&size=32`" alt=""/>
<span class="name">{{ getUserName(user) }}</span>
<span class="username">@{{ getAcct(user) }}</span>
<span class="name">{{ user | userName }}</span>
<span class="username">@{{ user | acct }}</span>
</li>
</ol>
</div>
@ -33,8 +33,8 @@
<div>
<img class="avatar" :src="`${isMe(message) ? message.recipient.avatarUrl : message.user.avatarUrl}?thumbnail&size=64`" alt=""/>
<header>
<span class="name">{{ getUserName(isMe(message) ? message.recipient : message.user) }}</span>
<span class="username">@{{ getAcct(isMe(message) ? message.recipient : message.user) }}</span>
<span class="name">{{ isMe(message) ? message.recipient : message.use | userName }}</span>
<span class="username">@{{ isMe(message) ? message.recipient : message.user | acct }}</span>
<mk-time :time="message.createdAt"/>
</header>
<div class="body">
@ -51,8 +51,6 @@
<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,8 +92,6 @@ export default Vue.extend({
(this as any).os.streams.messagingIndexStream.dispose(this.connectionId);
},
methods: {
getAcct,
getUserName,
isMe(message) {
return message.userId == (this as any).os.i.id;
},

View File

@ -1,13 +1,13 @@
<template>
<div class="mk-welcome-timeline">
<div v-for="note in notes">
<router-link class="avatar-anchor" :to="`/@${getAcct(note.user)}`" v-user-preview="note.user.id">
<router-link class="avatar-anchor" :to="note.user | userPage" v-user-preview="note.user.id">
<img class="avatar" :src="`${note.user.avatarUrl}?thumbnail&size=96`" alt="avatar"/>
</router-link>
<div class="body">
<header>
<router-link class="name" :to="`/@${getAcct(note.user)}`" v-user-preview="note.user.id">{{ getUserName(note.user) }}</router-link>
<span class="username">@{{ getAcct(note.user) }}</span>
<router-link class="name" :to="note.user | userPage" v-user-preview="note.user.id">{{ note.user | userName }}</router-link>
<span class="username">@{{ note.user | acct }}</span>
<div class="info">
<router-link class="created-at" :to="`/@${getAcct(note.user)}/${note.id}`">
<mk-time :time="note.createdAt"/>
@ -24,8 +24,6 @@
<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,8 +36,6 @@ export default Vue.extend({
this.fetch();
},
methods: {
getAcct,
getUserName,
fetch(cb?) {
this.fetching = true;
(this as any).api('notes', {

View File

@ -1,2 +1,4 @@
require('./bytes');
require('./number');
require('./user');
require('./note');

View File

@ -0,0 +1,5 @@
import Vue from 'vue';
Vue.filter('notePage', note => {
return '/notes/' + note.id;
});

View File

@ -0,0 +1,15 @@
import Vue from 'vue';
import getAcct from '../../../../../acct/render';
import getUserName from '../../../../../renderers/get-user-name';
Vue.filter('acct', user => {
return getAcct(user);
});
Vue.filter('userName', user => {
return getUserName(user);
});
Vue.filter('userPage', user => {
return '/@' + Vue.filter('acct')(user);
});