From 43525c4839e2bea8818cf2fcd236a1f71d5b7473 Mon Sep 17 00:00:00 2001 From: syuilo <syuilotan@yahoo.co.jp> Date: Thu, 8 Feb 2018 14:50:18 +0900 Subject: [PATCH] wip --- src/web/app/auth/tags/form.tag | 4 +-- src/web/app/ch/tags/channel.tag | 10 +++--- src/web/app/common/tags/error.tag | 6 ++-- src/web/app/common/tags/file-type-icon.tag | 2 +- src/web/app/common/tags/messaging/form.tag | 2 +- src/web/app/common/tags/messaging/index.tag | 4 +-- src/web/app/common/tags/messaging/message.tag | 2 +- src/web/app/common/tags/messaging/room.tag | 6 ++-- src/web/app/common/tags/poll.vue | 10 +++--- src/web/app/common/tags/signin-history.tag | 4 +-- src/web/app/common/tags/signup.tag | 2 +- .../app/desktop/tags/big-follow-button.tag | 2 +- src/web/app/desktop/tags/dialog.tag | 4 +-- src/web/app/desktop/tags/drive/browser.tag | 12 +++---- src/web/app/desktop/tags/drive/folder.tag | 2 +- src/web/app/desktop/tags/drive/nav-folder.tag | 2 +- src/web/app/desktop/tags/follow-button.tag | 6 ++-- .../desktop/tags/home-widgets/access-log.tag | 4 +-- .../desktop/tags/home-widgets/broadcast.tag | 2 +- .../app/desktop/tags/home-widgets/channel.tag | 8 ++--- .../desktop/tags/home-widgets/mentions.tag | 4 +-- .../desktop/tags/home-widgets/messaging.tag | 4 +-- .../tags/home-widgets/notifications.tag | 4 +-- .../tags/home-widgets/photo-stream.tag | 8 ++--- .../desktop/tags/home-widgets/post-form.tag | 8 ++--- .../tags/home-widgets/recommended-polls.tag | 4 +-- .../desktop/tags/home-widgets/rss-reader.tag | 6 ++-- .../app/desktop/tags/home-widgets/server.tag | 4 +-- .../desktop/tags/home-widgets/timeline.tag | 4 +-- .../app/desktop/tags/home-widgets/trends.tag | 4 +-- .../tags/home-widgets/user-recommendation.tag | 4 +-- src/web/app/desktop/tags/images.tag | 4 +-- src/web/app/desktop/tags/notifications.tag | 34 +++++++++---------- src/web/app/desktop/tags/post-detail.tag | 12 +++---- src/web/app/desktop/tags/repost-form.tag | 8 ++--- src/web/app/desktop/tags/search-posts.tag | 4 +-- src/web/app/desktop/tags/settings.tag | 4 +-- src/web/app/desktop/tags/timeline.tag | 8 ++--- src/web/app/desktop/tags/ui.tag | 10 +++--- src/web/app/desktop/tags/user-preview.tag | 4 +-- src/web/app/desktop/tags/user-timeline.tag | 4 +-- src/web/app/desktop/tags/user.tag | 8 ++--- src/web/app/desktop/tags/widgets/activity.tag | 4 +-- src/web/app/desktop/tags/widgets/calendar.tag | 4 +-- src/web/app/dev/tags/pages/apps.tag | 4 +-- src/web/app/mobile/tags/drive.tag | 26 +++++++------- src/web/app/mobile/tags/drive/file-viewer.tag | 2 +- src/web/app/mobile/tags/follow-button.tag | 6 ++-- src/web/app/mobile/tags/images.tag | 4 +-- src/web/app/mobile/tags/init-following.tag | 4 +-- .../app/mobile/tags/notification-preview.tag | 28 +++++++-------- src/web/app/mobile/tags/notification.tag | 28 +++++++-------- src/web/app/mobile/tags/notifications.tag | 6 ++-- src/web/app/mobile/tags/post-detail.tag | 12 +++---- src/web/app/mobile/tags/timeline.tag | 4 +-- src/web/app/mobile/tags/ui.tag | 6 ++-- src/web/app/mobile/tags/user.tag | 24 ++++++------- 57 files changed, 205 insertions(+), 205 deletions(-) diff --git a/src/web/app/auth/tags/form.tag b/src/web/app/auth/tags/form.tag index 9b317fef4..f20165977 100644 --- a/src/web/app/auth/tags/form.tag +++ b/src/web/app/auth/tags/form.tag @@ -11,7 +11,7 @@ <section> <h2>このアプリは次の権限を要求しています:</h2> <ul> - <virtual each={ p in app.permission }> + <template each={ p in app.permission }> <li v-if="p == 'account-read'">アカウントの情報を見る。</li> <li v-if="p == 'account-write'">アカウントの情報を操作する。</li> <li v-if="p == 'post-write'">投稿する。</li> @@ -21,7 +21,7 @@ <li v-if="p == 'drive-write'">ドライブを操作する。</li> <li v-if="p == 'notification-read'">通知を見る。</li> <li v-if="p == 'notification-write'">通知を操作する。</li> - </virtual> + </template> </ul> </section> </div> diff --git a/src/web/app/ch/tags/channel.tag b/src/web/app/ch/tags/channel.tag index d71837af4..524d04270 100644 --- a/src/web/app/ch/tags/channel.tag +++ b/src/web/app/ch/tags/channel.tag @@ -18,9 +18,9 @@ <p v-if="postsFetching">読み込み中<mk-ellipsis/></p> <div v-if="!postsFetching"> <p v-if="posts == null || posts.length == 0">まだ投稿がありません</p> - <virtual v-if="posts != null"> + <template v-if="posts != null"> <mk-channel-post each={ post in posts.slice().reverse() } post={ post } form={ parent.refs.form }/> - </virtual> + </template> </div> </div> <hr> @@ -174,11 +174,11 @@ <a v-if="post.reply">>>{ post.reply.index }</a> { post.text } <div class="media" v-if="post.media"> - <virtual each={ file in post.media }> + <template each={ file in post.media }> <a href={ file.url } target="_blank"> <img src={ file.url + '?thumbnail&size=512' } alt={ file.name } title={ file.name }/> </a> - </virtual> + </template> </div> </div> <style lang="stylus" scoped> @@ -247,7 +247,7 @@ <button @click="selectFile">%fa:upload%%i18n:ch.tags.mk-channel-form.upload%</button> <button @click="drive">%fa:cloud%%i18n:ch.tags.mk-channel-form.drive%</button> <button :class="{ wait: wait }" ref="submit" disabled={ wait || (refs.text.value.length == 0) } @click="post"> - <virtual v-if="!wait">%fa:paper-plane%</virtual>{ wait ? '%i18n:ch.tags.mk-channel-form.posting%' : '%i18n:ch.tags.mk-channel-form.post%' }<mk-ellipsis v-if="wait"/> + <template v-if="!wait">%fa:paper-plane%</template>{ wait ? '%i18n:ch.tags.mk-channel-form.posting%' : '%i18n:ch.tags.mk-channel-form.post%' }<mk-ellipsis v-if="wait"/> </button> </div> <mk-uploader ref="uploader"/> diff --git a/src/web/app/common/tags/error.tag b/src/web/app/common/tags/error.tag index 6cf13666d..f09c0ce95 100644 --- a/src/web/app/common/tags/error.tag +++ b/src/web/app/common/tags/error.tag @@ -98,9 +98,9 @@ <mk-troubleshooter> <h1>%fa:wrench%%i18n:common.tags.mk-error.troubleshooter.title%</h1> <div> - <p data-wip={ network == null }><virtual v-if="network != null"><virtual v-if="network">%fa:check%</virtual><virtual v-if="!network">%fa:times%</virtual></virtual>{ network == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-network%' : '%i18n:common.tags.mk-error.troubleshooter.network%' }<mk-ellipsis v-if="network == null"/></p> - <p v-if="network == true" data-wip={ internet == null }><virtual v-if="internet != null"><virtual v-if="internet">%fa:check%</virtual><virtual v-if="!internet">%fa:times%</virtual></virtual>{ internet == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-internet%' : '%i18n:common.tags.mk-error.troubleshooter.internet%' }<mk-ellipsis v-if="internet == null"/></p> - <p v-if="internet == true" data-wip={ server == null }><virtual v-if="server != null"><virtual v-if="server">%fa:check%</virtual><virtual v-if="!server">%fa:times%</virtual></virtual>{ server == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-server%' : '%i18n:common.tags.mk-error.troubleshooter.server%' }<mk-ellipsis v-if="server == null"/></p> + <p data-wip={ network == null }><template v-if="network != null"><template v-if="network">%fa:check%</template><template v-if="!network">%fa:times%</template></template>{ network == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-network%' : '%i18n:common.tags.mk-error.troubleshooter.network%' }<mk-ellipsis v-if="network == null"/></p> + <p v-if="network == true" data-wip={ internet == null }><template v-if="internet != null"><template v-if="internet">%fa:check%</template><template v-if="!internet">%fa:times%</template></template>{ internet == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-internet%' : '%i18n:common.tags.mk-error.troubleshooter.internet%' }<mk-ellipsis v-if="internet == null"/></p> + <p v-if="internet == true" data-wip={ server == null }><template v-if="server != null"><template v-if="server">%fa:check%</template><template v-if="!server">%fa:times%</template></template>{ server == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-server%' : '%i18n:common.tags.mk-error.troubleshooter.server%' }<mk-ellipsis v-if="server == null"/></p> </div> <p v-if="!end">%i18n:common.tags.mk-error.troubleshooter.finding%<mk-ellipsis/></p> <p v-if="network === false"><b>%fa:exclamation-triangle%%i18n:common.tags.mk-error.troubleshooter.no-network%</b><br>%i18n:common.tags.mk-error.troubleshooter.no-network-desc%</p> diff --git a/src/web/app/common/tags/file-type-icon.tag b/src/web/app/common/tags/file-type-icon.tag index a3e479273..f630efe11 100644 --- a/src/web/app/common/tags/file-type-icon.tag +++ b/src/web/app/common/tags/file-type-icon.tag @@ -1,5 +1,5 @@ <mk-file-type-icon> - <virtual v-if="kind == 'image'">%fa:file-image%</virtual> + <template v-if="kind == 'image'">%fa:file-image%</template> <style lang="stylus" scoped> :scope display inline diff --git a/src/web/app/common/tags/messaging/form.tag b/src/web/app/common/tags/messaging/form.tag index e9d2c01ca..9a58dc0ce 100644 --- a/src/web/app/common/tags/messaging/form.tag +++ b/src/web/app/common/tags/messaging/form.tag @@ -3,7 +3,7 @@ <div class="files"></div> <mk-uploader ref="uploader"/> <button class="send" @click="send" disabled={ sending } title="%i18n:common.send%"> - <virtual v-if="!sending">%fa:paper-plane%</virtual><virtual v-if="sending">%fa:spinner .spin%</virtual> + <template v-if="!sending">%fa:paper-plane%</template><template v-if="sending">%fa:spinner .spin%</template> </button> <button class="attach-from-local" type="button" title="%i18n:common.tags.mk-messaging-form.attach-from-local%"> %fa:upload% diff --git a/src/web/app/common/tags/messaging/index.tag b/src/web/app/common/tags/messaging/index.tag index 6c25452c0..f7af153c2 100644 --- a/src/web/app/common/tags/messaging/index.tag +++ b/src/web/app/common/tags/messaging/index.tag @@ -15,7 +15,7 @@ </div> </div> <div class="history" v-if="history.length > 0"> - <virtual each={ history }> + <template each={ history }> <a class="user" data-is-me={ is_me } data-is-read={ is_read } @click="_click"> <div> <img class="avatar" src={ (is_me ? recipient.avatar_url : user.avatar_url) + '?thumbnail&size=64' } alt=""/> @@ -29,7 +29,7 @@ </div> </div> </a> - </virtual> + </template> </div> <p class="no-history" v-if="!fetching && history.length == 0">%i18n:common.tags.mk-messaging.no-history%</p> <p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> diff --git a/src/web/app/common/tags/messaging/message.tag b/src/web/app/common/tags/messaging/message.tag index 2f193aa5d..ba6d26a18 100644 --- a/src/web/app/common/tags/messaging/message.tag +++ b/src/web/app/common/tags/messaging/message.tag @@ -15,7 +15,7 @@ </div> </div> <footer> - <mk-time time={ message.created_at }/><virtual v-if="message.is_edited">%fa:pencil-alt%</virtual> + <mk-time time={ message.created_at }/><template v-if="message.is_edited">%fa:pencil-alt%</template> </footer> </div> <style lang="stylus" scoped> diff --git a/src/web/app/common/tags/messaging/room.tag b/src/web/app/common/tags/messaging/room.tag index 91b93c482..990f20a8e 100644 --- a/src/web/app/common/tags/messaging/room.tag +++ b/src/web/app/common/tags/messaging/room.tag @@ -4,12 +4,12 @@ <p class="empty" v-if="!init && messages.length == 0">%fa:info-circle%%i18n:common.tags.mk-messaging-room.empty%</p> <p class="no-history" v-if="!init && messages.length > 0 && !moreMessagesIsInStock">%fa:flag%%i18n:common.tags.mk-messaging-room.no-history%</p> <button class="more { fetching: fetchingMoreMessages }" v-if="moreMessagesIsInStock" @click="fetchMoreMessages" disabled={ fetchingMoreMessages }> - <virtual v-if="fetchingMoreMessages">%fa:spinner .pulse .fw%</virtual>{ fetchingMoreMessages ? '%i18n:common.loading%' : '%i18n:common.tags.mk-messaging-room.more%' } + <template v-if="fetchingMoreMessages">%fa:spinner .pulse .fw%</template>{ fetchingMoreMessages ? '%i18n:common.loading%' : '%i18n:common.tags.mk-messaging-room.more%' } </button> - <virtual each={ message, i in messages }> + <template each={ message, i in messages }> <mk-messaging-message message={ message }/> <p class="date" v-if="i != messages.length - 1 && message._date != messages[i + 1]._date"><span>{ messages[i + 1]._datetext }</span></p> - </virtual> + </template> </div> <footer> <div ref="notifications"></div> diff --git a/src/web/app/common/tags/poll.vue b/src/web/app/common/tags/poll.vue index 638fa1cbe..0b0132875 100644 --- a/src/web/app/common/tags/poll.vue +++ b/src/web/app/common/tags/poll.vue @@ -1,12 +1,12 @@ <template> <div :data-is-voted="isVoted"> <ul> - <li v-for="choice in poll.choices" @click="vote.bind(choice.id)" :class="{ voted: choice.voted }" title={ !parent.isVoted ? '%i18n:common.tags.mk-poll.vote-to%'.replace('{}', text) : '' }> - <div class="backdrop" style={ 'width:' + (parent.result ? (votes / parent.total * 100) : 0) + '%' }></div> + <li v-for="choice in poll.choices" :key="choice.id" @click="vote.bind(choice.id)" :class="{ voted: choice.voted }" :title="!choice.isVoted ? '%i18n:common.tags.mk-poll.vote-to%'.replace('{}', choice.text) : ''"> + <div class="backdrop" :style="{ 'width:' + (result ? (choice.votes / total * 100) : 0) + '%' }"></div> <span> - <virtual v-if="is_voted">%fa:check%</virtual> - { text } - <span class="votes" v-if="parent.result">({ '%i18n:common.tags.mk-poll.vote-count%'.replace('{}', votes) })</span> + <template v-if="is_voted">%fa:check%</template> + {{ text }} + <span class="votes" v-if="parent.result">({{ '%i18n:common.tags.mk-poll.vote-count%'.replace('{}', votes) }})</span> </span> </li> </ul> diff --git a/src/web/app/common/tags/signin-history.tag b/src/web/app/common/tags/signin-history.tag index cc9d2113f..57ac5ec97 100644 --- a/src/web/app/common/tags/signin-history.tag +++ b/src/web/app/common/tags/signin-history.tag @@ -43,8 +43,8 @@ <mk-signin-record> <header @click="toggle"> - <virtual v-if="rec.success">%fa:check%</virtual> - <virtual v-if="!rec.success">%fa:times%</virtual> + <template v-if="rec.success">%fa:check%</template> + <template v-if="!rec.success">%fa:times%</template> <span class="ip">{ rec.ip }</span> <mk-time time={ rec.created_at }/> </header> diff --git a/src/web/app/common/tags/signup.tag b/src/web/app/common/tags/signup.tag index 4e79de787..99be10609 100644 --- a/src/web/app/common/tags/signup.tag +++ b/src/web/app/common/tags/signup.tag @@ -29,7 +29,7 @@ <p class="info" v-if="passwordRetypeState == 'not-match'" style="color:#FF1161">%fa:exclamation-triangle .fw%%i18n:common.tags.mk-signup.password-not-matched%</p> </label> <label class="recaptcha"> - <p class="caption"><virtual v-if="recaptchaed">%fa:toggle-on%</virtual><virtual v-if="!recaptchaed">%fa:toggle-off%</virtual>%i18n:common.tags.mk-signup.recaptcha%</p> + <p class="caption"><template v-if="recaptchaed">%fa:toggle-on%</template><template v-if="!recaptchaed">%fa:toggle-off%</template>%i18n:common.tags.mk-signup.recaptcha%</p> <div v-if="recaptcha" class="g-recaptcha" data-callback="onRecaptchaed" data-expired-callback="onRecaptchaExpired" data-sitekey={ recaptcha.site_key }></div> </label> <label class="agree-tou"> diff --git a/src/web/app/desktop/tags/big-follow-button.tag b/src/web/app/desktop/tags/big-follow-button.tag index 09b587c37..5ea09fdfc 100644 --- a/src/web/app/desktop/tags/big-follow-button.tag +++ b/src/web/app/desktop/tags/big-follow-button.tag @@ -2,7 +2,7 @@ <button :class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" v-if="!init" @click="onclick" disabled={ wait } title={ user.is_following ? 'フォロー解除' : 'フォローする' }> <span v-if="!wait && user.is_following">%fa:minus%フォロー解除</span> <span v-if="!wait && !user.is_following">%fa:plus%フォロー</span> - <virtual v-if="wait">%fa:spinner .pulse .fw%</virtual> + <template v-if="wait">%fa:spinner .pulse .fw%</template> </button> <div class="init" v-if="init">%fa:spinner .pulse .fw%</div> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/dialog.tag b/src/web/app/desktop/tags/dialog.tag index cb8c0f31b..ba2fa514d 100644 --- a/src/web/app/desktop/tags/dialog.tag +++ b/src/web/app/desktop/tags/dialog.tag @@ -4,9 +4,9 @@ <header ref="header"></header> <div class="body" ref="body"></div> <div class="buttons"> - <virtual each={ opts.buttons }> + <template each={ opts.buttons }> <button @click="_onclick">{ text }</button> - </virtual> + </template> </div> </div> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/drive/browser.tag b/src/web/app/desktop/tags/drive/browser.tag index 9fdb27054..02d79afd8 100644 --- a/src/web/app/desktop/tags/drive/browser.tag +++ b/src/web/app/desktop/tags/drive/browser.tag @@ -2,10 +2,10 @@ <nav> <div class="path" oncontextmenu={ pathOncontextmenu }> <mk-drive-browser-nav-folder :class="{ current: folder == null }" folder={ null }/> - <virtual each={ folder in hierarchyFolders }> + <template each={ folder in hierarchyFolders }> <span class="separator">%fa:angle-right%</span> <mk-drive-browser-nav-folder folder={ folder }/> - </virtual> + </template> <span class="separator" v-if="folder != null">%fa:angle-right%</span> <span class="folder current" v-if="folder != null">{ folder.name }</span> </div> @@ -15,17 +15,17 @@ <div class="selection" ref="selection"></div> <div class="contents" ref="contents"> <div class="folders" ref="foldersContainer" v-if="folders.length > 0"> - <virtual each={ folder in folders }> + <template each={ folder in folders }> <mk-drive-browser-folder class="folder" folder={ folder }/> - </virtual> + </template> <!-- SEE: https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid --> <div class="padding" each={ Array(10).fill(16) }></div> <button v-if="moreFolders">%i18n:desktop.tags.mk-drive-browser.load-more%</button> </div> <div class="files" ref="filesContainer" v-if="files.length > 0"> - <virtual each={ file in files }> + <template each={ file in files }> <mk-drive-browser-file class="file" file={ file }/> - </virtual> + </template> <!-- SEE: https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid --> <div class="padding" each={ Array(10).fill(16) }></div> <button v-if="moreFiles" @click="fetchMoreFiles">%i18n:desktop.tags.mk-drive-browser.load-more%</button> diff --git a/src/web/app/desktop/tags/drive/folder.tag b/src/web/app/desktop/tags/drive/folder.tag index 1ba166a67..ed16bfb0d 100644 --- a/src/web/app/desktop/tags/drive/folder.tag +++ b/src/web/app/desktop/tags/drive/folder.tag @@ -1,5 +1,5 @@ <mk-drive-browser-folder data-is-contextmenu-showing={ isContextmenuShowing.toString() } data-draghover={ draghover.toString() } @click="onclick" onmouseover={ onmouseover } onmouseout={ onmouseout } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop } oncontextmenu={ oncontextmenu } draggable="true" ondragstart={ ondragstart } ondragend={ ondragend } title={ title }> - <p class="name"><virtual v-if="hover">%fa:R folder-open .fw%</virtual><virtual v-if="!hover">%fa:R folder .fw%</virtual>{ folder.name }</p> + <p class="name"><template v-if="hover">%fa:R folder-open .fw%</template><template v-if="!hover">%fa:R folder .fw%</template>{ folder.name }</p> <style lang="stylus" scoped> :scope display block diff --git a/src/web/app/desktop/tags/drive/nav-folder.tag b/src/web/app/desktop/tags/drive/nav-folder.tag index 2afbb50f0..4bca80f68 100644 --- a/src/web/app/desktop/tags/drive/nav-folder.tag +++ b/src/web/app/desktop/tags/drive/nav-folder.tag @@ -1,5 +1,5 @@ <mk-drive-browser-nav-folder data-draghover={ draghover } @click="onclick" ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }> - <virtual v-if="folder == null">%fa:cloud%</virtual><span>{ folder == null ? '%i18n:desktop.tags.mk-drive-browser-nav-folder.drive%' : folder.name }</span> + <template v-if="folder == null">%fa:cloud%</template><span>{ folder == null ? '%i18n:desktop.tags.mk-drive-browser-nav-folder.drive%' : folder.name }</span> <style lang="stylus" scoped> :scope &[data-draghover] diff --git a/src/web/app/desktop/tags/follow-button.tag b/src/web/app/desktop/tags/follow-button.tag index 9a01b0831..fa7d43e03 100644 --- a/src/web/app/desktop/tags/follow-button.tag +++ b/src/web/app/desktop/tags/follow-button.tag @@ -1,8 +1,8 @@ <mk-follow-button> <button :class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" v-if="!init" @click="onclick" disabled={ wait } title={ user.is_following ? 'フォロー解除' : 'フォローする' }> - <virtual v-if="!wait && user.is_following">%fa:minus%</virtual> - <virtual v-if="!wait && !user.is_following">%fa:plus%</virtual> - <virtual v-if="wait">%fa:spinner .pulse .fw%</virtual> + <template v-if="!wait && user.is_following">%fa:minus%</template> + <template v-if="!wait && !user.is_following">%fa:plus%</template> + <template v-if="wait">%fa:spinner .pulse .fw%</template> </button> <div class="init" v-if="init">%fa:spinner .pulse .fw%</div> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/home-widgets/access-log.tag b/src/web/app/desktop/tags/home-widgets/access-log.tag index c3adc0d8b..fea18299e 100644 --- a/src/web/app/desktop/tags/home-widgets/access-log.tag +++ b/src/web/app/desktop/tags/home-widgets/access-log.tag @@ -1,7 +1,7 @@ <mk-access-log-home-widget> - <virtual v-if="data.design == 0"> + <template v-if="data.design == 0"> <p class="title">%fa:server%%i18n:desktop.tags.mk-access-log-home-widget.title%</p> - </virtual> + </template> <div ref="log"> <p each={ requests }> <span class="ip" style="color:{ fg }; background:{ bg }">{ ip }</span> diff --git a/src/web/app/desktop/tags/home-widgets/broadcast.tag b/src/web/app/desktop/tags/home-widgets/broadcast.tag index e1ba82e79..91ddbb4ab 100644 --- a/src/web/app/desktop/tags/home-widgets/broadcast.tag +++ b/src/web/app/desktop/tags/home-widgets/broadcast.tag @@ -12,7 +12,7 @@ <h1 v-if="!fetching">{ broadcasts.length == 0 ? '%i18n:desktop.tags.mk-broadcast-home-widget.no-broadcasts%' : broadcasts[i].title }</h1> - <p v-if="!fetching"><mk-raw v-if="broadcasts.length != 0" content={ broadcasts[i].text }/><virtual v-if="broadcasts.length == 0">%i18n:desktop.tags.mk-broadcast-home-widget.have-a-nice-day%</virtual></p> + <p v-if="!fetching"><mk-raw v-if="broadcasts.length != 0" content={ broadcasts[i].text }/><template v-if="broadcasts.length == 0">%i18n:desktop.tags.mk-broadcast-home-widget.have-a-nice-day%</template></p> <a v-if="broadcasts.length > 1" @click="next">%i18n:desktop.tags.mk-broadcast-home-widget.next% >></a> <style lang="stylus" scoped> :scope diff --git a/src/web/app/desktop/tags/home-widgets/channel.tag b/src/web/app/desktop/tags/home-widgets/channel.tag index 0b4fbbf4f..98bf6bf7e 100644 --- a/src/web/app/desktop/tags/home-widgets/channel.tag +++ b/src/web/app/desktop/tags/home-widgets/channel.tag @@ -1,10 +1,10 @@ <mk-channel-home-widget> - <virtual v-if="!data.compact"> + <template v-if="!data.compact"> <p class="title">%fa:tv%{ channel ? channel.title : '%i18n:desktop.tags.mk-channel-home-widget.title%' }</p> <button @click="settings" title="%i18n:desktop.tags.mk-channel-home-widget.settings%">%fa:cog%</button> - </virtual> + </template> <p class="get-started" v-if="this.data.channel == null">%i18n:desktop.tags.mk-channel-home-widget.get-started%</p> <mk-channel ref="channel" show={ this.data.channel }/> <style lang="stylus" scoped> @@ -200,11 +200,11 @@ <a v-if="post.reply">>>{ post.reply.index }</a> { post.text } <div class="media" v-if="post.media"> - <virtual each={ file in post.media }> + <template each={ file in post.media }> <a href={ file.url } target="_blank"> <img src={ file.url + '?thumbnail&size=512' } alt={ file.name } title={ file.name }/> </a> - </virtual> + </template> </div> </div> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/home-widgets/mentions.tag b/src/web/app/desktop/tags/home-widgets/mentions.tag index 2ca1fa502..e0592aa04 100644 --- a/src/web/app/desktop/tags/home-widgets/mentions.tag +++ b/src/web/app/desktop/tags/home-widgets/mentions.tag @@ -6,8 +6,8 @@ <p class="empty" v-if="isEmpty">%fa:R comments%<span v-if="mode == 'all'">あなた宛ての投稿はありません。</span><span v-if="mode == 'following'">あなたがフォローしているユーザーからの言及はありません。</span></p> <mk-timeline ref="timeline"> <yield to="footer"> - <virtual v-if="!parent.moreLoading">%fa:moon%</virtual> - <virtual v-if="parent.moreLoading">%fa:spinner .pulse .fw%</virtual> + <template v-if="!parent.moreLoading">%fa:moon%</template> + <template v-if="parent.moreLoading">%fa:spinner .pulse .fw%</template> </yield/> </mk-timeline> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/home-widgets/messaging.tag b/src/web/app/desktop/tags/home-widgets/messaging.tag index cd11c21a2..d3b77b58c 100644 --- a/src/web/app/desktop/tags/home-widgets/messaging.tag +++ b/src/web/app/desktop/tags/home-widgets/messaging.tag @@ -1,7 +1,7 @@ <mk-messaging-home-widget> - <virtual v-if="data.design == 0"> + <template v-if="data.design == 0"> <p class="title">%fa:comments%%i18n:desktop.tags.mk-messaging-home-widget.title%</p> - </virtual> + </template> <mk-messaging ref="index" compact={ true }/> <style lang="stylus" scoped> :scope diff --git a/src/web/app/desktop/tags/home-widgets/notifications.tag b/src/web/app/desktop/tags/home-widgets/notifications.tag index 4c48da659..bd915b197 100644 --- a/src/web/app/desktop/tags/home-widgets/notifications.tag +++ b/src/web/app/desktop/tags/home-widgets/notifications.tag @@ -1,8 +1,8 @@ <mk-notifications-home-widget> - <virtual v-if="!data.compact"> + <template v-if="!data.compact"> <p class="title">%fa:R bell%%i18n:desktop.tags.mk-notifications-home-widget.title%</p> <button @click="settings" title="%i18n:desktop.tags.mk-notifications-home-widget.settings%">%fa:cog%</button> - </virtual> + </template> <mk-notifications/> <style lang="stylus" scoped> :scope diff --git a/src/web/app/desktop/tags/home-widgets/photo-stream.tag b/src/web/app/desktop/tags/home-widgets/photo-stream.tag index 8c57dbbef..a2d95dede 100644 --- a/src/web/app/desktop/tags/home-widgets/photo-stream.tag +++ b/src/web/app/desktop/tags/home-widgets/photo-stream.tag @@ -1,12 +1,12 @@ <mk-photo-stream-home-widget data-melt={ data.design == 2 }> - <virtual v-if="data.design == 0"> + <template v-if="data.design == 0"> <p class="title">%fa:camera%%i18n:desktop.tags.mk-photo-stream-home-widget.title%</p> - </virtual> + </template> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> <div class="stream" v-if="!initializing && images.length > 0"> - <virtual each={ image in images }> + <template each={ image in images }> <div class="img" style={ 'background-image: url(' + image.url + '?thumbnail&size=256)' }></div> - </virtual> + </template> </div> <p class="empty" v-if="!initializing && images.length == 0">%i18n:desktop.tags.mk-photo-stream-home-widget.no-photos%</p> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/home-widgets/post-form.tag b/src/web/app/desktop/tags/home-widgets/post-form.tag index 58ceac604..d5824477b 100644 --- a/src/web/app/desktop/tags/home-widgets/post-form.tag +++ b/src/web/app/desktop/tags/home-widgets/post-form.tag @@ -1,12 +1,12 @@ <mk-post-form-home-widget> <mk-post-form v-if="place == 'main'"/> - <virtual v-if="place != 'main'"> - <virtual v-if="data.design == 0"> + <template v-if="place != 'main'"> + <template v-if="data.design == 0"> <p class="title">%fa:pencil-alt%%i18n:desktop.tags.mk-post-form-home-widget.title%</p> - </virtual> + </template> <textarea disabled={ posting } ref="text" onkeydown={ onkeydown } placeholder="%i18n:desktop.tags.mk-post-form-home-widget.placeholder%"></textarea> <button @click="post" disabled={ posting }>%i18n:desktop.tags.mk-post-form-home-widget.post%</button> - </virtual> + </template> <style lang="stylus" scoped> :scope display block diff --git a/src/web/app/desktop/tags/home-widgets/recommended-polls.tag b/src/web/app/desktop/tags/home-widgets/recommended-polls.tag index f33b2de5f..cfbcd1e92 100644 --- a/src/web/app/desktop/tags/home-widgets/recommended-polls.tag +++ b/src/web/app/desktop/tags/home-widgets/recommended-polls.tag @@ -1,8 +1,8 @@ <mk-recommended-polls-home-widget> - <virtual v-if="!data.compact"> + <template v-if="!data.compact"> <p class="title">%fa:chart-pie%%i18n:desktop.tags.mk-recommended-polls-home-widget.title%</p> <button @click="fetch" title="%i18n:desktop.tags.mk-recommended-polls-home-widget.refresh%">%fa:sync%</button> - </virtual> + </template> <div class="poll" v-if="!loading && poll != null"> <p v-if="poll.text"><a href="/{ poll.user.username }/{ poll.id }">{ poll.text }</a></p> <p v-if="!poll.text"><a href="/{ poll.user.username }/{ poll.id }">%fa:link%</a></p> diff --git a/src/web/app/desktop/tags/home-widgets/rss-reader.tag b/src/web/app/desktop/tags/home-widgets/rss-reader.tag index f8a0787d3..4e0ed702e 100644 --- a/src/web/app/desktop/tags/home-widgets/rss-reader.tag +++ b/src/web/app/desktop/tags/home-widgets/rss-reader.tag @@ -1,10 +1,10 @@ <mk-rss-reader-home-widget> - <virtual v-if="!data.compact"> + <template v-if="!data.compact"> <p class="title">%fa:rss-square%RSS</p> <button @click="settings" title="設定">%fa:cog%</button> - </virtual> + </template> <div class="feed" v-if="!initializing"> - <virtual each={ item in items }><a href={ item.link } target="_blank">{ item.title }</a></virtual> + <template each={ item in items }><a href={ item.link } target="_blank">{ item.title }</a></template> </div> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/home-widgets/server.tag b/src/web/app/desktop/tags/home-widgets/server.tag index 1a15d3704..992517163 100644 --- a/src/web/app/desktop/tags/home-widgets/server.tag +++ b/src/web/app/desktop/tags/home-widgets/server.tag @@ -1,8 +1,8 @@ <mk-server-home-widget data-melt={ data.design == 2 }> - <virtual v-if="data.design == 0"> + <template v-if="data.design == 0"> <p class="title">%fa:server%%i18n:desktop.tags.mk-server-home-widget.title%</p> <button @click="toggle" title="%i18n:desktop.tags.mk-server-home-widget.toggle%">%fa:sort%</button> - </virtual> + </template> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> <mk-server-home-widget-cpu-and-memory-usage v-if="!initializing" show={ data.view == 0 } connection={ connection }/> <mk-server-home-widget-cpu v-if="!initializing" show={ data.view == 1 } connection={ connection } meta={ meta }/> diff --git a/src/web/app/desktop/tags/home-widgets/timeline.tag b/src/web/app/desktop/tags/home-widgets/timeline.tag index 67e56b676..ac2d95d5a 100644 --- a/src/web/app/desktop/tags/home-widgets/timeline.tag +++ b/src/web/app/desktop/tags/home-widgets/timeline.tag @@ -6,8 +6,8 @@ <p class="empty" v-if="isEmpty && !isLoading">%fa:R comments%自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。</p> <mk-timeline ref="timeline" hide={ isLoading }> <yield to="footer"> - <virtual v-if="!parent.moreLoading">%fa:moon%</virtual> - <virtual v-if="parent.moreLoading">%fa:spinner .pulse .fw%</virtual> + <template v-if="!parent.moreLoading">%fa:moon%</template> + <template v-if="parent.moreLoading">%fa:spinner .pulse .fw%</template> </yield/> </mk-timeline> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/home-widgets/trends.tag b/src/web/app/desktop/tags/home-widgets/trends.tag index 4e5060a3e..5e297ebc7 100644 --- a/src/web/app/desktop/tags/home-widgets/trends.tag +++ b/src/web/app/desktop/tags/home-widgets/trends.tag @@ -1,8 +1,8 @@ <mk-trends-home-widget> - <virtual v-if="!data.compact"> + <template v-if="!data.compact"> <p class="title">%fa:fire%%i18n:desktop.tags.mk-trends-home-widget.title%</p> <button @click="fetch" title="%i18n:desktop.tags.mk-trends-home-widget.refresh%">%fa:sync%</button> - </virtual> + </template> <div class="post" v-if="!loading && post != null"> <p class="text"><a href="/{ post.user.username }/{ post.id }">{ post.text }</a></p> <p class="author">―<a href="/{ post.user.username }">@{ post.user.username }</a></p> diff --git a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag b/src/web/app/desktop/tags/home-widgets/user-recommendation.tag index fb23eac5e..5344da1f2 100644 --- a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag +++ b/src/web/app/desktop/tags/home-widgets/user-recommendation.tag @@ -1,8 +1,8 @@ <mk-user-recommendation-home-widget> - <virtual v-if="!data.compact"> + <template v-if="!data.compact"> <p class="title">%fa:users%%i18n:desktop.tags.mk-user-recommendation-home-widget.title%</p> <button @click="refresh" title="%i18n:desktop.tags.mk-user-recommendation-home-widget.refresh%">%fa:sync%</button> - </virtual> + </template> <div class="user" v-if="!loading && users.length != 0" each={ _user in users }> <a class="avatar-anchor" href={ '/' + _user.username }> <img class="avatar" src={ _user.avatar_url + '?thumbnail&size=42' } alt="" data-user-preview={ _user.id }/> diff --git a/src/web/app/desktop/tags/images.tag b/src/web/app/desktop/tags/images.tag index 594c706be..1094e0d96 100644 --- a/src/web/app/desktop/tags/images.tag +++ b/src/web/app/desktop/tags/images.tag @@ -1,7 +1,7 @@ <mk-images> - <virtual each={ image in images }> + <template each={ image in images }> <mk-images-image image={ image }/> - </virtual> + </template> <style lang="stylus" scoped> :scope display grid diff --git a/src/web/app/desktop/tags/notifications.tag b/src/web/app/desktop/tags/notifications.tag index 7bba90a8b..a599e5d6a 100644 --- a/src/web/app/desktop/tags/notifications.tag +++ b/src/web/app/desktop/tags/notifications.tag @@ -1,9 +1,9 @@ <mk-notifications> <div class="notifications" v-if="notifications.length != 0"> - <virtual each={ notification, i in notifications }> + <template each={ notification, i in notifications }> <div class="notification { notification.type }"> <mk-time time={ notification.created_at }/> - <virtual v-if="notification.type == 'reaction'"> + <template v-if="notification.type == 'reaction'"> <a class="avatar-anchor" href={ '/' + notification.user.username } data-user-preview={ notification.user.id }> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=48' } alt="avatar"/> </a> @@ -13,8 +13,8 @@ %fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right% </a> </div> - </virtual> - <virtual v-if="notification.type == 'repost'"> + </template> + <template v-if="notification.type == 'repost'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=48' } alt="avatar"/> </a> @@ -24,8 +24,8 @@ %fa:quote-left%{ getPostSummary(notification.post.repost) }%fa:quote-right% </a> </div> - </virtual> - <virtual v-if="notification.type == 'quote'"> + </template> + <template v-if="notification.type == 'quote'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=48' } alt="avatar"/> </a> @@ -33,16 +33,16 @@ <p>%fa:quote-left%<a href={ '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p> <a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a> </div> - </virtual> - <virtual v-if="notification.type == 'follow'"> + </template> + <template v-if="notification.type == 'follow'"> <a class="avatar-anchor" href={ '/' + notification.user.username } data-user-preview={ notification.user.id }> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=48' } alt="avatar"/> </a> <div class="text"> <p>%fa:user-plus%<a href={ '/' + notification.user.username } data-user-preview={ notification.user.id }>{ notification.user.name }</a></p> </div> - </virtual> - <virtual v-if="notification.type == 'reply'"> + </template> + <template v-if="notification.type == 'reply'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=48' } alt="avatar"/> </a> @@ -50,8 +50,8 @@ <p>%fa:reply%<a href={ '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p> <a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a> </div> - </virtual> - <virtual v-if="notification.type == 'mention'"> + </template> + <template v-if="notification.type == 'mention'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=48' } alt="avatar"/> </a> @@ -59,8 +59,8 @@ <p>%fa:at%<a href={ '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p> <a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a> </div> - </virtual> - <virtual v-if="notification.type == 'poll_vote'"> + </template> + <template v-if="notification.type == 'poll_vote'"> <a class="avatar-anchor" href={ '/' + notification.user.username } data-user-preview={ notification.user.id }> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=48' } alt="avatar"/> </a> @@ -70,16 +70,16 @@ %fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right% </a> </div> - </virtual> + </template> </div> <p class="date" v-if="i != notifications.length - 1 && notification._date != notifications[i + 1]._date"> <span>%fa:angle-up%{ notification._datetext }</span> <span>%fa:angle-down%{ notifications[i + 1]._datetext }</span> </p> - </virtual> + </template> </div> <button class="more { fetching: fetchingMoreNotifications }" v-if="moreNotifications" @click="fetchMoreNotifications" disabled={ fetchingMoreNotifications }> - <virtual v-if="fetchingMoreNotifications">%fa:spinner .pulse .fw%</virtual>{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:desktop.tags.mk-notifications.more%' } + <template v-if="fetchingMoreNotifications">%fa:spinner .pulse .fw%</template>{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:desktop.tags.mk-notifications.more%' } </button> <p class="empty" v-if="notifications.length == 0 && !loading">ありません!</p> <p class="loading" v-if="loading">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> diff --git a/src/web/app/desktop/tags/post-detail.tag b/src/web/app/desktop/tags/post-detail.tag index 2225733f7..5f35ce6af 100644 --- a/src/web/app/desktop/tags/post-detail.tag +++ b/src/web/app/desktop/tags/post-detail.tag @@ -1,13 +1,13 @@ <mk-post-detail title={ title }> <div class="main"> <button class="read-more" v-if="p.reply && p.reply.reply_id && context == null" title="会話をもっと読み込む" @click="loadContext" disabled={ contextFetching }> - <virtual v-if="!contextFetching">%fa:ellipsis-v%</virtual> - <virtual v-if="contextFetching">%fa:spinner .pulse%</virtual> + <template v-if="!contextFetching">%fa:ellipsis-v%</template> + <template v-if="contextFetching">%fa:spinner .pulse%</template> </button> <div class="context"> - <virtual each={ post in context }> + <template each={ post in context }> <mk-post-detail-sub post={ post }/> - </virtual> + </template> </div> <div class="reply-to" v-if="p.reply"> <mk-post-detail-sub post={ p.reply }/> @@ -58,9 +58,9 @@ </footer> </article> <div class="replies" v-if="!compact"> - <virtual each={ post in replies }> + <template each={ post in replies }> <mk-post-detail-sub post={ post }/> - </virtual> + </template> </div> </div> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/repost-form.tag b/src/web/app/desktop/tags/repost-form.tag index 77118124c..a3d350fa2 100644 --- a/src/web/app/desktop/tags/repost-form.tag +++ b/src/web/app/desktop/tags/repost-form.tag @@ -1,15 +1,15 @@ <mk-repost-form> <mk-post-preview post={ opts.post }/> - <virtual v-if="!quote"> + <template v-if="!quote"> <footer> <a class="quote" v-if="!quote" @click="onquote">%i18n:desktop.tags.mk-repost-form.quote%</a> <button class="cancel" @click="cancel">%i18n:desktop.tags.mk-repost-form.cancel%</button> <button class="ok" @click="ok" disabled={ wait }>{ wait ? '%i18n:desktop.tags.mk-repost-form.reposting%' : '%i18n:desktop.tags.mk-repost-form.repost%' }</button> </footer> - </virtual> - <virtual v-if="quote"> + </template> + <template v-if="quote"> <mk-post-form ref="form" repost={ opts.post }/> - </virtual> + </template> <style lang="stylus" scoped> :scope diff --git a/src/web/app/desktop/tags/search-posts.tag b/src/web/app/desktop/tags/search-posts.tag index 09320c5d7..91bea2e90 100644 --- a/src/web/app/desktop/tags/search-posts.tag +++ b/src/web/app/desktop/tags/search-posts.tag @@ -5,8 +5,8 @@ <p class="empty" v-if="isEmpty">%fa:search%「{ query }」に関する投稿は見つかりませんでした。</p> <mk-timeline ref="timeline"> <yield to="footer"> - <virtual v-if="!parent.moreLoading">%fa:moon%</virtual> - <virtual v-if="parent.moreLoading">%fa:spinner .pulse .fw%</virtual> + <template v-if="!parent.moreLoading">%fa:moon%</template> + <template v-if="parent.moreLoading">%fa:spinner .pulse .fw%</template> </yield/> </mk-timeline> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/settings.tag b/src/web/app/desktop/tags/settings.tag index 191d1d754..4bf210cef 100644 --- a/src/web/app/desktop/tags/settings.tag +++ b/src/web/app/desktop/tags/settings.tag @@ -266,10 +266,10 @@ <p>%i18n:desktop.tags.mk-2fa-setting.intro%<a href="%i18n:desktop.tags.mk-2fa-setting.url%" target="_blank">%i18n:desktop.tags.mk-2fa-setting.detail%</a></p> <div class="ui info warn"><p>%fa:exclamation-triangle%%i18n:desktop.tags.mk-2fa-setting.caution%</p></div> <p v-if="!data && !I.two_factor_enabled"><button @click="register" class="ui primary">%i18n:desktop.tags.mk-2fa-setting.register%</button></p> - <virtual v-if="I.two_factor_enabled"> + <template v-if="I.two_factor_enabled"> <p>%i18n:desktop.tags.mk-2fa-setting.already-registered%</p> <button @click="unregister" class="ui">%i18n:desktop.tags.mk-2fa-setting.unregister%</button> - </virtual> + </template> <div v-if="data"> <ol> <li>%i18n:desktop.tags.mk-2fa-setting.authenticator% <a href="https://support.google.com/accounts/answer/1066447" target="_blank">%i18n:desktop.tags.mk-2fa-setting.howtoinstall%</a></li> diff --git a/src/web/app/desktop/tags/timeline.tag b/src/web/app/desktop/tags/timeline.tag index 772140dcc..7f79d18b4 100644 --- a/src/web/app/desktop/tags/timeline.tag +++ b/src/web/app/desktop/tags/timeline.tag @@ -1,8 +1,8 @@ <mk-timeline> - <virtual each={ post, i in posts }> + <template each={ post, i in posts }> <mk-timeline-post post={ post }/> <p class="date" v-if="i != posts.length - 1 && post._date != posts[i + 1]._date"><span>%fa:angle-up%{ post._datetext }</span><span>%fa:angle-down%{ posts[i + 1]._datetext }</span></p> - </virtual> + </template> <footer data-yield="footer"> <yield from="footer"/> </footer> @@ -142,8 +142,8 @@ %fa:ellipsis-h% </button> <button @click="toggleDetail" title="%i18n:desktop.tags.mk-timeline-post.detail"> - <virtual v-if="!isDetailOpened">%fa:caret-down%</virtual> - <virtual v-if="isDetailOpened">%fa:caret-up%</virtual> + <template v-if="!isDetailOpened">%fa:caret-down%</template> + <template v-if="isDetailOpened">%fa:caret-up%</template> </button> </footer> </div> diff --git a/src/web/app/desktop/tags/ui.tag b/src/web/app/desktop/tags/ui.tag index 0a3849236..e5008b838 100644 --- a/src/web/app/desktop/tags/ui.tag +++ b/src/web/app/desktop/tags/ui.tag @@ -230,7 +230,7 @@ <mk-ui-header-notifications> <button data-active={ isOpen } @click="toggle" title="%i18n:desktop.tags.mk-ui-header-notifications.title%"> - %fa:R bell%<virtual v-if="hasUnreadNotifications">%fa:circle%</virtual> + %fa:R bell%<template v-if="hasUnreadNotifications">%fa:circle%</template> </button> <div class="notifications" v-if="isOpen"> <mk-notifications/> @@ -392,7 +392,7 @@ <mk-ui-header-nav> <ul> - <virtual v-if="SIGNIN"> + <template v-if="SIGNIN"> <li class="home { active: page == 'home' }"> <a href={ _URL_ }> %fa:home% @@ -403,10 +403,10 @@ <a @click="messaging"> %fa:comments% <p>%i18n:desktop.tags.mk-ui-header-nav.messaging%</p> - <virtual v-if="hasUnreadMessagingMessages">%fa:circle%</virtual> + <template v-if="hasUnreadMessagingMessages">%fa:circle%</template> </a> </li> - </virtual> + </template> <li class="ch"> <a href={ _CH_URL_ } target="_blank"> %fa:tv% @@ -630,7 +630,7 @@ <mk-ui-header-account> <button class="header" data-active={ isOpen.toString() } @click="toggle"> - <span class="username">{ I.username }<virtual v-if="!isOpen">%fa:angle-down%</virtual><virtual v-if="isOpen">%fa:angle-up%</virtual></span> + <span class="username">{ I.username }<template v-if="!isOpen">%fa:angle-down%</template><template v-if="isOpen">%fa:angle-up%</template></span> <img class="avatar" src={ I.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </button> <div class="menu" v-if="isOpen"> diff --git a/src/web/app/desktop/tags/user-preview.tag b/src/web/app/desktop/tags/user-preview.tag index 00ecfba1b..10c37de64 100644 --- a/src/web/app/desktop/tags/user-preview.tag +++ b/src/web/app/desktop/tags/user-preview.tag @@ -1,5 +1,5 @@ <mk-user-preview> - <virtual v-if="user != null"> + <template v-if="user != null"> <div class="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=512)' : '' }></div><a class="avatar" href={ '/' + user.username } target="_blank"><img src={ user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> <div class="title"> <p class="name">{ user.name }</p> @@ -18,7 +18,7 @@ </div> </div> <mk-follow-button v-if="SIGNIN && user.id != I.id" user={ userPromise }/> - </virtual> + </template> <style lang="stylus" scoped> :scope display block diff --git a/src/web/app/desktop/tags/user-timeline.tag b/src/web/app/desktop/tags/user-timeline.tag index 3baf5db0e..2e3bbbfd6 100644 --- a/src/web/app/desktop/tags/user-timeline.tag +++ b/src/web/app/desktop/tags/user-timeline.tag @@ -8,8 +8,8 @@ <p class="empty" v-if="isEmpty">%fa:R comments%このユーザーはまだ何も投稿していないようです。</p> <mk-timeline ref="timeline"> <yield to="footer"> - <virtual v-if="!parent.moreLoading">%fa:moon%</virtual> - <virtual v-if="parent.moreLoading">%fa:spinner .pulse .fw%</virtual> + <template v-if="!parent.moreLoading">%fa:moon%</template> + <template v-if="parent.moreLoading">%fa:spinner .pulse .fw%</template> </yield/> </mk-timeline> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/user.tag b/src/web/app/desktop/tags/user.tag index daf39347f..161a15190 100644 --- a/src/web/app/desktop/tags/user.tag +++ b/src/web/app/desktop/tags/user.tag @@ -357,9 +357,9 @@ <p class="title">%fa:camera%%i18n:desktop.tags.mk-user.photos.title%</p> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:desktop.tags.mk-user.photos.loading%<mk-ellipsis/></p> <div class="stream" v-if="!initializing && images.length > 0"> - <virtual each={ image in images }> + <template each={ image in images }> <div class="img" style={ 'background-image: url(' + image.url + '?thumbnail&size=256)' }></div> - </virtual> + </template> </div> <p class="empty" v-if="!initializing && images.length == 0">%i18n:desktop.tags.mk-user.photos.no-photos%</p> <style lang="stylus" scoped> @@ -563,9 +563,9 @@ <p class="title">%fa:users%%i18n:desktop.tags.mk-user.followers-you-know.title%</p> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:desktop.tags.mk-user.followers-you-know.loading%<mk-ellipsis/></p> <div v-if="!initializing && users.length > 0"> - <virtual each={ user in users }> + <template each={ user in users }> <a href={ '/' + user.username }><img src={ user.avatar_url + '?thumbnail&size=64' } alt={ user.name }/></a> - </virtual> + </template> </div> <p class="empty" v-if="!initializing && users.length == 0">%i18n:desktop.tags.mk-user.followers-you-know.no-users%</p> <style lang="stylus" scoped> diff --git a/src/web/app/desktop/tags/widgets/activity.tag b/src/web/app/desktop/tags/widgets/activity.tag index 03d253ea2..ffddfa7dc 100644 --- a/src/web/app/desktop/tags/widgets/activity.tag +++ b/src/web/app/desktop/tags/widgets/activity.tag @@ -1,8 +1,8 @@ <mk-activity-widget data-melt={ design == 2 }> - <virtual v-if="design == 0"> + <template v-if="design == 0"> <p class="title">%fa:chart-bar%%i18n:desktop.tags.mk-activity-widget.title%</p> <button @click="toggle" title="%i18n:desktop.tags.mk-activity-widget.toggle%">%fa:sort%</button> - </virtual> + </template> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> <mk-activity-widget-calender v-if="!initializing && view == 0" data={ [].concat(activity) }/> <mk-activity-widget-chart v-if="!initializing && view == 1" data={ [].concat(activity) }/> diff --git a/src/web/app/desktop/tags/widgets/calendar.tag b/src/web/app/desktop/tags/widgets/calendar.tag index 3d2d84e40..d20180f1c 100644 --- a/src/web/app/desktop/tags/widgets/calendar.tag +++ b/src/web/app/desktop/tags/widgets/calendar.tag @@ -1,9 +1,9 @@ <mk-calendar-widget data-melt={ opts.design == 4 || opts.design == 5 }> - <virtual v-if="opts.design == 0 || opts.design == 1"> + <template v-if="opts.design == 0 || opts.design == 1"> <button @click="prev" title="%i18n:desktop.tags.mk-calendar-widget.prev%">%fa:chevron-circle-left%</button> <p class="title">{ '%i18n:desktop.tags.mk-calendar-widget.title%'.replace('{1}', year).replace('{2}', month) }</p> <button @click="next" title="%i18n:desktop.tags.mk-calendar-widget.next%">%fa:chevron-circle-right%</button> - </virtual> + </template> <div class="calendar"> <div class="weekday" v-if="opts.design == 0 || opts.design == 2 || opts.design == 4} each={ day, i in Array(7).fill(0)" diff --git a/src/web/app/dev/tags/pages/apps.tag b/src/web/app/dev/tags/pages/apps.tag index f7b8e416e..bf9552f07 100644 --- a/src/web/app/dev/tags/pages/apps.tag +++ b/src/web/app/dev/tags/pages/apps.tag @@ -2,13 +2,13 @@ <h1>アプリを管理</h1><a href="/app/new">アプリ作成</a> <div class="apps"> <p v-if="fetching">読み込み中</p> - <virtual v-if="!fetching"> + <template v-if="!fetching"> <p v-if="apps.length == 0">アプリなし</p> <ul v-if="apps.length > 0"> <li each={ app in apps }><a href={ '/app/' + app.id }> <p class="name">{ app.name }</p></a></li> </ul> - </virtual> + </template> </div> <style lang="stylus" scoped> :scope diff --git a/src/web/app/mobile/tags/drive.tag b/src/web/app/mobile/tags/drive.tag index b5e428665..50578299a 100644 --- a/src/web/app/mobile/tags/drive.tag +++ b/src/web/app/mobile/tags/drive.tag @@ -1,39 +1,39 @@ <mk-drive> <nav ref="nav"> <a @click="goRoot" href="/i/drive">%fa:cloud%%i18n:mobile.tags.mk-drive.drive%</a> - <virtual each={ folder in hierarchyFolders }> + <template each={ folder in hierarchyFolders }> <span>%fa:angle-right%</span> <a @click="move" href="/i/drive/folder/{ folder.id }">{ folder.name }</a> - </virtual> - <virtual v-if="folder != null"> + </template> + <template v-if="folder != null"> <span>%fa:angle-right%</span> <p>{ folder.name }</p> - </virtual> - <virtual v-if="file != null"> + </template> + <template v-if="file != null"> <span>%fa:angle-right%</span> <p>{ file.name }</p> - </virtual> + </template> </nav> <mk-uploader ref="uploader"/> <div class="browser { fetching: 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 && (folder.folders_count > 0 || folder.files_count > 0)"> - <virtual v-if="folder.folders_count > 0">{ folder.folders_count } %i18n:mobile.tags.mk-drive.folder-count%</virtual> - <virtual v-if="folder.folders_count > 0 && folder.files_count > 0">%i18n:mobile.tags.mk-drive.count-separator%</virtual> - <virtual v-if="folder.files_count > 0">{ folder.files_count } %i18n:mobile.tags.mk-drive.file-count%</virtual> + <template v-if="folder.folders_count > 0">{ folder.folders_count } %i18n:mobile.tags.mk-drive.folder-count%</template> + <template v-if="folder.folders_count > 0 && folder.files_count > 0">%i18n:mobile.tags.mk-drive.count-separator%</template> + <template v-if="folder.files_count > 0">{ folder.files_count } %i18n:mobile.tags.mk-drive.file-count%</template> </p> </div> <div class="folders" v-if="folders.length > 0"> - <virtual each={ folder in folders }> + <template each={ folder in folders }> <mk-drive-folder folder={ folder }/> - </virtual> + </template> <p v-if="moreFolders">%i18n:mobile.tags.mk-drive.load-more%</p> </div> <div class="files" v-if="files.length > 0"> - <virtual each={ file in files }> + <template each={ file in files }> <mk-drive-file file={ file }/> - </virtual> + </template> <button class="more" v-if="moreFiles" @click="fetchMoreFiles"> { fetchingMoreFiles ? '%i18n:common.loading%' : '%i18n:mobile.tags.mk-drive.load-more%' } </button> diff --git a/src/web/app/mobile/tags/drive/file-viewer.tag b/src/web/app/mobile/tags/drive/file-viewer.tag index 846d12d86..ab0c94ae9 100644 --- a/src/web/app/mobile/tags/drive/file-viewer.tag +++ b/src/web/app/mobile/tags/drive/file-viewer.tag @@ -6,7 +6,7 @@ title={ file.name } onload={ onImageLoaded } style="background-color:rgb({ file.properties.average_color.join(',') })"> - <virtual v-if="kind != 'image'">%fa:file%</virtual> + <template v-if="kind != 'image'">%fa:file%</template> <footer v-if="kind == 'image' && file.properties && file.properties.width && file.properties.height"> <span class="size"> <span class="width">{ file.properties.width }</span> diff --git a/src/web/app/mobile/tags/follow-button.tag b/src/web/app/mobile/tags/follow-button.tag index 5f746c46b..c6215a7ba 100644 --- a/src/web/app/mobile/tags/follow-button.tag +++ b/src/web/app/mobile/tags/follow-button.tag @@ -1,8 +1,8 @@ <mk-follow-button> <button :class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" v-if="!init" @click="onclick" disabled={ wait }> - <virtual v-if="!wait && user.is_following">%fa:minus%</virtual> - <virtual v-if="!wait && !user.is_following">%fa:plus%</virtual> - <virtual v-if="wait">%fa:spinner .pulse .fw%</virtual>{ user.is_following ? '%i18n:mobile.tags.mk-follow-button.unfollow%' : '%i18n:mobile.tags.mk-follow-button.follow%' } + <template v-if="!wait && user.is_following">%fa:minus%</template> + <template v-if="!wait && !user.is_following">%fa:plus%</template> + <template v-if="wait">%fa:spinner .pulse .fw%</template>{ user.is_following ? '%i18n:mobile.tags.mk-follow-button.unfollow%' : '%i18n:mobile.tags.mk-follow-button.follow%' } </button> <div class="init" v-if="init">%fa:spinner .pulse .fw%</div> <style lang="stylus" scoped> diff --git a/src/web/app/mobile/tags/images.tag b/src/web/app/mobile/tags/images.tag index f4a103311..7d95d6de2 100644 --- a/src/web/app/mobile/tags/images.tag +++ b/src/web/app/mobile/tags/images.tag @@ -1,7 +1,7 @@ <mk-images> - <virtual each={ image in images }> + <template each={ image in images }> <mk-images-image image={ image }/> - </virtual> + </template> <style lang="stylus" scoped> :scope display grid diff --git a/src/web/app/mobile/tags/init-following.tag b/src/web/app/mobile/tags/init-following.tag index 94949a2e2..bf8313872 100644 --- a/src/web/app/mobile/tags/init-following.tag +++ b/src/web/app/mobile/tags/init-following.tag @@ -1,9 +1,9 @@ <mk-init-following> <p class="title">気になるユーザーをフォロー:</p> <div class="users" v-if="!fetching && users.length > 0"> - <virtual each={ users }> + <template each={ users }> <mk-user-card user={ this } /> - </virtual> + </template> </div> <p class="empty" v-if="!fetching && users.length == 0">おすすめのユーザーは見つかりませんでした。</p> <p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%読み込んでいます<mk-ellipsis/></p> diff --git a/src/web/app/mobile/tags/notification-preview.tag b/src/web/app/mobile/tags/notification-preview.tag index bd4f633f8..bc37f198e 100644 --- a/src/web/app/mobile/tags/notification-preview.tag +++ b/src/web/app/mobile/tags/notification-preview.tag @@ -1,52 +1,52 @@ <mk-notification-preview :class="{ notification.type }"> - <virtual v-if="notification.type == 'reaction'"> + <template v-if="notification.type == 'reaction'"> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> <div class="text"> <p><mk-reaction-icon reaction={ notification.reaction }/>{ notification.user.name }</p> <p class="post-ref">%fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right%</p> </div> - </virtual> - <virtual v-if="notification.type == 'repost'"> + </template> + <template v-if="notification.type == 'repost'"> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> <div class="text"> <p>%fa:retweet%{ notification.post.user.name }</p> <p class="post-ref">%fa:quote-left%{ getPostSummary(notification.post.repost) }%fa:quote-right%</p> </div> - </virtual> - <virtual v-if="notification.type == 'quote'"> + </template> + <template v-if="notification.type == 'quote'"> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> <div class="text"> <p>%fa:quote-left%{ notification.post.user.name }</p> <p class="post-preview">{ getPostSummary(notification.post) }</p> </div> - </virtual> - <virtual v-if="notification.type == 'follow'"> + </template> + <template v-if="notification.type == 'follow'"> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> <div class="text"> <p>%fa:user-plus%{ notification.user.name }</p> </div> - </virtual> - <virtual v-if="notification.type == 'reply'"> + </template> + <template v-if="notification.type == 'reply'"> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> <div class="text"> <p>%fa:reply%{ notification.post.user.name }</p> <p class="post-preview">{ getPostSummary(notification.post) }</p> </div> - </virtual> - <virtual v-if="notification.type == 'mention'"> + </template> + <template v-if="notification.type == 'mention'"> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> <div class="text"> <p>%fa:at%{ notification.post.user.name }</p> <p class="post-preview">{ getPostSummary(notification.post) }</p> </div> - </virtual> - <virtual v-if="notification.type == 'poll_vote'"> + </template> + <template v-if="notification.type == 'poll_vote'"> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> <div class="text"> <p>%fa:chart-pie%{ notification.user.name }</p> <p class="post-ref">%fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right%</p> </div> - </virtual> + </template> <style lang="stylus" scoped> :scope display block diff --git a/src/web/app/mobile/tags/notification.tag b/src/web/app/mobile/tags/notification.tag index d4f6ca92e..c942e21aa 100644 --- a/src/web/app/mobile/tags/notification.tag +++ b/src/web/app/mobile/tags/notification.tag @@ -1,6 +1,6 @@ <mk-notification :class="{ notification.type }"> <mk-time time={ notification.created_at }/> - <virtual v-if="notification.type == 'reaction'"> + <template v-if="notification.type == 'reaction'"> <a class="avatar-anchor" href={ '/' + notification.user.username }> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </a> @@ -13,8 +13,8 @@ %fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right% </a> </div> - </virtual> - <virtual v-if="notification.type == 'repost'"> + </template> + <template v-if="notification.type == 'repost'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </a> @@ -27,8 +27,8 @@ %fa:quote-left%{ getPostSummary(notification.post.repost) }%fa:quote-right% </a> </div> - </virtual> - <virtual v-if="notification.type == 'quote'"> + </template> + <template v-if="notification.type == 'quote'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </a> @@ -39,8 +39,8 @@ </p> <a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a> </div> - </virtual> - <virtual v-if="notification.type == 'follow'"> + </template> + <template v-if="notification.type == 'follow'"> <a class="avatar-anchor" href={ '/' + notification.user.username }> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </a> @@ -50,8 +50,8 @@ <a href={ '/' + notification.user.username }>{ notification.user.name }</a> </p> </div> - </virtual> - <virtual v-if="notification.type == 'reply'"> + </template> + <template v-if="notification.type == 'reply'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </a> @@ -62,8 +62,8 @@ </p> <a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a> </div> - </virtual> - <virtual v-if="notification.type == 'mention'"> + </template> + <template v-if="notification.type == 'mention'"> <a class="avatar-anchor" href={ '/' + notification.post.user.username }> <img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </a> @@ -74,8 +74,8 @@ </p> <a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a> </div> - </virtual> - <virtual v-if="notification.type == 'poll_vote'"> + </template> + <template v-if="notification.type == 'poll_vote'"> <a class="avatar-anchor" href={ '/' + notification.user.username }> <img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> </a> @@ -88,7 +88,7 @@ %fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right% </a> </div> - </virtual> + </template> <style lang="stylus" scoped> :scope display block diff --git a/src/web/app/mobile/tags/notifications.tag b/src/web/app/mobile/tags/notifications.tag index 2ff961ae2..c945f6a3e 100644 --- a/src/web/app/mobile/tags/notifications.tag +++ b/src/web/app/mobile/tags/notifications.tag @@ -1,12 +1,12 @@ <mk-notifications> <div class="notifications" v-if="notifications.length != 0"> - <virtual each={ notification, i in notifications }> + <template each={ notification, i in notifications }> <mk-notification notification={ notification }/> <p class="date" v-if="i != notifications.length - 1 && notification._date != notifications[i + 1]._date"><span>%fa:angle-up%{ notification._datetext }</span><span>%fa:angle-down%{ notifications[i + 1]._datetext }</span></p> - </virtual> + </template> </div> <button class="more" v-if="moreNotifications" @click="fetchMoreNotifications" disabled={ fetchingMoreNotifications }> - <virtual v-if="fetchingMoreNotifications">%fa:spinner .pulse .fw%</virtual>{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:mobile.tags.mk-notifications.more%' } + <template v-if="fetchingMoreNotifications">%fa:spinner .pulse .fw%</template>{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:mobile.tags.mk-notifications.more%' } </button> <p class="empty" v-if="notifications.length == 0 && !loading">%i18n:mobile.tags.mk-notifications.empty%</p> <p class="loading" v-if="loading">%fa:spinner .pulse .fw%%i18n:common.loading%<mk-ellipsis/></p> diff --git a/src/web/app/mobile/tags/post-detail.tag b/src/web/app/mobile/tags/post-detail.tag index 124a707d2..d812aba42 100644 --- a/src/web/app/mobile/tags/post-detail.tag +++ b/src/web/app/mobile/tags/post-detail.tag @@ -1,12 +1,12 @@ <mk-post-detail> <button class="read-more" v-if="p.reply && p.reply.reply_id && context == null" @click="loadContext" disabled={ loadingContext }> - <virtual v-if="!contextFetching">%fa:ellipsis-v%</virtual> - <virtual v-if="contextFetching">%fa:spinner .pulse%</virtual> + <template v-if="!contextFetching">%fa:ellipsis-v%</template> + <template v-if="contextFetching">%fa:spinner .pulse%</template> </button> <div class="context"> - <virtual each={ post in context }> + <template each={ post in context }> <mk-post-detail-sub post={ post }/> - </virtual> + </template> </div> <div class="reply-to" v-if="p.reply"> <mk-post-detail-sub post={ p.reply }/> @@ -58,9 +58,9 @@ </footer> </article> <div class="replies" v-if="!compact"> - <virtual each={ post in replies }> + <template each={ post in replies }> <mk-post-detail-sub post={ post }/> - </virtual> + </template> </div> <style lang="stylus" scoped> :scope diff --git a/src/web/app/mobile/tags/timeline.tag b/src/web/app/mobile/tags/timeline.tag index b1ff03547..ed3f88c04 100644 --- a/src/web/app/mobile/tags/timeline.tag +++ b/src/web/app/mobile/tags/timeline.tag @@ -5,13 +5,13 @@ <div class="empty" v-if="!init && posts.length == 0"> %fa:R comments%{ opts.empty || '%i18n:mobile.tags.mk-timeline.empty%' } </div> - <virtual each={ post, i in posts }> + <template each={ post, i in posts }> <mk-timeline-post post={ post }/> <p class="date" v-if="i != posts.length - 1 && post._date != posts[i + 1]._date"> <span>%fa:angle-up%{ post._datetext }</span> <span>%fa:angle-down%{ posts[i + 1]._datetext }</span> </p> - </virtual> + </template> <footer v-if="!init"> <button v-if="canFetchMore" @click="more" disabled={ fetching }> <span v-if="!fetching">%i18n:mobile.tags.mk-timeline.load-more%</span> diff --git a/src/web/app/mobile/tags/ui.tag b/src/web/app/mobile/tags/ui.tag index 16fb116eb..0a4483fd2 100644 --- a/src/web/app/mobile/tags/ui.tag +++ b/src/web/app/mobile/tags/ui.tag @@ -53,7 +53,7 @@ <div class="backdrop"></div> <div class="content"> <button class="nav" @click="parent.toggleDrawer">%fa:bars%</button> - <virtual v-if="hasUnreadNotifications || hasUnreadMessagingMessages">%fa:circle%</virtual> + <template v-if="hasUnreadNotifications || hasUnreadMessagingMessages">%fa:circle%</template> <h1 ref="title">Misskey</h1> <button v-if="func" @click="func"><mk-raw content={ funcIcon }/></button> </div> @@ -234,8 +234,8 @@ <div class="links"> <ul> <li><a href="/">%fa:home%%i18n:mobile.tags.mk-ui-nav.home%%fa:angle-right%</a></li> - <li><a href="/i/notifications">%fa:R bell%%i18n:mobile.tags.mk-ui-nav.notifications%<virtual v-if="hasUnreadNotifications">%fa:circle%</virtual>%fa:angle-right%</a></li> - <li><a href="/i/messaging">%fa:R comments%%i18n:mobile.tags.mk-ui-nav.messaging%<virtual v-if="hasUnreadMessagingMessages">%fa:circle%</virtual>%fa:angle-right%</a></li> + <li><a href="/i/notifications">%fa:R bell%%i18n:mobile.tags.mk-ui-nav.notifications%<template v-if="hasUnreadNotifications">%fa:circle%</template>%fa:angle-right%</a></li> + <li><a href="/i/messaging">%fa:R comments%%i18n:mobile.tags.mk-ui-nav.messaging%<template v-if="hasUnreadMessagingMessages">%fa:circle%</template>%fa:angle-right%</a></li> </ul> <ul> <li><a href={ _CH_URL_ } target="_blank">%fa:tv%%i18n:mobile.tags.mk-ui-nav.ch%%fa:angle-right%</a></li> diff --git a/src/web/app/mobile/tags/user.tag b/src/web/app/mobile/tags/user.tag index d0874f8e7..0091bafc2 100644 --- a/src/web/app/mobile/tags/user.tag +++ b/src/web/app/mobile/tags/user.tag @@ -309,9 +309,9 @@ <mk-user-overview-posts> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-posts.loading%<mk-ellipsis/></p> <div v-if="!initializing && posts.length > 0"> - <virtual each={ posts }> + <template each={ posts }> <mk-user-overview-posts-post-card post={ this }/> - </virtual> + </template> </div> <p class="empty" v-if="!initializing && posts.length == 0">%i18n:mobile.tags.mk-user-overview-posts.no-posts%</p> <style lang="stylus" scoped> @@ -438,9 +438,9 @@ <mk-user-overview-photos> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-photos.loading%<mk-ellipsis/></p> <div class="stream" v-if="!initializing && images.length > 0"> - <virtual each={ image in images }> + <template each={ image in images }> <a class="img" style={ 'background-image: url(' + image.media.url + '?thumbnail&size=256)' } href={ '/' + image.post.user.username + '/' + image.post.id }></a> - </virtual> + </template> </div> <p class="empty" v-if="!initializing && images.length == 0">%i18n:mobile.tags.mk-user-overview-photos.no-photos%</p> <style lang="stylus" scoped> @@ -559,9 +559,9 @@ <mk-user-overview-keywords> <div v-if="user.keywords != null && user.keywords.length > 1"> - <virtual each={ keyword in user.keywords }> + <template each={ keyword in user.keywords }> <a>{ keyword }</a> - </virtual> + </template> </div> <p class="empty" v-if="user.keywords == null || user.keywords.length == 0">%i18n:mobile.tags.mk-user-overview-keywords.no-keywords%</p> <style lang="stylus" scoped> @@ -593,9 +593,9 @@ <mk-user-overview-domains> <div v-if="user.domains != null && user.domains.length > 1"> - <virtual each={ domain in user.domains }> + <template each={ domain in user.domains }> <a style="opacity: { 0.5 + (domain.weight / 2) }">{ domain.domain }</a> - </virtual> + </template> </div> <p class="empty" v-if="user.domains == null || user.domains.length == 0">%i18n:mobile.tags.mk-user-overview-domains.no-domains%</p> <style lang="stylus" scoped> @@ -628,9 +628,9 @@ <mk-user-overview-frequently-replied-users> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-frequently-replied-users.loading%<mk-ellipsis/></p> <div v-if="!initializing && users.length > 0"> - <virtual each={ users }> + <template each={ users }> <mk-user-card user={ this.user }/> - </virtual> + </template> </div> <p class="empty" v-if="!initializing && users.length == 0">%i18n:mobile.tags.mk-user-overview-frequently-replied-users.no-users%</p> <style lang="stylus" scoped> @@ -680,9 +680,9 @@ <mk-user-overview-followers-you-know> <p class="initializing" v-if="initializing">%fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-followers-you-know.loading%<mk-ellipsis/></p> <div v-if="!initializing && users.length > 0"> - <virtual each={ user in users }> + <template each={ user in users }> <a href={ '/' + user.username }><img src={ user.avatar_url + '?thumbnail&size=64' } alt={ user.name }/></a> - </virtual> + </template> </div> <p class="empty" v-if="!initializing && users.length == 0">%i18n:mobile.tags.mk-user-overview-followers-you-know.no-users%</p> <style lang="stylus" scoped>