Refactor
This commit is contained in:
@ -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) {
|
||||
|
@ -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;
|
||||
},
|
||||
|
@ -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', {
|
||||
|
@ -1,2 +1,4 @@
|
||||
require('./bytes');
|
||||
require('./number');
|
||||
require('./user');
|
||||
require('./note');
|
||||
|
5
src/client/app/common/views/filters/note.ts
Normal file
5
src/client/app/common/views/filters/note.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import Vue from 'vue';
|
||||
|
||||
Vue.filter('notePage', note => {
|
||||
return '/notes/' + note.id;
|
||||
});
|
15
src/client/app/common/views/filters/user.ts
Normal file
15
src/client/app/common/views/filters/user.ts
Normal 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);
|
||||
});
|
Reference in New Issue
Block a user