This commit is contained in:
syuilo
2018-04-15 01:04:40 +09:00
parent a2f4ed0f09
commit 554570cb09
96 changed files with 398 additions and 384 deletions

View File

@@ -2,7 +2,7 @@
<div class="mk-drive-file-chooser">
<div class="body">
<header>
<h1>%i18n:mobile.tags.mk-drive-selector.select-file%<span class="count" v-if="files.length > 0">({{ files.length }})</span></h1>
<h1>%i18n:@select-file%<span class="count" v-if="files.length > 0">({{ files.length }})</span></h1>
<button class="close" @click="cancel">%fa:times%</button>
<button v-if="multiple" class="ok" @click="ok">%fa:check%</button>
</header>

View File

@@ -2,7 +2,7 @@
<div class="mk-drive-folder-chooser">
<div class="body">
<header>
<h1>%i18n:mobile.tags.mk-drive-folder-selector.select-folder%</h1>
<h1>%i18n:@select-folder%</h1>
<button class="close" @click="cancel">%fa:times%</button>
<button class="ok" @click="ok">%fa:check%</button>
</header>

View File

@@ -35,20 +35,20 @@
<div class="menu">
<div>
<a :href="`${file.url}?download`" :download="file.name">
%fa:download%%i18n:mobile.tags.mk-drive-file-viewer.download%
%fa:download%%i18n:@download%
</a>
<button @click="rename">
%fa:pencil-alt%%i18n:mobile.tags.mk-drive-file-viewer.rename%
%fa:pencil-alt%%i18n:@rename%
</button>
<button @click="move">
%fa:R folder-open%%i18n:mobile.tags.mk-drive-file-viewer.move%
%fa:R folder-open%%i18n:@move%
</button>
</div>
</div>
<div class="exif" v-show="exif">
<div>
<p>
%fa:camera%%i18n:mobile.tags.mk-drive-file-viewer.exif%
%fa:camera%%i18n:@exif%
</p>
<pre ref="exif" class="json">{{ exif ? JSON.stringify(exif, null, 2) : '' }}</pre>
</div>
@@ -56,7 +56,7 @@
<div class="hash">
<div>
<p>
%fa:hashtag%%i18n:mobile.tags.mk-drive-file-viewer.hash%
%fa:hashtag%%i18n:@hash%
</p>
<code>{{ file.md5 }}</code>
</div>

View File

@@ -1,7 +1,7 @@
<template>
<div class="mk-drive">
<nav ref="nav">
<a @click.prevent="goRoot()" href="/i/drive">%fa:cloud%%i18n:mobile.tags.mk-drive.drive%</a>
<a @click.prevent="goRoot()" href="/i/drive">%fa:cloud%%i18n:@drive%</a>
<template v-for="folder in hierarchyFolders">
<span :key="folder.id + '>'">%fa:angle-right%</span>
<a :key="folder.id" @click.prevent="cd(folder)" :href="`/i/drive/folder/${folder.id}`">{{ folder.name }}</a>
@@ -18,26 +18,26 @@
<mk-uploader ref="uploader"/>
<div class="browser" :class="{ fetching }" v-if="file == null">
<div class="info" v-if="info">
<p v-if="folder == null">{{ (info.usage / info.capacity * 100).toFixed(1) }}% %i18n:mobile.tags.mk-drive.used%</p>
<p v-if="folder == null">{{ (info.usage / info.capacity * 100).toFixed(1) }}% %i18n:@used%</p>
<p v-if="folder != null && (folder.foldersCount > 0 || folder.filesCount > 0)">
<template v-if="folder.foldersCount > 0">{{ folder.foldersCount }} %i18n:mobile.tags.mk-drive.folder-count%</template>
<template v-if="folder.foldersCount > 0 && folder.filesCount > 0">%i18n:mobile.tags.mk-drive.count-separator%</template>
<template v-if="folder.filesCount > 0">{{ folder.filesCount }} %i18n:mobile.tags.mk-drive.file-count%</template>
<template v-if="folder.foldersCount > 0">{{ folder.foldersCount }} %i18n:@folder-count%</template>
<template v-if="folder.foldersCount > 0 && folder.filesCount > 0">%i18n:@count-separator%</template>
<template v-if="folder.filesCount > 0">{{ folder.filesCount }} %i18n:@file-count%</template>
</p>
</div>
<div class="folders" v-if="folders.length > 0">
<x-folder v-for="folder in folders" :key="folder.id" :folder="folder"/>
<p v-if="moreFolders">%i18n:mobile.tags.mk-drive.load-more%</p>
<p v-if="moreFolders">%i18n:@load-more%</p>
</div>
<div class="files" v-if="files.length > 0">
<x-file v-for="file in files" :key="file.id" :file="file"/>
<button class="more" v-if="moreFiles" @click="fetchMoreFiles">
{{ fetchingMoreFiles ? '%i18n:common.loading%' : '%i18n:mobile.tags.mk-drive.load-more%' }}
{{ fetchingMoreFiles ? '%i18n:common.loading%' : '%i18n:@load-more%' }}
</button>
</div>
<div class="empty" v-if="files.length == 0 && folders.length == 0 && !fetching">
<p v-if="folder == null">%i18n:mobile.tags.mk-drive.nothing-in-drive%</p>
<p v-if="folder != null">%i18n:mobile.tags.mk-drive.folder-is-empty%</p>
<p v-if="folder == null">%i18n:@nothing-in-drive%</p>
<p v-if="folder != null">%i18n:@folder-is-empty%</p>
</div>
</div>
<div class="fetching" v-if="fetching && file == null && files.length == 0 && folders.length == 0">

View File

@@ -7,7 +7,7 @@
<template v-if="!wait && user.isFollowing">%fa:minus%</template>
<template v-if="!wait && !user.isFollowing">%fa:plus%</template>
<template v-if="wait">%fa:spinner .pulse .fw%</template>
{{ user.isFollowing ? '%i18n:mobile.tags.mk-follow-button.unfollow%' : '%i18n:mobile.tags.mk-follow-button.follow%' }}
{{ user.isFollowing ? '%i18n:@unfollow%' : '%i18n:@follow%' }}
</button>
</template>

View File

@@ -54,13 +54,13 @@
</router-link>
<footer>
<mk-reactions-viewer :note="p"/>
<button @click="reply" title="%i18n:mobile.tags.mk-note-detail.reply%">
<button @click="reply" title="%i18n:@reply%">
%fa:reply%<p class="count" v-if="p.repliesCount > 0">{{ p.repliesCount }}</p>
</button>
<button @click="renote" title="Renote">
%fa:retweet%<p class="count" v-if="p.renoteCount > 0">{{ p.renoteCount }}</p>
</button>
<button :class="{ reacted: p.myReaction != null }" @click="react" ref="reactButton" title="%i18n:mobile.tags.mk-note-detail.reaction%">
<button :class="{ reacted: p.myReaction != null }" @click="react" ref="reactButton" title="%i18n:@reaction%">
%fa:plus%<p class="count" v-if="p.reactions_count > 0">{{ p.reactions_count }}</p>
</button>
<button @click="menu" ref="menuButton">

View File

@@ -9,9 +9,9 @@
<img class="avatar" :src="`${note.user.avatarUrl}?thumbnail&size=64`" alt="avatar"/>
</router-link>
%fa:retweet%
<span>{{ '%i18n:mobile.tags.mk-timeline-note.reposted-by%'.substr(0, '%i18n:mobile.tags.mk-timeline-note.reposted-by%'.indexOf('{')) }}</span>
<span>{{ '%i18n:@reposted-by%'.substr(0, '%i18n:@reposted-by%'.indexOf('{')) }}</span>
<router-link class="name" :to="note.user | userPage">{{ note.user | userName }}</router-link>
<span>{{ '%i18n:mobile.tags.mk-timeline-note.reposted-by%'.substr('%i18n:mobile.tags.mk-timeline-note.reposted-by%'.indexOf('}') + 1) }}</span>
<span>{{ '%i18n:@reposted-by%'.substr('%i18n:@reposted-by%'.indexOf('}') + 1) }}</span>
</p>
<mk-time :time="note.createdAt"/>
</div>

View File

@@ -11,9 +11,9 @@
</div>
<button class="more" v-if="moreNotifications" @click="fetchMoreNotifications" :disabled="fetchingMoreNotifications">
<template v-if="fetchingMoreNotifications">%fa:spinner .pulse .fw%</template>
{{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:mobile.tags.mk-notifications.more%' }}
{{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:@more%' }}
</button>
<p class="empty" v-if="notifications.length == 0 && !fetching">%i18n:mobile.tags.mk-notifications.empty%</p>
<p class="empty" v-if="notifications.length == 0 && !fetching">%i18n:@empty%</p>
<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p>
</div>
</template>

View File

@@ -5,12 +5,12 @@
<div>
<span class="text-count" :class="{ over: text.length > 1000 }">{{ 1000 - text.length }}</span>
<span class="geo" v-if="geo">%fa:map-marker-alt%</span>
<button class="submit" :disabled="posting" @click="post">{{ reply ? '返信' : '%i18n:mobile.tags.mk-post-form.submit%' }}</button>
<button class="submit" :disabled="posting" @click="post">{{ reply ? '返信' : '%i18n:@submit%' }}</button>
</div>
</header>
<div class="form">
<mk-note-preview v-if="reply" :note="reply"/>
<textarea v-model="text" ref="text" :disabled="posting" :placeholder="reply ? '%i18n:mobile.tags.mk-post-form.reply-placeholder%' : '%i18n:mobile.tags.mk-post-form.note-placeholder%'"></textarea>
<textarea v-model="text" ref="text" :disabled="posting" :placeholder="reply ? '%i18n:@reply-placeholder%' : '%i18n:@note-placeholder%'"></textarea>
<div class="attaches" v-show="files.length != 0">
<x-draggable class="files" :list="files" :options="{ animation: 150 }">
<div class="file" v-for="file in files" :key="file.id">

View File

@@ -10,7 +10,7 @@
<mk-media-list :media-list="note.media"/>
</details>
<details v-if="note.poll">
<summary>%i18n:mobile.tags.mk-sub-note-content.poll%</summary>
<summary>%i18n:@poll%</summary>
<mk-poll :note="note"/>
</details>
</div>

View File

@@ -7,10 +7,10 @@
</div>
<div class="empty" v-if="!fetching && notes.length == 0">
%fa:R comments%
%i18n:mobile.tags.mk-home-timeline.empty-timeline%
%i18n:@empty-timeline%
</div>
<button v-if="!fetching && existMore" @click="more" :disabled="moreFetching" slot="tail">
<span v-if="!moreFetching">%i18n:mobile.tags.mk-timeline.load-more%</span>
<span v-if="!moreFetching">%i18n:@load-more%</span>
<span v-if="moreFetching">%i18n:common.loading%<mk-ellipsis/></span>
</button>
</mk-notes>

View File

@@ -15,22 +15,22 @@
</router-link>
<div class="links">
<ul>
<li><router-link to="/">%fa:home%%i18n:mobile.tags.mk-ui-nav.home%%fa:angle-right%</router-link></li>
<li><router-link to="/i/notifications">%fa:R bell%%i18n:mobile.tags.mk-ui-nav.notifications%<template v-if="hasUnreadNotifications">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/i/messaging">%fa:R comments%%i18n:mobile.tags.mk-ui-nav.messaging%<template v-if="hasUnreadMessagingMessages">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/">%fa:home%%i18n:@home%%fa:angle-right%</router-link></li>
<li><router-link to="/i/notifications">%fa:R bell%%i18n:@notifications%<template v-if="hasUnreadNotifications">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/i/messaging">%fa:R comments%%i18n:@messaging%<template v-if="hasUnreadMessagingMessages">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/othello">%fa:gamepad%ゲーム<template v-if="hasGameInvitations">%fa:circle%</template>%fa:angle-right%</router-link></li>
</ul>
<ul>
<li><router-link to="/i/drive">%fa:cloud%%i18n:mobile.tags.mk-ui-nav.drive%%fa:angle-right%</router-link></li>
<li><router-link to="/i/drive">%fa:cloud%%i18n:@drive%%fa:angle-right%</router-link></li>
</ul>
<ul>
<li><a @click="search">%fa:search%%i18n:mobile.tags.mk-ui-nav.search%%fa:angle-right%</a></li>
<li><a @click="search">%fa:search%%i18n:@search%%fa:angle-right%</a></li>
</ul>
<ul>
<li><router-link to="/i/settings">%fa:cog%%i18n:mobile.tags.mk-ui-nav.settings%%fa:angle-right%</router-link></li>
<li><router-link to="/i/settings">%fa:cog%%i18n:@settings%%fa:angle-right%</router-link></li>
</ul>
</div>
<a :href="aboutUrl"><p class="about">%i18n:mobile.tags.mk-ui-nav.about%</p></a>
<a :href="aboutUrl"><p class="about">%i18n:@about%</p></a>
</div>
</transition>
</div>
@@ -92,7 +92,7 @@ export default Vue.extend({
},
methods: {
search() {
const query = window.prompt('%i18n:mobile.tags.mk-ui-nav.search%');
const query = window.prompt('%i18n:@search%');
if (query == null || query == '') return;
this.$router.push('/search?q=' + encodeURIComponent(query));
},

View File

@@ -6,10 +6,10 @@
</div>
<div class="empty" v-if="!fetching && notes.length == 0">
%fa:R comments%
{{ withMedia ? '%i18n:mobile.tags.mk-user-timeline.no-notes-with-media%' : '%i18n:mobile.tags.mk-user-timeline.no-notes%' }}
{{ withMedia ? '%i18n:@no-notes-with-media%' : '%i18n:@no-notes%' }}
</div>
<button v-if="!fetching && existMore" @click="more" :disabled="moreFetching" slot="tail">
<span v-if="!moreFetching">%i18n:mobile.tags.mk-user-timeline.load-more%</span>
<span v-if="!moreFetching">%i18n:@load-more%</span>
<span v-if="moreFetching">%i18n:common.loading%<mk-ellipsis/></span>
</button>
</mk-notes>

View File

@@ -1,14 +1,14 @@
<template>
<div class="mk-users-list">
<nav>
<span :data-is-active="mode == 'all'" @click="mode = 'all'">%i18n:mobile.tags.mk-users-list.all%<span>{{ count }}</span></span>
<span v-if="os.isSignedIn && youKnowCount" :data-is-active="mode == 'iknow'" @click="mode = 'iknow'">%i18n:mobile.tags.mk-users-list.known%<span>{{ youKnowCount }}</span></span>
<span :data-is-active="mode == 'all'" @click="mode = 'all'">%i18n:@all%<span>{{ count }}</span></span>
<span v-if="os.isSignedIn && youKnowCount" :data-is-active="mode == 'iknow'" @click="mode = 'iknow'">%i18n:@known%<span>{{ youKnowCount }}</span></span>
</nav>
<div class="users" v-if="!fetching && users.length != 0">
<mk-user-preview v-for="u in users" :user="u" :key="u.id"/>
</div>
<button class="more" v-if="!fetching && next != null" @click="more" :disabled="moreFetching">
<span v-if="!moreFetching">%i18n:mobile.tags.mk-users-list.load-more%</span>
<span v-if="!moreFetching">%i18n:@load-more%</span>
<span v-if="moreFetching">%i18n:common.loading%<mk-ellipsis/></span>
</button>
<p class="no" v-if="!fetching && users.length == 0">

View File

@@ -3,7 +3,7 @@
<span slot="header">
<template v-if="folder">%fa:R folder-open%{{ folder.name }}</template>
<template v-if="file"><mk-file-type-icon data-icon :type="file.type"/>{{ file.name }}</template>
<template v-if="!folder && !file">%fa:cloud%%i18n:mobile.tags.mk-drive-page.drive%</template>
<template v-if="!folder && !file">%fa:cloud%%i18n:@drive%</template>
</span>
<template slot="func"><button @click="fn">%fa:ellipsis-h%</button></template>
<mk-drive

View File

@@ -2,7 +2,7 @@
<mk-ui>
<template slot="header" v-if="!fetching">
<img :src="`${user.avatarUrl}?thumbnail&size=64`" alt="">
{{ '%i18n:mobile.tags.mk-user-followers-page.followers-of%'.replace('{}', name) }}
{{ '%i18n:@followers-of%'.replace('{}', name) }}
</template>
<mk-users-list
v-if="!fetching"
@@ -11,7 +11,7 @@
:you-know-count="user.followersYouKnowCount"
@loaded="onLoaded"
>
%i18n:mobile.tags.mk-user-followers.no-users%
%i18n:@no-users%
</mk-users-list>
</mk-ui>
</template>
@@ -52,7 +52,7 @@ export default Vue.extend({
this.user = user;
this.fetching = false;
document.title = '%i18n:mobile.tags.mk-user-followers-page.followers-of%'.replace('{}', this.name) + ' | Misskey';
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | Misskey';
});
},
onLoaded() {

View File

@@ -2,7 +2,7 @@
<mk-ui>
<template slot="header" v-if="!fetching">
<img :src="`${user.avatarUrl}?thumbnail&size=64`" alt="">
{{ '%i18n:mobile.tags.mk-user-following-page.following-of%'.replace('{}', name) }}
{{ '%i18n:@following-of%'.replace('{}', name) }}
</template>
<mk-users-list
v-if="!fetching"
@@ -11,7 +11,7 @@
:you-know-count="user.followingYouKnowCount"
@loaded="onLoaded"
>
%i18n:mobile.tags.mk-user-following.no-users%
%i18n:@no-users%
</mk-users-list>
</mk-ui>
</template>
@@ -51,7 +51,7 @@ export default Vue.extend({
this.user = user;
this.fetching = false;
document.title = '%i18n:mobile.tags.mk-user-followers-page.followers-of%'.replace('{}', this.name) + ' | Misskey';
document.title = '%i18n:@followers-of%'.replace('{}', this.name) + ' | Misskey';
});
},
onLoaded() {

View File

@@ -33,7 +33,7 @@ export default Vue.extend({
this.user = user;
this.fetching = false;
document.title = `%i18n:mobile.tags.mk-messaging-room-page.message%: ${Vue.filter('userName')(this.user)} | Misskey`;
document.title = `%i18n:@message%: ${Vue.filter('userName')(this.user)} | Misskey`;
});
}
}

View File

@@ -1,6 +1,6 @@
<template>
<mk-ui>
<span slot="header">%fa:R comments%%i18n:mobile.tags.mk-messaging-page.message%</span>
<span slot="header">%fa:R comments%%i18n:@message%</span>
<mk-messaging @navigate="navigate" :header-top="48"/>
</mk-ui>
</template>
@@ -11,7 +11,7 @@ import getAcct from '../../../../../acct/render';
export default Vue.extend({
mounted() {
document.title = 'Misskey %i18n:mobile.tags.mk-messaging-page.message%';
document.title = 'Misskey %i18n:@message%';
document.documentElement.style.background = '#fff';
},
methods: {

View File

@@ -1,12 +1,12 @@
<template>
<mk-ui>
<span slot="header">%fa:R sticky-note%%i18n:mobile.tags.mk-note-page.title%</span>
<span slot="header">%fa:R sticky-note%%i18n:@title%</span>
<main v-if="!fetching">
<a v-if="note.next" :href="note.next">%fa:angle-up%%i18n:mobile.tags.mk-note-page.next%</a>
<a v-if="note.next" :href="note.next">%fa:angle-up%%i18n:@next%</a>
<div>
<mk-note-detail :note="note"/>
</div>
<a v-if="note.prev" :href="note.prev">%fa:angle-down%%i18n:mobile.tags.mk-note-page.prev%</a>
<a v-if="note.prev" :href="note.prev">%fa:angle-down%%i18n:@prev%</a>
</main>
</mk-ui>
</template>

View File

@@ -1,6 +1,6 @@
<template>
<mk-ui>
<span slot="header">%fa:R bell%%i18n:mobile.tags.mk-notifications-page.notifications%</span>
<span slot="header">%fa:R bell%%i18n:@notifications%</span>
<template slot="func"><button @click="fn">%fa:check%</button></template>
<mk-notifications @fetched="onFetched"/>
</mk-ui>
@@ -12,14 +12,14 @@ import Progress from '../../../common/scripts/loading';
export default Vue.extend({
mounted() {
document.title = 'Misskey | %i18n:mobile.tags.mk-notifications-page.notifications%';
document.title = 'Misskey | %i18n:@notifications%';
document.documentElement.style.background = '#313a42';
Progress.start();
},
methods: {
fn() {
const ok = window.confirm('%i18n:mobile.tags.mk-notifications-page.read-all%');
const ok = window.confirm('%i18n:@read-all%');
if (!ok) return;
(this as any).api('notifications/markAsRead_all');

View File

@@ -1,38 +1,38 @@
<template>
<mk-ui>
<span slot="header">%fa:user%%i18n:mobile.tags.mk-profile-setting-page.title%</span>
<span slot="header">%fa:user%%i18n:@title%</span>
<div :class="$style.content">
<p>%fa:info-circle%%i18n:mobile.tags.mk-profile-setting.will-be-published%</p>
<p>%fa:info-circle%%i18n:@will-be-published%</p>
<div :class="$style.form">
<div :style="os.i.bannerUrl ? `background-image: url(${os.i.bannerUrl}?thumbnail&size=1024)` : ''" @click="setBanner">
<img :src="`${os.i.avatarUrl}?thumbnail&size=200`" alt="avatar" @click="setAvatar"/>
</div>
<label>
<p>%i18n:mobile.tags.mk-profile-setting.name%</p>
<p>%i18n:@name%</p>
<input v-model="name" type="text"/>
</label>
<label>
<p>%i18n:mobile.tags.mk-profile-setting.location%</p>
<p>%i18n:@location%</p>
<input v-model="location" type="text"/>
</label>
<label>
<p>%i18n:mobile.tags.mk-profile-setting.description%</p>
<p>%i18n:@description%</p>
<textarea v-model="description"></textarea>
</label>
<label>
<p>%i18n:mobile.tags.mk-profile-setting.birthday%</p>
<p>%i18n:@birthday%</p>
<input v-model="birthday" type="date"/>
</label>
<label>
<p>%i18n:mobile.tags.mk-profile-setting.avatar%</p>
<button @click="setAvatar" :disabled="avatarSaving">%i18n:mobile.tags.mk-profile-setting.set-avatar%</button>
<p>%i18n:@avatar%</p>
<button @click="setAvatar" :disabled="avatarSaving">%i18n:@set-avatar%</button>
</label>
<label>
<p>%i18n:mobile.tags.mk-profile-setting.banner%</p>
<button @click="setBanner" :disabled="bannerSaving">%i18n:mobile.tags.mk-profile-setting.set-banner%</button>
<p>%i18n:@banner%</p>
<button @click="setBanner" :disabled="bannerSaving">%i18n:@set-banner%</button>
</label>
</div>
<button :class="$style.save" @click="save" :disabled="saving">%fa:check%%i18n:mobile.tags.mk-profile-setting.save%</button>
<button :class="$style.save" @click="save" :disabled="saving">%fa:check%%i18n:@save%</button>
</div>
</mk-ui>
</template>
@@ -58,7 +58,7 @@ export default Vue.extend({
this.birthday = (this as any).os.i.profile.birthday;
},
mounted() {
document.title = 'Misskey | %i18n:mobile.tags.mk-profile-setting-page.title%';
document.title = 'Misskey | %i18n:@title%';
document.documentElement.style.background = '#313a42';
},
methods: {
@@ -72,7 +72,7 @@ export default Vue.extend({
avatarId: file.id
}).then(() => {
this.avatarSaving = false;
alert('%i18n:mobile.tags.mk-profile-setting.avatar-saved%');
alert('%i18n:@avatar-saved%');
});
});
},
@@ -86,7 +86,7 @@ export default Vue.extend({
bannerId: file.id
}).then(() => {
this.bannerSaving = false;
alert('%i18n:mobile.tags.mk-profile-setting.banner-saved%');
alert('%i18n:@banner-saved%');
});
});
},
@@ -100,7 +100,7 @@ export default Vue.extend({
birthday: this.birthday || null
}).then(() => {
this.saving = false;
alert('%i18n:mobile.tags.mk-profile-setting.saved%');
alert('%i18n:@saved%');
});
}
}

View File

@@ -3,9 +3,9 @@
<span slot="header">%fa:search% {{ q }}</span>
<main v-if="!fetching">
<mk-notes :class="$style.notes" :notes="notes">
<span v-if="notes.length == 0">{{ '%i18n:mobile.tags.mk-search-notes.empty%'.replace('{}', q) }}</span>
<span v-if="notes.length == 0">{{ '%i18n:@empty%'.replace('{}', q) }}</span>
<button v-if="existMore" @click="more" :disabled="fetching" slot="tail">
<span v-if="!fetching">%i18n:mobile.tags.mk-timeline.load-more%</span>
<span v-if="!fetching">%i18n:@load-more%</span>
<span v-if="fetching">%i18n:common.loading%<mk-ellipsis/></span>
</button>
</mk-notes>
@@ -38,7 +38,7 @@ export default Vue.extend({
}
},
mounted() {
document.title = `%i18n:mobile.tags.mk-search-page.search%: ${this.q} | Misskey`;
document.title = `%i18n:@search%: ${this.q} | Misskey`;
document.documentElement.style.background = '#313a42';
this.fetch();

View File

@@ -1,7 +1,7 @@
<template>
<div class="mk-selectdrive">
<header>
<h1>%i18n:mobile.tags.mk-selectdrive-page.select-file%<span class="count" v-if="files.length > 0">({{ files.length }})</span></h1>
<h1>%i18n:@select-file%<span class="count" v-if="files.length > 0">({{ files.length }})</span></h1>
<button class="upload" @click="upload">%fa:upload%</button>
<button v-if="multiple" class="ok" @click="ok">%fa:check%</button>
</header>
@@ -25,7 +25,7 @@ export default Vue.extend({
}
},
mounted() {
document.title = '%i18n:desktop.tags.mk-selectdrive-page.title%';
document.title = '%i18n:@title%';
},
methods: {
onSelected(file) {

View File

@@ -1,16 +1,16 @@
<template>
<mk-ui>
<span slot="header">%fa:cog%%i18n:mobile.tags.mk-settings-page.settings%</span>
<span slot="header">%fa:cog%%i18n:@settings%</span>
<div :class="$style.content">
<p v-html="'%i18n:mobile.tags.mk-settings.signed-in-as%'.replace('{}', '<b>' + name + '</b>')"></p>
<p v-html="'%i18n:@signed-in-as%'.replace('{}', '<b>' + name + '</b>')"></p>
<ul>
<li><router-link to="./settings/profile">%fa:user%%i18n:mobile.tags.mk-settings-page.profile%%fa:angle-right%</router-link></li>
<li><router-link to="./settings/authorized-apps">%fa:puzzle-piece%%i18n:mobile.tags.mk-settings-page.applications%%fa:angle-right%</router-link></li>
<li><router-link to="./settings/twitter">%fa:B twitter%%i18n:mobile.tags.mk-settings-page.twitter-integration%%fa:angle-right%</router-link></li>
<li><router-link to="./settings/signin-history">%fa:sign-in-alt%%i18n:mobile.tags.mk-settings-page.signin-history%%fa:angle-right%</router-link></li>
<li><router-link to="./settings/profile">%fa:user%%i18n:@profile%%fa:angle-right%</router-link></li>
<li><router-link to="./settings/authorized-apps">%fa:puzzle-piece%%i18n:@applications%%fa:angle-right%</router-link></li>
<li><router-link to="./settings/twitter">%fa:B twitter%%i18n:@twitter-integration%%fa:angle-right%</router-link></li>
<li><router-link to="./settings/signin-history">%fa:sign-in-alt%%i18n:@signin-history%%fa:angle-right%</router-link></li>
</ul>
<ul>
<li><a @click="signout">%fa:power-off%%i18n:mobile.tags.mk-settings-page.signout%</a></li>
<li><a @click="signout">%fa:power-off%%i18n:@signout%</a></li>
</ul>
<p><small>ver {{ version }} ({{ codename }})</small></p>
</div>
@@ -34,7 +34,7 @@ export default Vue.extend({
}
},
mounted() {
document.title = 'Misskey | %i18n:mobile.tags.mk-settings-page.settings%';
document.title = 'Misskey | %i18n:@settings%';
document.documentElement.style.background = '#313a42';
},
methods: {

View File

@@ -14,7 +14,7 @@
<div class="title">
<h1>{{ user | userName }}</h1>
<span class="username">@{{ user | acct }}</span>
<span class="followed" v-if="user.isFollowed">%i18n:mobile.tags.mk-user.follows-you%</span>
<span class="followed" v-if="user.isFollowed">%i18n:@follows-you%</span>
</div>
<div class="description">{{ user.description }}</div>
<div class="info">
@@ -28,24 +28,24 @@
<div class="status">
<a>
<b>{{ user.notesCount | number }}</b>
<i>%i18n:mobile.tags.mk-user.notes%</i>
<i>%i18n:@notes%</i>
</a>
<a :href="user | userPage('following')">
<b>{{ user.followingCount | number }}</b>
<i>%i18n:mobile.tags.mk-user.following%</i>
<i>%i18n:@following%</i>
</a>
<a :href="user | userPage('followers')">
<b>{{ user.followersCount | number }}</b>
<i>%i18n:mobile.tags.mk-user.followers%</i>
<i>%i18n:@followers%</i>
</a>
</div>
</div>
</header>
<nav>
<div class="nav-container">
<a :data-is-active=" page == 'home' " @click="page = 'home'">%i18n:mobile.tags.mk-user.overview%</a>
<a :data-is-active=" page == 'notes' " @click="page = 'notes'">%i18n:mobile.tags.mk-user.timeline%</a>
<a :data-is-active=" page == 'media' " @click="page = 'media'">%i18n:mobile.tags.mk-user.media%</a>
<a :data-is-active=" page == 'home' " @click="page = 'home'">%i18n:@overview%</a>
<a :data-is-active=" page == 'notes' " @click="page = 'notes'">%i18n:@timeline%</a>
<a :data-is-active=" page == 'media' " @click="page = 'media'">%i18n:@media%</a>
</div>
</nav>
<div class="body">

View File

@@ -1,12 +1,12 @@
<template>
<div class="root followers-you-know">
<p class="initializing" v-if="fetching">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-followers-you-know.loading%<mk-ellipsis/></p>
<p class="initializing" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@loading%<mk-ellipsis/></p>
<div v-if="!fetching && users.length > 0">
<a v-for="user in users" :key="user.id" :href="user | userPage">
<img :src="`${user.avatarUrl}?thumbnail&size=64`" :alt="user | userName"/>
</a>
</div>
<p class="empty" v-if="!fetching && users.length == 0">%i18n:mobile.tags.mk-user-overview-followers-you-know.no-users%</p>
<p class="empty" v-if="!fetching && users.length == 0">%i18n:@no-users%</p>
</div>
</template>

View File

@@ -1,10 +1,10 @@
<template>
<div class="root friends">
<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-frequently-replied-users.loading%<mk-ellipsis/></p>
<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@loading%<mk-ellipsis/></p>
<div v-if="!fetching && users.length > 0">
<mk-user-card v-for="user in users" :key="user.id" :user="user"/>
</div>
<p class="empty" v-if="!fetching && users.length == 0">%i18n:mobile.tags.mk-user-overview-frequently-replied-users.no-users%</p>
<p class="empty" v-if="!fetching && users.length == 0">%i18n:@no-users%</p>
</div>
</template>

View File

@@ -1,10 +1,10 @@
<template>
<div class="root notes">
<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-notes.loading%<mk-ellipsis/></p>
<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@loading%<mk-ellipsis/></p>
<div v-if="!fetching && notes.length > 0">
<mk-note-card v-for="note in notes" :key="note.id" :note="note"/>
</div>
<p class="empty" v-if="!fetching && notes.length == 0">%i18n:mobile.tags.mk-user-overview-notes.no-notes%</p>
<p class="empty" v-if="!fetching && notes.length == 0">%i18n:@no-notes%</p>
</div>
</template>

View File

@@ -1,6 +1,6 @@
<template>
<div class="root photos">
<p class="initializing" v-if="fetching">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-photos.loading%<mk-ellipsis/></p>
<p class="initializing" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@loading%<mk-ellipsis/></p>
<div class="stream" v-if="!fetching && images.length > 0">
<a v-for="image in images"
class="img"
@@ -8,7 +8,7 @@
:href="image.note | notePage"
></a>
</div>
<p class="empty" v-if="!fetching && images.length == 0">%i18n:mobile.tags.mk-user-overview-photos.no-photos%</p>
<p class="empty" v-if="!fetching && images.length == 0">%i18n:@no-photos%</p>
</div>
</template>

View File

@@ -2,36 +2,36 @@
<div class="root home">
<mk-note-detail v-if="user.pinnedNote" :note="user.pinnedNote" :compact="true"/>
<section class="recent-notes">
<h2>%fa:R comments%%i18n:mobile.tags.mk-user-overview.recent-notes%</h2>
<h2>%fa:R comments%%i18n:@recent-notes%</h2>
<div>
<x-notes :user="user"/>
</div>
</section>
<section class="images">
<h2>%fa:image%%i18n:mobile.tags.mk-user-overview.images%</h2>
<h2>%fa:image%%i18n:@images%</h2>
<div>
<x-photos :user="user"/>
</div>
</section>
<section class="activity">
<h2>%fa:chart-bar%%i18n:mobile.tags.mk-user-overview.activity%</h2>
<h2>%fa:chart-bar%%i18n:@activity%</h2>
<div>
<mk-activity :user="user"/>
</div>
</section>
<section class="frequently-replied-users">
<h2>%fa:users%%i18n:mobile.tags.mk-user-overview.frequently-replied-users%</h2>
<h2>%fa:users%%i18n:@frequently-replied-users%</h2>
<div>
<x-friends :user="user"/>
</div>
</section>
<section class="followers-you-know" v-if="os.isSignedIn && os.i.id !== user.id">
<h2>%fa:users%%i18n:mobile.tags.mk-user-overview.followers-you-know%</h2>
<h2>%fa:users%%i18n:@followers-you-know%</h2>
<div>
<x-followers-you-know :user="user"/>
</div>
</section>
<p v-if="user.host === null">%i18n:mobile.tags.mk-user-overview.last-used-at%: <b><mk-time :time="user.lastUsedAt"/></b></p>
<p v-if="user.host === null">%i18n:@last-used-at%: <b><mk-time :time="user.lastUsedAt"/></b></p>
</div>
</template>