This commit is contained in:
syuilo
2017-12-08 02:44:50 +09:00
parent 822ba594ec
commit a7aa24e7a3
115 changed files with 559 additions and 456 deletions

View File

@@ -2,8 +2,8 @@
<div class="body">
<header>
<h1>%i18n:mobile.tags.mk-drive-folder-selector.select-folder%</h1>
<button class="close" onclick={ cancel }><i class="fa fa-times"></i></button>
<button class="ok" onclick={ ok }><i class="fa fa-check"></i></button>
<button class="close" onclick={ cancel }>%fa:times%</button>
<button class="ok" onclick={ ok }>%fa:check%</button>
</header>
<mk-drive ref="browser" select-folder={ true }/>
</div>

View File

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

View File

@@ -1,16 +1,16 @@
<mk-drive>
<nav ref="nav">
<p onclick={ goRoot }><i class="fa fa-cloud"></i>%i18n:mobile.tags.mk-drive.drive%</p>
<p onclick={ goRoot }>%fa:cloud%%i18n:mobile.tags.mk-drive.drive%</p>
<virtual each={ folder in hierarchyFolders }>
<span><i class="fa fa-angle-right"></i></span>
<span>%fa:angle-right%</span>
<p onclick={ move }>{ folder.name }</p>
</virtual>
<virtual if={ folder != null }>
<span><i class="fa fa-angle-right"></i></span>
<span>%fa:angle-right%</span>
<p>{ folder.name }</p>
</virtual>
<virtual if={ file != null }>
<span><i class="fa fa-angle-right"></i></span>
<span>%fa:angle-right%</span>
<p>{ file.name }</p>
</virtual>
</nav>
@@ -81,7 +81,7 @@
&:last-child
font-weight bold
> i
> [data-fa]
margin-right 4px
> span

View File

@@ -1,7 +1,7 @@
<mk-drive-file-viewer>
<div class="preview">
<img if={ kind == 'image' } src={ file.url } alt={ file.name } title={ file.name }>
<i if={ kind != 'image' } class="fa fa-file"></i>
<virtual if={ kind != 'image' }>%fa:file%</virtual>
<footer if={ kind == 'image' && file.properties && file.properties.width && file.properties.height }>
<span class="size">
<span class="width">{ file.properties.width }</span>
@@ -23,26 +23,26 @@
<span class="separator"></span>
<span class="data-size">{ bytesToSize(file.datasize) }</span>
<span class="separator"></span>
<span class="created-at" onclick={ showCreatedAt }><i class="fa fa-clock-o"></i><mk-time time={ file.created_at }/></span>
<span class="created-at" onclick={ showCreatedAt }>%fa:R clock%<mk-time time={ file.created_at }/></span>
</div>
</div>
<div class="menu">
<div>
<a href={ file.url + '?download' } download={ file.name }>
<i class="fa fa-download"></i>%i18n:mobile.tags.mk-drive-file-viewer.download%
%fa:download%%i18n:mobile.tags.mk-drive-file-viewer.download%
</a>
<button onclick={ rename }>
<i class="fa fa-pencil"></i>%i18n:mobile.tags.mk-drive-file-viewer.rename%
%fa:pencil-alt%%i18n:mobile.tags.mk-drive-file-viewer.rename%
</button>
<button onclick={ move }>
<i class="fa fa-folder-open"></i>%i18n:mobile.tags.mk-drive-file-viewer.move%
%fa:folder-open%%i18n:mobile.tags.mk-drive-file-viewer.move%
</button>
</div>
</div>
<div class="hash">
<div>
<p>
<i class="fa fa-hashtag"></i>%i18n:mobile.tags.mk-drive-file-viewer.hash%
%fa:hashtag%%i18n:mobile.tags.mk-drive-file-viewer.hash%
</p>
<code>{ file.md5 }</code>
</div>
@@ -114,7 +114,7 @@
> .created-at
color #bdbdbd
> i
> [data-fa]
margin-right 2px
> .menu
@@ -149,7 +149,7 @@
border-color #444
box-shadow 0 1px 3px rgba(0, 0, 0, 0.075), inset 0 0 5px rgba(0, 0, 0, 0.2)
> i
> [data-fa]
margin-right 4px
> .hash
@@ -167,7 +167,7 @@
color #555
font-size 0.9em
> i
> [data-fa]
margin-right 4px
> code

View File

@@ -15,7 +15,7 @@
<p class="data-size">{ bytesToSize(file.datasize) }</p>
<p class="separator"></p>
<p class="created-at">
<i class="fa fa-clock-o"></i><mk-time time={ file.created_at }/>
%fa:R clock%<mk-time time={ file.created_at }/>
</p>
</footer>
</div>
@@ -112,7 +112,7 @@
padding 0
color #BDBDBD
> i
> [data-fa]
margin-right 2px
&[data-is-selected]

View File

@@ -1,6 +1,6 @@
<mk-drive-folder onclick={ onclick }>
<div class="container">
<p class="name"><i class="fa fa-folder"></i>{ folder.name }</p><i class="fa fa-angle-right"></i>
<p class="name">%fa:folder%{ folder.name }</p>%fa:angle-right%
</div>
<style>
:scope
@@ -23,10 +23,10 @@
margin 0
padding 0
> i
> [data-fa]
margin-right 6px
> i
> [data-fa]
position absolute
top 0
bottom 0

View File

@@ -1,6 +1,10 @@
<mk-follow-button>
<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait && user.is_following }></i><i class="fa fa-plus" if={ !wait && !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? '%i18n:mobile.tags.mk-follow-button.unfollow%' : '%i18n:mobile.tags.mk-follow-button.follow%' }</button>
<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }>
<virtual if={ !wait && user.is_following }>%fa:minus%</virtual>
<virtual if={ !wait && !user.is_following }>%fa:plus%</virtual>
<virtual if={ wait }>%fa:spinner .pluse .fw%</virtual>{ user.is_following ? '%i18n:mobile.tags.mk-follow-button.unfollow%' : '%i18n:mobile.tags.mk-follow-button.follow%' }
</button>
<div class="init" if={ init }>%fa:spinner .pluse .fw%</div>
<style>
:scope
display block
@@ -43,7 +47,7 @@
cursor wait !important
opacity 0.7
> i
> [data-fa]
margin-right 4px
</style>

View File

@@ -6,9 +6,9 @@
</virtual>
</div>
<p class="empty" if={ !fetching && users.length == 0 }>おすすめのユーザーは見つかりませんでした。</p>
<p class="fetching" if={ fetching }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます<mk-ellipsis/></p>
<p class="fetching" if={ fetching }>%fa:spinner .pluse .fw%読み込んでいます<mk-ellipsis/></p>
<a class="refresh" onclick={ refresh }>もっと見る</a>
<button class="close" onclick={ close } title="閉じる"><i class="fa fa-times"></i></button>
<button class="close" onclick={ close } title="閉じる">%fa:times%</button>
<style>
:scope
display block
@@ -46,7 +46,7 @@
text-align center
color #aaa
> i
> [data-fa]
margin-right 4px
> .refresh
@@ -78,7 +78,7 @@
&:active
color #222
> i
> [data-fa]
padding 10px
</style>

View File

@@ -9,41 +9,41 @@
<virtual if={ notification.type == 'repost' }>
<img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
<div class="text">
<p><i class="fa fa-retweet"></i>{ notification.post.user.name }</p>
<p>%fa:retweet%{ notification.post.user.name }</p>
<p class="post-ref">{ getPostSummary(notification.post.repost) }</p>
</div>
</virtual>
<virtual if={ notification.type == 'quote' }>
<img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
<div class="text">
<p><i class="fa fa-quote-left"></i>{ notification.post.user.name }</p>
<p>%fa:quote-left%{ notification.post.user.name }</p>
<p class="post-preview">{ getPostSummary(notification.post) }</p>
</div>
</virtual>
<virtual if={ notification.type == 'follow' }>
<img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
<div class="text">
<p><i class="fa fa-user-plus"></i>{ notification.user.name }</p>
<p>%fa:user-plus%{ notification.user.name }</p>
</div>
</virtual>
<virtual if={ notification.type == 'reply' }>
<img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
<div class="text">
<p><i class="fa fa-reply"></i>{ notification.post.user.name }</p>
<p>%fa:reply%{ notification.post.user.name }</p>
<p class="post-preview">{ getPostSummary(notification.post) }</p>
</div>
</virtual>
<virtual if={ notification.type == 'mention' }>
<img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
<div class="text">
<p><i class="fa fa-at"></i>{ notification.post.user.name }</p>
<p>%fa:at%{ notification.post.user.name }</p>
<p class="post-preview">{ getPostSummary(notification.post) }</p>
</div>
</virtual>
<virtual if={ notification.type == 'poll_vote' }>
<img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
<div class="text">
<p><i class="fa fa-pie-chart"></i>{ notification.user.name }</p>
<p>%fa:pie-chart%{ notification.user.name }</p>
<p class="post-ref">{ getPostSummary(notification.post) }</p>
</div>
</virtual>

View File

@@ -18,7 +18,7 @@
</a>
<div class="text">
<p>
<i class="fa fa-retweet"></i>
%fa:retweet%
<a href={ '/' + notification.post.user.username }>{ notification.post.user.name }</a>
</p>
<a class="post-ref" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post.repost) }</a>
@@ -30,7 +30,7 @@
</a>
<div class="text">
<p>
<i class="fa fa-quote-left"></i>
%fa:quote-left%
<a href={ '/' + notification.post.user.username }>{ notification.post.user.name }</a>
</p>
<a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
@@ -42,7 +42,7 @@
</a>
<div class="text">
<p>
<i class="fa fa-user-plus"></i>
%fa:user-plus%
<a href={ '/' + notification.user.username }>{ notification.user.name }</a>
</p>
</div>
@@ -53,7 +53,7 @@
</a>
<div class="text">
<p>
<i class="fa fa-reply"></i>
%fa:reply%
<a href={ '/' + notification.post.user.username }>{ notification.post.user.name }</a>
</p>
<a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
@@ -65,7 +65,7 @@
</a>
<div class="text">
<p>
<i class="fa fa-at"></i>
%fa:at%
<a href={ '/' + notification.post.user.username }>{ notification.post.user.name }</a>
</p>
<a class="post-preview" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
@@ -77,7 +77,7 @@
</a>
<div class="text">
<p>
<i class="fa fa-pie-chart"></i>
%fa:pie-chart%
<a href={ '/' + notification.user.username }>{ notification.user.name }</a>
</p>
<a class="post-ref" href={ '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>

View File

@@ -2,14 +2,14 @@
<div class="notifications" if={ notifications.length != 0 }>
<virtual each={ notification, i in notifications }>
<mk-notification notification={ notification }/>
<p class="date" if={ i != notifications.length - 1 && notification._date != notifications[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
<p class="date" 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>
</div>
<button class="more" if={ moreNotifications } onclick={ fetchMoreNotifications } disabled={ fetchingMoreNotifications }>
<i class="fa fa-spinner fa-pulse fa-fw" if={ fetchingMoreNotifications }></i>{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:mobile.tags.mk-notifications.more%' }
<virtual if={ fetchingMoreNotifications }>%fa:spinner .pluse .fw%</virtual>{ fetchingMoreNotifications ? '%i18n:common.loading%' : '%i18n:mobile.tags.mk-notifications.more%' }
</button>
<p class="empty" if={ notifications.length == 0 && !loading }>%i18n:mobile.tags.mk-notifications.empty%</p>
<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:common.loading%<mk-ellipsis/></p>
<p class="loading" if={ loading }>%fa:spinner .pluse .fw%%i18n:common.loading%<mk-ellipsis/></p>
<style>
:scope
display block
@@ -58,7 +58,7 @@
color #555
border-top solid 1px rgba(0, 0, 0, 0.05)
> i
> [data-fa]
margin-right 4px
> .empty
@@ -73,7 +73,7 @@
text-align center
color #aaa
> i
> [data-fa]
margin-right 4px
</style>

View File

@@ -12,11 +12,11 @@
this.on('mount', () => {
document.title = 'Misskey Drive';
ui.trigger('title', '<i class="fa fa-cloud"></i>%i18n:mobile.tags.mk-drive-page.drive%');
ui.trigger('title', '%fa:cloud%%i18n:mobile.tags.mk-drive-page.drive%');
ui.trigger('func', () => {
this.refs.ui.refs.browser.openContextMenu();
}, 'ellipsis-h');
}, '%fa:ellipsis-h%');
this.refs.ui.refs.browser.on('begin-fetch', () => {
Progress.start();
@@ -37,7 +37,7 @@
history.pushState(null, title, '/i/drive');
document.title = title;
ui.trigger('title', '<i class="fa fa-cloud"></i>%i18n:mobile.tags.mk-drive-page.drive%');
ui.trigger('title', '%fa:cloud%%i18n:mobile.tags.mk-drive-page.drive%');
});
this.refs.ui.refs.browser.on('open-folder', (folder, silent) => {
@@ -50,7 +50,7 @@
document.title = title;
// TODO: escape html characters in folder.name
ui.trigger('title', '<i class="fa fa-folder-open"></i>' + folder.name);
ui.trigger('title', '%fa:folder-open%' + folder.name);
});
this.refs.ui.refs.browser.on('open-file', (file, silent) => {

View File

@@ -1,6 +1,6 @@
<mk-entrance-signup>
<mk-signup/>
<button class="cancel" type="button" onclick={ parent.signin } title="%i18n:mobile.tags.mk-entrance-signup.cancel%"><i class="fa fa-times"></i></button>
<button class="cancel" type="button" onclick={ parent.signin } title="%i18n:mobile.tags.mk-entrance-signup.cancel%">%fa:times%</button>
<style>
:scope
display block
@@ -31,7 +31,7 @@
&:active
color #222
> i
> [data-fa]
padding 14px
</style>

View File

@@ -22,12 +22,12 @@
this.on('mount', () => {
document.title = 'Misskey'
ui.trigger('title', '<i class="fa fa-home"></i>%i18n:mobile.tags.mk-home.home%');
ui.trigger('title', '%fa:home%%i18n:mobile.tags.mk-home.home%');
document.documentElement.style.background = '#313a42';
ui.trigger('func', () => {
openPostForm();
}, 'pencil');
}, '%fa:pencil-alt%');
Progress.start();

View File

@@ -24,7 +24,7 @@
document.title = `%i18n:mobile.tags.mk-messaging-room-page.message%: ${user.name} | Misskey`;
// TODO: ユーザー名をエスケープ
ui.trigger('title', '<i class="fa fa-comments-o"></i>' + user.name);
ui.trigger('title', '%fa:R comments%' + user.name);
});
});
</script>

View File

@@ -13,7 +13,7 @@
this.on('mount', () => {
document.title = 'Misskey | %i18n:mobile.tags.mk-messaging-page.message%';
ui.trigger('title', '<i class="fa fa-comments-o"></i>%i18n:mobile.tags.mk-messaging-page.message%');
ui.trigger('title', '%fa:R comments%%i18n:mobile.tags.mk-messaging-page.message%');
this.refs.ui.refs.index.on('navigate-user', user => {
this.page('/i/messaging/' + user.username);

View File

@@ -14,12 +14,12 @@
this.on('mount', () => {
document.title = 'Misskey | %i18n:mobile.tags.mk-notifications-page.notifications%';
ui.trigger('title', '<i class="fa fa-bell-o"></i>%i18n:mobile.tags.mk-notifications-page.notifications%');
ui.trigger('title', '%fa:R bell%%i18n:mobile.tags.mk-notifications-page.notifications%');
document.documentElement.style.background = '#313a42';
ui.trigger('func', () => {
this.readAll();
}, 'check');
}, '%fa:check%');
Progress.start();

View File

@@ -1,11 +1,11 @@
<mk-post-page>
<mk-ui ref="ui">
<main if={ !parent.fetching }>
<a if={ parent.post.next } href={ parent.post.next }><i class="fa fa-angle-up"></i>%i18n:mobile.tags.mk-post-page.next%</a>
<a if={ parent.post.next } href={ parent.post.next }>%fa:angle-up%%i18n:mobile.tags.mk-post-page.next%</a>
<div>
<mk-post-detail ref="post" post={ parent.post }/>
</div>
<a if={ parent.post.prev } href={ parent.post.prev }><i class="fa fa-angle-down"></i>%i18n:mobile.tags.mk-post-page.prev%</a>
<a if={ parent.post.prev } href={ parent.post.prev }>%fa:angle-down%%i18n:mobile.tags.mk-post-page.prev%</a>
</main>
</mk-ui>
<style>
@@ -40,8 +40,9 @@
@media (min-width 500px)
margin-bottom 16px
> i
> [data-fa]
margin-right 4px
</style>
<script>
import ui from '../../scripts/ui-event';
@@ -54,7 +55,7 @@
this.on('mount', () => {
document.title = 'Misskey';
ui.trigger('title', '<i class="fa fa-sticky-note-o"></i>%i18n:mobile.tags.mk-post-page.title%');
ui.trigger('title', '%fa:sticky-note-o%%i18n:mobile.tags.mk-post-page.title%');
document.documentElement.style.background = '#313a42';
Progress.start();

View File

@@ -13,7 +13,7 @@
this.on('mount', () => {
document.title = `%i18n:mobile.tags.mk-search-page.search%: ${this.opts.query} | Misskey`
// TODO: クエリをHTMLエスケープ
ui.trigger('title', '<i class="fa fa-search"></i>' + this.opts.query);
ui.trigger('title', '%fa:search%' + this.opts.query);
document.documentElement.style.background = '#313a42';
Progress.start();

View File

@@ -1,8 +1,8 @@
<mk-selectdrive-page>
<header>
<h1>%i18n:mobile.tags.mk-selectdrive-page.select-file%<span class="count" if={ files.length > 0 }>({ files.length })</span></h1>
<button class="upload" onclick={ upload }><i class="fa fa-upload"></i></button>
<button if={ multiple } class="ok" onclick={ ok }><i class="fa fa-check"></i></button>
<button class="upload" onclick={ upload }>%fa:upload%</button>
<button if={ multiple } class="ok" onclick={ ok }>%fa:check%</button>
</header>
<mk-drive ref="browser" select-file={ true } multiple={ multiple } is-naked={ true } top={ 42 }/>

View File

@@ -11,7 +11,7 @@
this.on('mount', () => {
document.title = 'Misskey | %i18n:mobile.tags.mk-settings-page.settings%';
ui.trigger('title', '<i class="fa fa-cog"></i>%i18n:mobile.tags.mk-settings-page.settings%');
ui.trigger('title', '%fa:cog%%i18n:mobile.tags.mk-settings-page.settings%');
document.documentElement.style.background = '#313a42';
});
</script>

View File

@@ -11,7 +11,7 @@
this.on('mount', () => {
document.title = 'Misskey | API';
ui.trigger('title', '<i class="fa fa-key"></i>API');
ui.trigger('title', '%fa:key%API');
});
</script>
</mk-api-info-page>

View File

@@ -11,7 +11,7 @@
this.on('mount', () => {
document.title = 'Misskey | %i18n:mobile.tags.mk-authorized-apps-page.application%';
ui.trigger('title', '<i class="fa fa-puzzle-piece"></i>%i18n:mobile.tags.mk-authorized-apps-page.application%');
ui.trigger('title', '%fa:puzzle-piece%%i18n:mobile.tags.mk-authorized-apps-page.application%');
});
</script>
</mk-authorized-apps-page>

View File

@@ -11,7 +11,7 @@
this.on('mount', () => {
document.title = 'Misskey | %i18n:mobile.tags.mk-profile-setting-page.title%';
ui.trigger('title', '<i class="fa fa-user"></i>%i18n:mobile.tags.mk-profile-setting-page.title%');
ui.trigger('title', '%fa:user%%i18n:mobile.tags.mk-profile-setting-page.title%');
document.documentElement.style.background = '#313a42';
});
</script>
@@ -19,7 +19,7 @@
<mk-profile-setting>
<div>
<p><i class="fa fa-info-circle"></i>%i18n:mobile.tags.mk-profile-setting.will-be-published%</p>
<p>%fa:info-circle%%i18n:mobile.tags.mk-profile-setting.will-be-published%</p>
<div class="form">
<div style={ I.banner_url ? 'background-image: url(' + I.banner_url + '?thumbnail&size=1024)' : '' } onclick={ clickBanner }>
<img src={ I.avatar_url + '?thumbnail&size=200' } alt="avatar" onclick={ clickAvatar }/>
@@ -49,7 +49,7 @@
<button onclick={ setBanner } disabled={ bannerSaving }>%i18n:mobile.tags.mk-profile-setting.set-banner%</button>
</label>
</div>
<button class="save" onclick={ save } disabled={ saving }><i class="fa fa-check"></i>%i18n:mobile.tags.mk-profile-setting.save%</button>
<button class="save" onclick={ save } disabled={ saving }>%fa:check%%i18n:mobile.tags.mk-profile-setting.save%</button>
</div>
<style>
:scope
@@ -76,7 +76,7 @@
//border solid 1px #a9d5de
border-radius 8px
> i
> [data-fa]
margin-right 6px
> .form
@@ -165,7 +165,7 @@
&:disabled
opacity 0.7
> i
> [data-fa]
margin-right 4px
</style>

View File

@@ -11,7 +11,7 @@
this.on('mount', () => {
document.title = 'Misskey | %i18n:mobile.tags.mk-signin-history-page.signin-history%';
ui.trigger('title', '<i class="fa fa-sign-in"></i>%i18n:mobile.tags.mk-signin-history-page.signin-history%');
ui.trigger('title', '%fa:sign-in%%i18n:mobile.tags.mk-signin-history-page.signin-history%');
});
</script>
</mk-signin-history-page>

View File

@@ -11,7 +11,7 @@
this.on('mount', () => {
document.title = 'Misskey | %i18n:mobile.tags.mk-twitter-setting-page.twitter-integration%';
ui.trigger('title', '<i class="fa fa-twitter"></i>%i18n:mobile.tags.mk-twitter-setting-page.twitter-integration%');
ui.trigger('title', '%fa:twitter%%i18n:mobile.tags.mk-twitter-setting-page.twitter-integration%');
});
</script>
</mk-twitter-setting-page>

View File

@@ -20,7 +20,7 @@
Progress.done();
document.title = user.name + ' | Misskey';
// TODO: ユーザー名をエスケープ
ui.trigger('title', '<i class="fa fa-user"></i>' + user.name);
ui.trigger('title', '%fa:user%' + user.name);
});
});
</script>

View File

@@ -1,7 +1,7 @@
<mk-post-detail>
<button class="read-more" if={ p.reply && p.reply.reply_id && context == null } onclick={ loadContext } disabled={ loadingContext }>
<i class="fa fa-ellipsis-v" if={ !contextFetching }></i>
<i class="fa fa-spinner fa-pulse" if={ contextFetching }></i>
<virtual if={ !contextFetching }>%fa:ellipsis-v%</virtual>
<virtual if={ contextFetching }>%fa:spinner .pluse%</virtual>
</button>
<div class="context">
<virtual each={ post in context }>
@@ -15,7 +15,7 @@
<p>
<a class="avatar-anchor" href={ '/' + post.user.username }>
<img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=32' } alt="avatar"/></a>
<i class="fa fa-retweet"></i><a class="name" href={ '/' + post.user.username }>
%fa:retweet%<a class="name" href={ '/' + post.user.username }>
{ post.user.name }
</a>
がRepost
@@ -44,16 +44,16 @@
<footer>
<mk-reactions-viewer post={ p }/>
<button onclick={ reply } title="%i18n:mobile.tags.mk-post-detail.reply%">
<i class="fa fa-reply"></i><p class="count" if={ p.replies_count > 0 }>{ p.replies_count }</p>
%fa:reply%<p class="count" if={ p.replies_count > 0 }>{ p.replies_count }</p>
</button>
<button onclick={ repost } title="Repost">
<i class="fa fa-retweet"></i><p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
%fa:retweet%<p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
</button>
<button class={ reacted: p.my_reaction != null } onclick={ react } ref="reactButton" title="%i18n:mobile.tags.mk-post-detail.reaction%">
<i class="fa fa-plus"></i><p class="count" if={ p.reactions_count > 0 }>{ p.reactions_count }</p>
%fa:plus%<p class="count" if={ p.reactions_count > 0 }>{ p.reactions_count }</p>
</button>
<button onclick={ menu } ref="menuButton">
<i class="fa fa-ellipsis-h"></i>
%fa:ellipsis-h%
</button>
</footer>
</article>

View File

@@ -1,6 +1,6 @@
<mk-post-form>
<header>
<button class="cancel" onclick={ cancel }><i class="fa fa-times"></i></button>
<button class="cancel" onclick={ cancel }>%fa:times%</button>
<div>
<span if={ refs.text } class="text-count { over: refs.text.value.length > 1000 }">{ 1000 - refs.text.value.length }</span>
<button class="submit" onclick={ post }>%i18n:mobile.tags.mk-post-form.submit%</button>
@@ -14,15 +14,15 @@
<li class="file" each={ files }>
<div class="img" style="background-image: url({ url + '?thumbnail&size=64' })" title={ name }></div>
</li>
<li class="add" if={ files.length < 4 } title="%i18n:mobile.tags.mk-post-form.attach-media-from-local%" onclick={ selectFile }><i class="fa fa-plus"></i></li>
<li class="add" if={ files.length < 4 } title="%i18n:mobile.tags.mk-post-form.attach-media-from-local%" onclick={ selectFile }>%fa:plus%</li>
</ul>
</div>
<mk-poll-editor if={ poll } ref="poll" ondestroy={ onPollDestroyed }/>
<mk-uploader ref="uploader"/>
<button ref="upload" onclick={ selectFile }><i class="fa fa-upload"></i></button>
<button ref="drive" onclick={ selectFileFromDrive }><i class="fa fa-cloud"></i></button>
<button class="kao" onclick={ kao }><i class="fa fa-smile-o"></i></button>
<button class="poll" onclick={ addPoll }><i class="fa fa-pie-chart"></i></button>
<button ref="upload" onclick={ selectFile }>%fa:upload%</button>
<button ref="drive" onclick={ selectFileFromDrive }>%fa:cloud%</button>
<button class="kao" onclick={ kao }>%fa:R smile%</button>
<button class="poll" onclick={ addPoll }>%fa:pie-chart%</button>
<input ref="file" type="file" accept="image/*" multiple="multiple" onchange={ changeFile }/>
</div>
<style>
@@ -126,10 +126,10 @@
&:hover
border-color rgba($theme-color, 0.3)
> i
> [data-fa]
color rgba($theme-color, 0.4)
> i
> [data-fa]
display block
width 60px
height 60px

View File

@@ -1,5 +1,5 @@
<mk-sub-post-content>
<div class="body"><a class="reply" if={ post.reply_id }><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if={ post.repost_id } href={ '/post:' + post.repost_id }>RP: ...</a></div>
<div class="body"><a class="reply" if={ post.reply_id }>%fa:reply%</a><span ref="text"></span><a class="quote" if={ post.repost_id } href={ '/post:' + post.repost_id }>RP: ...</a></div>
<details if={ post.media }>
<summary>({ post.media.length }個のメディア)</summary>
<mk-images-viewer images={ post.media }/>

View File

@@ -1,15 +1,15 @@
<mk-timeline>
<div class="init" if={ init }>
<i class="fa fa-spinner fa-pulse"></i>%i18n:common.loading%
%fa:spinner .pluse%%i18n:common.loading%
</div>
<div class="empty" if={ !init && posts.length == 0 }>
<i class="fa fa-comments-o"></i>{ opts.empty || '%i18n:mobile.tags.mk-timeline.empty%' }
%fa:R comments%{ opts.empty || '%i18n:mobile.tags.mk-timeline.empty%' }
</div>
<virtual each={ post, i in posts }>
<mk-timeline-post post={ post }/>
<p class="date" if={ i != posts.length - 1 && post._date != posts[i + 1]._date }>
<span><i class="fa fa-angle-up"></i>{ post._datetext }</span>
<span><i class="fa fa-angle-down"></i>{ posts[i + 1]._datetext }</span>
<span>%fa:angle-up%{ post._datetext }</span>
<span>%fa:angle-down%{ posts[i + 1]._datetext }</span>
</p>
</virtual>
<footer if={ !init }>
@@ -30,7 +30,7 @@
text-align center
color #999
> i
> [data-fa]
margin-right 4px
> .empty
@@ -40,7 +40,7 @@
text-align center
color #999
> i
> [data-fa]
display block
margin-bottom 16px
font-size 3em
@@ -145,7 +145,7 @@
<a class="avatar-anchor" href={ '/' + post.user.username }>
<img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
</a>
<i class="fa fa-retweet"></i>{'%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr(0, '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('{'))}<a class="name" href={ '/' + post.user.username }>{ post.user.name }</a>{'%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr('%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('}') + 1)}
%fa:retweet%{'%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr(0, '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('{'))}<a class="name" href={ '/' + post.user.username }>{ post.user.name }</a>{'%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr('%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('}') + 1)}
</p>
<mk-time time={ post.created_at }/>
</div>
@@ -166,7 +166,7 @@
<div class="text" ref="text">
<p class="channel" if={ p.channel != null }><a href={ _CH_URL_ + '/' + p.channel.id } target="_blank">{ p.channel.title }</a>:</p>
<a class="reply" if={ p.reply }>
<i class="fa fa-reply"></i>
%fa:reply%
</a>
<p class="dummy"></p>
<a class="quote" if={ p.repost != null }>RP:</a>
@@ -176,23 +176,23 @@
</div>
<mk-poll if={ p.poll } post={ p } ref="pollViewer"/>
<span class="app" if={ p.app }>via <b>{ p.app.name }</b></span>
<div class="repost" if={ p.repost }><i class="fa fa-quote-right fa-flip-horizontal"></i>
<div class="repost" if={ p.repost }>%fa:quote-right -flip-h%
<mk-post-preview class="repost" post={ p.repost }/>
</div>
</div>
<footer>
<mk-reactions-viewer post={ p } ref="reactionsViewer"/>
<button onclick={ reply }>
<i class="fa fa-reply"></i><p class="count" if={ p.replies_count > 0 }>{ p.replies_count }</p>
%fa:reply%<p class="count" if={ p.replies_count > 0 }>{ p.replies_count }</p>
</button>
<button onclick={ repost } title="Repost">
<i class="fa fa-retweet"></i><p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
%fa:retweet%<p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
</button>
<button class={ reacted: p.my_reaction != null } onclick={ react } ref="reactButton">
<i class="fa fa-plus"></i><p class="count" if={ p.reactions_count > 0 }>{ p.reactions_count }</p>
%fa:plus%<p class="count" if={ p.reactions_count > 0 }>{ p.reactions_count }</p>
</button>
<button class="menu" onclick={ menu } ref="menuButton">
<i class="fa fa-ellipsis-h"></i>
%fa:ellipsis-h%
</button>
</footer>
</div>
@@ -422,7 +422,7 @@
> .repost
margin 8px 0
> i:first-child
> [data-fa]:first-child
position absolute
top -8px
left -8px

View File

@@ -52,10 +52,10 @@
<div class="main">
<div class="backdrop"></div>
<div class="content">
<button class="nav" onclick={ parent.toggleDrawer }><i class="fa fa-bars"></i></button>
<i class="fa fa-circle" if={ hasUnreadNotifications || hasUnreadMessagingMessages }></i>
<button class="nav" onclick={ parent.toggleDrawer }>%fa:bars%</button>
<virtual if={ hasUnreadNotifications || hasUnreadMessagingMessages }>%fa:circle%</virtual>
<h1 ref="title">Misskey</h1>
<button if={ func } onclick={ func }><i class="fa fa-{ funcIcon }"></i></button>
<button if={ func } onclick={ func }><mk-raw content={ funcIcon }/></button>
</div>
</div>
<style>
@@ -99,7 +99,7 @@
overflow hidden
text-overflow ellipsis
> i
> [data-fa]
> .icon
margin-right 8px
@@ -121,10 +121,10 @@
line-height $height
border-right solid 1px rgba(#000, 0.1)
> i
> [data-fa]
transition all 0.2s ease
> i
> [data-fa]
position absolute
top 8px
left 8px
@@ -234,19 +234,19 @@
</a>
<div class="links">
<ul>
<li><a href="/"><i class="fa fa-home"></i>%i18n:mobile.tags.mk-ui-nav.home%<i class="fa fa-angle-right"></i></a></li>
<li><a href="/i/notifications"><i class="fa fa-bell-o"></i>%i18n:mobile.tags.mk-ui-nav.notifications%<i class="i fa fa-circle" if={ hasUnreadNotifications }></i><i class="fa fa-angle-right"></i></a></li>
<li><a href="/i/messaging"><i class="fa fa-comments-o"></i>%i18n:mobile.tags.mk-ui-nav.messaging%<i class="i fa fa-circle" if={ hasUnreadMessagingMessages }></i><i class="fa fa-angle-right"></i></a></li>
<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 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 if={ hasUnreadMessagingMessages }>%fa:circle%</virtual>%fa:angle-right%</a></li>
</ul>
<ul>
<li><a href={ _CH_URL_ } target="_blank"><i class="fa fa-television"></i>%i18n:mobile.tags.mk-ui-nav.ch%<i class="fa fa-angle-right"></i></a></li>
<li><a href="/i/drive"><i class="fa fa-cloud"></i>%i18n:mobile.tags.mk-ui-nav.drive%<i class="fa fa-angle-right"></i></a></li>
<li><a href={ _CH_URL_ } target="_blank">%fa:tv%%i18n:mobile.tags.mk-ui-nav.ch%%fa:angle-right%</a></li>
<li><a href="/i/drive">%fa:cloud%%i18n:mobile.tags.mk-ui-nav.drive%%fa:angle-right%</a></li>
</ul>
<ul>
<li><a onclick={ search }><i class="fa fa-search"></i>%i18n:mobile.tags.mk-ui-nav.search%<i class="fa fa-angle-right"></i></a></li>
<li><a onclick={ search }>%fa:search%%i18n:mobile.tags.mk-ui-nav.search%%fa:angle-right%</a></li>
</ul>
<ul>
<li><a href="/i/settings"><i class="fa fa-cog"></i>%i18n:mobile.tags.mk-ui-nav.settings%<i class="fa fa-angle-right"></i></a></li>
<li><a href="/i/settings">%fa:cog%%i18n:mobile.tags.mk-ui-nav.settings%%fa:angle-right%</a></li>
</ul>
</div>
<a href={ _ABOUT_URL_ }><p class="about">%i18n:mobile.tags.mk-ui-nav.about%</p></a>
@@ -323,7 +323,7 @@
color #777
text-decoration none
> i:first-child
> [data-fa]:first-child
margin-right 0.5em
> .i
@@ -332,7 +332,7 @@
font-size 10px
color $theme-color
> i:last-child
> [data-fa]:last-child
position absolute
top 0
right 0

View File

@@ -17,10 +17,10 @@
<div class="description">{ user.description }</div>
<div class="info">
<p class="location" if={ user.profile.location }>
<i class="fa fa-map-marker"></i>{ user.profile.location }
%fa:map-marker%{ user.profile.location }
</p>
<p class="birthday" if={ user.profile.birthday }>
<i class="fa fa-birthday-cake"></i>{ user.profile.birthday.replace('-', '年').replace('-', '月') + '日' } ({ age(user.profile.birthday) }歳)
%fa:birthday-cake%{ user.profile.birthday.replace('-', '年').replace('-', '月') + '日' } ({ age(user.profile.birthday) }歳)
</p>
</div>
<div class="status">
@@ -217,43 +217,43 @@
<mk-user-overview>
<mk-post-detail if={ user.pinned_post } post={ user.pinned_post } compact={ true }/>
<section class="recent-posts">
<h2><i class="fa fa-comments-o"></i>%i18n:mobile.tags.mk-user-overview.recent-posts%</h2>
<h2>%fa:R comments%%i18n:mobile.tags.mk-user-overview.recent-posts%</h2>
<div>
<mk-user-overview-posts user={ user }/>
</div>
</section>
<section class="images">
<h2><i class="fa fa-picture-o"></i>%i18n:mobile.tags.mk-user-overview.images%</h2>
<h2>%fa:image%%i18n:mobile.tags.mk-user-overview.images%</h2>
<div>
<mk-user-overview-photos user={ user }/>
</div>
</section>
<section class="activity">
<h2><i class="fa fa-bar-chart"></i>%i18n:mobile.tags.mk-user-overview.activity%</h2>
<h2>%fa:bar-chart%%i18n:mobile.tags.mk-user-overview.activity%</h2>
<div>
<mk-user-overview-activity-chart user={ user }/>
</div>
</section>
<section class="keywords">
<h2><i class="fa fa-comment-o"></i>%i18n:mobile.tags.mk-user-overview.keywords%</h2>
<h2>%fa:R comment%%i18n:mobile.tags.mk-user-overview.keywords%</h2>
<div>
<mk-user-overview-keywords user={ user }/>
</div>
</section>
<section class="domains">
<h2><i class="fa fa-globe"></i>%i18n:mobile.tags.mk-user-overview.domains%</h2>
<h2>%fa:globe%%i18n:mobile.tags.mk-user-overview.domains%</h2>
<div>
<mk-user-overview-domains user={ user }/>
</div>
</section>
<section class="frequently-replied-users">
<h2><i class="fa fa-users"></i>%i18n:mobile.tags.mk-user-overview.frequently-replied-users%</h2>
<h2>%fa:users%%i18n:mobile.tags.mk-user-overview.frequently-replied-users%</h2>
<div>
<mk-user-overview-frequently-replied-users user={ user }/>
</div>
</section>
<section class="followers-you-know" if={ SIGNIN && I.id !== user.id }>
<h2><i class="fa fa-users"></i>%i18n:mobile.tags.mk-user-overview.followers-you-know%</h2>
<h2>%fa:users%%i18n:mobile.tags.mk-user-overview.followers-you-know%</h2>
<div>
<mk-user-overview-followers-you-know user={ user }/>
</div>
@@ -307,7 +307,7 @@
</mk-user-overview>
<mk-user-overview-posts>
<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-user-overview-posts.loading%<mk-ellipsis/></p>
<p class="initializing" if={ initializing }>%fa:spinner .pluse .fw%%i18n:mobile.tags.mk-user-overview-posts.loading%<mk-ellipsis/></p>
<div if={ !initializing && posts.length > 0 }>
<virtual each={ posts }>
<mk-user-overview-posts-post-card post={ this }/>
@@ -436,7 +436,7 @@
</mk-user-overview-posts-post-card>
<mk-user-overview-photos>
<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-user-overview-photos.loading%<mk-ellipsis/></p>
<p class="initializing" if={ initializing }>%fa:spinner .pluse .fw%%i18n:mobile.tags.mk-user-overview-photos.loading%<mk-ellipsis/></p>
<div class="stream" if={ !initializing && images.length > 0 }>
<virtual 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>
@@ -626,7 +626,7 @@
</mk-user-overview-domains>
<mk-user-overview-frequently-replied-users>
<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-user-overview-frequently-replied-users.loading%<mk-ellipsis/></p>
<p class="initializing" if={ initializing }>%fa:spinner .pluse .fw%%i18n:mobile.tags.mk-user-overview-frequently-replied-users.loading%<mk-ellipsis/></p>
<div if={ !initializing && users.length > 0 }>
<virtual each={ users }>
<mk-user-card user={ this.user }/>
@@ -678,7 +678,7 @@
</mk-user-overview-frequently-replied-users>
<mk-user-overview-followers-you-know>
<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:mobile.tags.mk-user-overview-followers-you-know.loading%<mk-ellipsis/></p>
<p class="initializing" if={ initializing }>%fa:spinner .pluse .fw%%i18n:mobile.tags.mk-user-overview-followers-you-know.loading%<mk-ellipsis/></p>
<div if={ !initializing && users.length > 0 }>
<virtual each={ user in users }>
<a href={ '/' + user.username }><img src={ user.avatar_url + '?thumbnail&size=64' } alt={ user.name }/></a>

View File

@@ -10,7 +10,7 @@
<span if={ !moreFetching }>%i18n:mobile.tags.mk-users-list.load-more%</span>
<span if={ moreFetching }>%i18n:common.loading%<mk-ellipsis/></span></button>
<p class="no" if={ !fetching && users.length == 0 }>{ opts.noUsers }</p>
<p class="fetching" if={ fetching }><i class="fa fa-spinner fa-pulse fa-fw"></i>%i18n:common.loading%<mk-ellipsis/></p>
<p class="fetching" if={ fetching }>%fa:spinner .pluse .fw%%i18n:common.loading%<mk-ellipsis/></p>
<style>
:scope
display block
@@ -73,7 +73,7 @@
text-align center
color #aaa
> i
> [data-fa]
margin-right 4px
</style>