wip
This commit is contained in:
parent
f8c8559089
commit
43525c4839
57 changed files with 205 additions and 205 deletions
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 }/>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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 }/>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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) }/>
|
||||
|
|
|
|||
|
|
@ -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)"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue