mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-12-27 17:33:08 +02:00
Clean up: Removes needless quotes ✨
This commit is contained in:
parent
520299c2b4
commit
5be6a84395
141 changed files with 674 additions and 674 deletions
|
@ -1,6 +1,6 @@
|
|||
<mk-form>
|
||||
<header>
|
||||
<h1><i>{ app.name }</i>があなたの<b>アカウント</b>に<b>アクセス</b>することを<b>許可</b>しますか?</h1><img src="{ app.icon_url + '?thumbnail&size=64' }"/>
|
||||
<h1><i>{ app.name }</i>があなたの<b>アカウント</b>に<b>アクセス</b>することを<b>許可</b>しますか?</h1><img src={ app.icon_url + '?thumbnail&size=64' }/>
|
||||
</header>
|
||||
<div class="app">
|
||||
<section>
|
||||
|
@ -11,23 +11,23 @@
|
|||
<section>
|
||||
<h2>このアプリは次の権限を要求しています:</h2>
|
||||
<ul>
|
||||
<virtual each="{ p in app.permission }">
|
||||
<li if="{ p == 'account-read' }">アカウントの情報を見る。</li>
|
||||
<li if="{ p == 'account-write' }">アカウントの情報を操作する。</li>
|
||||
<li if="{ p == 'post-write' }">投稿する。</li>
|
||||
<li if="{ p == 'like-write' }">いいねしたりいいね解除する。</li>
|
||||
<li if="{ p == 'following-write' }">フォローしたりフォロー解除する。</li>
|
||||
<li if="{ p == 'drive-read' }">ドライブを見る。</li>
|
||||
<li if="{ p == 'drive-write' }">ドライブを操作する。</li>
|
||||
<li if="{ p == 'notification-read' }">通知を見る。</li>
|
||||
<li if="{ p == 'notification-write' }">通知を操作する。</li>
|
||||
<virtual each={ p in app.permission }>
|
||||
<li if={ p == 'account-read' }>アカウントの情報を見る。</li>
|
||||
<li if={ p == 'account-write' }>アカウントの情報を操作する。</li>
|
||||
<li if={ p == 'post-write' }>投稿する。</li>
|
||||
<li if={ p == 'like-write' }>いいねしたりいいね解除する。</li>
|
||||
<li if={ p == 'following-write' }>フォローしたりフォロー解除する。</li>
|
||||
<li if={ p == 'drive-read' }>ドライブを見る。</li>
|
||||
<li if={ p == 'drive-write' }>ドライブを操作する。</li>
|
||||
<li if={ p == 'notification-read' }>通知を見る。</li>
|
||||
<li if={ p == 'notification-write' }>通知を操作する。</li>
|
||||
</virtual>
|
||||
</ul>
|
||||
</section>
|
||||
</div>
|
||||
<div class="action">
|
||||
<button onclick="{ cancel }">キャンセル</button>
|
||||
<button onclick="{ accept }">アクセスを許可</button>
|
||||
<button onclick={ cancel }>キャンセル</button>
|
||||
<button onclick={ accept }>アクセスを許可</button>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
<mk-index>
|
||||
<main if="{ SIGNIN }">
|
||||
<p class="fetching" if="{ fetching }">読み込み中
|
||||
<main if={ SIGNIN }>
|
||||
<p class="fetching" if={ fetching }>読み込み中
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<mk-form ref="form" if="{ state == null && !fetching }" session="{ session }"></mk-form>
|
||||
<div class="denied" if="{ state == 'denied' }">
|
||||
<mk-form ref="form" if={ state == null && !fetching } session={ session }></mk-form>
|
||||
<div class="denied" if={ state == 'denied' }>
|
||||
<h1>アプリケーションの連携をキャンセルしました。</h1>
|
||||
<p>このアプリがあなたのアカウントにアクセスすることはありません。</p>
|
||||
</div>
|
||||
<div class="accepted" if="{ state == 'accepted' }">
|
||||
<div class="accepted" if={ state == 'accepted' }>
|
||||
<h1>{ session.app.is_authorized ? 'このアプリは既に連携済みです' : 'アプリケーションの連携を許可しました'}</h1>
|
||||
<p if="{ session.app.callback_url }">アプリケーションに戻っています
|
||||
<p if={ session.app.callback_url }>アプリケーションに戻っています
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<p if="{ !session.app.callback_url }">アプリケーションに戻って、やっていってください。</p>
|
||||
<p if={ !session.app.callback_url }>アプリケーションに戻って、やっていってください。</p>
|
||||
</div>
|
||||
<div class="error" if="{ state == 'fetch-session-error' }">
|
||||
<div class="error" if={ state == 'fetch-session-error' }>
|
||||
<p>セッションが存在しません。</p>
|
||||
</div>
|
||||
</main>
|
||||
<main class="signin" if="{ !SIGNIN }">
|
||||
<main class="signin" if={ !SIGNIN }>
|
||||
<h1>サインインしてください</h1>
|
||||
<mk-signin></mk-signin>
|
||||
</main>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<h1>
|
||||
<mk-ripple-string>サーバーに接続できません</mk-ripple-string>
|
||||
</h1>
|
||||
<p class="text">インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから<a onclick="{ retry }">再度お試し</a>ください。</p>
|
||||
<p class="text">インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから<a onclick={ retry }>再度お試し</a>ください。</p>
|
||||
<p class="thanks">いつもMisskeyをご利用いただきありがとうございます。</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<mk-file-type-icon><i class="fa fa-file-image-o" if="{ kind == 'image' }"></i>
|
||||
<mk-file-type-icon><i class="fa fa-file-image-o" if={ kind == 'image' }></i>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display inline
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<h1>Misskeyとは?</h1><p><ruby>Misskey<rt>みすきー</rt></ruby>は、<a href="http://syuilo.com" target="_blank">syuilo</a>が2014年くらいから<a href="https://github.com/syuilo/misskey" target="_blank">オープンソースで</a>開発・運営を行っている、ミニブログベースのSNSです。</p>
|
||||
<p>Twitter, Facebook, LINE, Google+ などを<del>パクって</del><i>参考にして</i>います。</p>
|
||||
<p>無料で誰でも利用でき、広告は一切掲載していません。</p>
|
||||
<p><a href="{ CONFIG.urls.about }" target="_blank">もっと知りたい方はこちら</a></p>
|
||||
<p><a href={ CONFIG.urls.about } target="_blank">もっと知りたい方はこちら</a></p>
|
||||
</article>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<mk-signin>
|
||||
<form class="{ signing: signing }" onsubmit="{ onsubmit }">
|
||||
<form class={ signing: signing } onsubmit={ onsubmit }>
|
||||
<label class="user-name">
|
||||
<input ref="username" type="text" pattern="^[a-zA-Z0-9-]+$" placeholder="ユーザー名" autofocus="autofocus" required="required" oninput="{ oninput }"/><i class="fa fa-at"></i>
|
||||
<input ref="username" type="text" pattern="^[a-zA-Z0-9-]+$" placeholder="ユーザー名" autofocus="autofocus" required="required" oninput={ oninput }/><i class="fa fa-at"></i>
|
||||
</label>
|
||||
<label class="password">
|
||||
<input ref="password" type="password" placeholder="パスワード" required="required"/><i class="fa fa-lock"></i>
|
||||
</label>
|
||||
<button type="submit" disabled="{ signing }">{ signing ? 'やっています...' : 'サインイン' }</button>
|
||||
<button type="submit" disabled={ signing }>{ signing ? 'やっています...' : 'サインイン' }</button>
|
||||
</form>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,42 +1,42 @@
|
|||
<mk-signup>
|
||||
<form onsubmit="{ onsubmit }" autocomplete="off">
|
||||
<form onsubmit={ onsubmit } autocomplete="off">
|
||||
<label class="username">
|
||||
<p class="caption"><i class="fa fa-at"></i>ユーザー名</p>
|
||||
<input ref="username" type="text" pattern="^[a-zA-Z0-9-]{3,20}$" placeholder="a~z、A~Z、0~9、-" autocomplete="off" required="required" onkeyup="{ onChangeUsername }"/>
|
||||
<p class="profile-page-url-preview" if="{ refs.username.value != '' && username-state != 'invalidFormat' && username-state != 'minRange' && username-state != 'maxRange' }">{ CONFIG.url + '/' + refs.username.value }</p>
|
||||
<p class="info" if="{ usernameState == 'wait' }" style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
|
||||
<p class="info" if="{ usernameState == 'ok' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
|
||||
<p class="info" if="{ usernameState == 'unavailable' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
|
||||
<p class="info" if="{ usernameState == 'error' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
|
||||
<p class="info" if="{ usernameState == 'invalid-format' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
|
||||
<p class="info" if="{ usernameState == 'min-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
|
||||
<p class="info" if="{ usernameState == 'max-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>20文字以内でお願いします</p>
|
||||
<input ref="username" type="text" pattern="^[a-zA-Z0-9-]{3,20}$" placeholder="a~z、A~Z、0~9、-" autocomplete="off" required="required" onkeyup={ onChangeUsername }/>
|
||||
<p class="profile-page-url-preview" if={ refs.username.value != '' && username-state != 'invalidFormat' && username-state != 'minRange' && username-state != 'maxRange' }>{ CONFIG.url + '/' + refs.username.value }</p>
|
||||
<p class="info" if={ usernameState == 'wait' } style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
|
||||
<p class="info" if={ usernameState == 'ok' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
|
||||
<p class="info" if={ usernameState == 'unavailable' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
|
||||
<p class="info" if={ usernameState == 'error' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
|
||||
<p class="info" if={ usernameState == 'invalid-format' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
|
||||
<p class="info" if={ usernameState == 'min-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
|
||||
<p class="info" if={ usernameState == 'max-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>20文字以内でお願いします</p>
|
||||
</label>
|
||||
<label class="password">
|
||||
<p class="caption"><i class="fa fa-lock"></i>パスワード</p>
|
||||
<input ref="password" type="password" placeholder="8文字以上を推奨します" autocomplete="off" required="required" onkeyup="{ onChangePassword }"/>
|
||||
<div class="meter" if="{ passwordStrength != '' }" data-strength="{ passwordStrength }">
|
||||
<input ref="password" type="password" placeholder="8文字以上を推奨します" autocomplete="off" required="required" onkeyup={ onChangePassword }/>
|
||||
<div class="meter" if={ passwordStrength != '' } data-strength={ passwordStrength }>
|
||||
<div class="value" ref="passwordMetar"></div>
|
||||
</div>
|
||||
<p class="info" if="{ passwordStrength == 'low' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>弱いパスワード</p>
|
||||
<p class="info" if="{ passwordStrength == 'medium' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>まあまあのパスワード</p>
|
||||
<p class="info" if="{ passwordStrength == 'high' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>強いパスワード</p>
|
||||
<p class="info" if={ passwordStrength == 'low' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>弱いパスワード</p>
|
||||
<p class="info" if={ passwordStrength == 'medium' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>まあまあのパスワード</p>
|
||||
<p class="info" if={ passwordStrength == 'high' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>強いパスワード</p>
|
||||
</label>
|
||||
<label class="retype-password">
|
||||
<p class="caption"><i class="fa fa-lock"></i>パスワード(再入力)</p>
|
||||
<input ref="passwordRetype" type="password" placeholder="確認のため再入力してください" autocomplete="off" required="required" onkeyup="{ onChangePasswordRetype }"/>
|
||||
<p class="info" if="{ passwordRetypeState == 'match' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>確認されました</p>
|
||||
<p class="info" if="{ passwordRetypeState == 'not-match' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>一致していません</p>
|
||||
<input ref="passwordRetype" type="password" placeholder="確認のため再入力してください" autocomplete="off" required="required" onkeyup={ onChangePasswordRetype }/>
|
||||
<p class="info" if={ passwordRetypeState == 'match' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>確認されました</p>
|
||||
<p class="info" if={ passwordRetypeState == 'not-match' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>一致していません</p>
|
||||
</label>
|
||||
<label class="recaptcha">
|
||||
<p class="caption"><i class="fa fa-toggle-on" if="{ recaptchaed }"></i><i class="fa fa-toggle-off" if="{ !recaptchaed }"></i>認証</p>
|
||||
<div class="g-recaptcha" data-callback="onRecaptchaed" data-expired-callback="onRecaptchaExpired" data-sitekey="{ CONFIG.recaptcha.siteKey }"></div>
|
||||
<p class="caption"><i class="fa fa-toggle-on" if={ recaptchaed }></i><i class="fa fa-toggle-off" if={ !recaptchaed }></i>認証</p>
|
||||
<div class="g-recaptcha" data-callback="onRecaptchaed" data-expired-callback="onRecaptchaExpired" data-sitekey={ CONFIG.recaptcha.siteKey }></div>
|
||||
</label>
|
||||
<label class="agree-tou">
|
||||
<input name="agree-tou" type="checkbox" autocomplete="off" required="required"/>
|
||||
<p><a href="{ CONFIG.urls.about + '/tou' }" target="_blank">利用規約</a>に同意する</p>
|
||||
<p><a href={ CONFIG.urls.about + '/tou' } target="_blank">利用規約</a>に同意する</p>
|
||||
</label>
|
||||
<button onclick="{ onsubmit }">アカウント作成</button>
|
||||
<button onclick={ onsubmit }>アカウント作成</button>
|
||||
</form>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-special-message>
|
||||
<p if="{ m == 1 && d == 1 }">Happy New Year! </p>
|
||||
<p if="{ m == 12 && d == 25 }">Merry Christmas!</p>
|
||||
<p if={ m == 1 && d == 1 }>Happy New Year! </p>
|
||||
<p if={ m == 12 && d == 25 }>Merry Christmas!</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-time>
|
||||
<time datetime="{ opts.time }"><span if="{ mode == 'relative' }">{ relative }</span><span if="{ mode == 'absolute' }">{ absolute }</span><span if="{ mode == 'detail' }">{ absolute } ({ relative })</span></time>
|
||||
<time datetime={ opts.time }><span if={ mode == 'relative' }>{ relative }</span><span if={ mode == 'absolute' }>{ absolute }</span><span if={ mode == 'detail' }>{ absolute } ({ relative })</span></time>
|
||||
<script>
|
||||
@time = new Date @opts.time
|
||||
@mode = @opts.mode || \relative
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<mk-uploader>
|
||||
<ol if="{ uploads.length > 0 }">
|
||||
<li each="{ uploads }">
|
||||
<ol if={ uploads.length > 0 }>
|
||||
<li each={ uploads }>
|
||||
<div class="img" style="background-image: url({ img })"></div>
|
||||
<p class="name"><i class="fa fa-spinner fa-pulse"></i>{ name }</p>
|
||||
<p class="status"><span class="initing" if="{ progress == undefined }">待機中
|
||||
<mk-ellipsis></mk-ellipsis></span><span class="kb" if="{ progress != undefined }">{ String(Math.floor(progress.value / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i> / { String(Math.floor(progress.max / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i></span><span class="percentage" if="{ progress != undefined }">{ Math.floor((progress.value / progress.max) * 100) }</span></p>
|
||||
<progress if="{ progress != undefined && progress.value != progress.max }" value="{ progress.value }" max="{ progress.max }"></progress>
|
||||
<div class="progress initing" if="{ progress == undefined }"></div>
|
||||
<div class="progress waiting" if="{ progress != undefined && progress.value == progress.max }"></div>
|
||||
<p class="status"><span class="initing" if={ progress == undefined }>待機中
|
||||
<mk-ellipsis></mk-ellipsis></span><span class="kb" if={ progress != undefined }>{ String(Math.floor(progress.value / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i> / { String(Math.floor(progress.max / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }<i>KB</i></span><span class="percentage" if={ progress != undefined }>{ Math.floor((progress.value / progress.max) * 100) }</span></p>
|
||||
<progress if={ progress != undefined && progress.value != progress.max } value={ progress.value } max={ progress.max }></progress>
|
||||
<div class="progress initing" if={ progress == undefined }></div>
|
||||
<div class="progress waiting" if={ progress != undefined && progress.value == progress.max }></div>
|
||||
</li>
|
||||
</ol>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<mk-url-preview><a href="{ url }" target="_blank" title="{ url }" if="{ !loading }">
|
||||
<div class="thumbnail" if="{ thumbnail }" style="{ 'background-image: url(' + thumbnail + ')' }"></div>
|
||||
<mk-url-preview><a href={ url } target="_blank" title={ url } if={ !loading }>
|
||||
<div class="thumbnail" if={ thumbnail } style={ 'background-image: url(' + thumbnail + ')' }></div>
|
||||
<article>
|
||||
<header>
|
||||
<h1>{ title }</h1>
|
||||
</header>
|
||||
<p>{ description }</p>
|
||||
<footer><img class="icon" if="{ icon }" src="{ icon }"/>
|
||||
<footer><img class="icon" if={ icon } src={ icon }/>
|
||||
<p>{ sitename }</p>
|
||||
</footer>
|
||||
</article></a>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<mk-url><a href="{ url }" target="{ opts.target }"><span class="schema">{ schema }//</span><span class="hostname">{ hostname }</span><span class="port" if="{ port != '' }">:{ port }</span><span class="pathname" if="{ pathname != '' }">{ pathname }</span><span class="query">{ query }</span><span class="hash">{ hash }</span></a>
|
||||
<mk-url><a href={ url } target={ opts.target }><span class="schema">{ schema }//</span><span class="hostname">{ hostname }</span><span class="port" if={ port != '' }>:{ port }</span><span class="pathname" if={ pathname != '' }>{ pathname }</span><span class="query">{ query }</span><span class="hash">{ hash }</span></a>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
> a
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-autocomplete-suggestion>
|
||||
<ol class="users" ref="users" if="{ users.length > 0 }">
|
||||
<li each="{ users }" onclick="{ parent.onClick }" onkeydown="{ parent.onKeydown }" tabindex="-1"><img class="avatar" src="{ avatar_url + '?thumbnail&size=32' }" alt=""/><span class="name">{ name }</span><span class="username">@{ username }</span></li>
|
||||
<ol class="users" ref="users" if={ users.length > 0 }>
|
||||
<li each={ users } onclick={ parent.onClick } onkeydown={ parent.onKeydown } tabindex="-1"><img class="avatar" src={ avatar_url + '?thumbnail&size=32' } alt=""/><span class="name">{ name }</span><span class="username">@{ username }</span></li>
|
||||
</ol>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-big-follow-button>
|
||||
<button class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" if="{ !init }" onclick="{ onclick }" disabled="{ wait }" title="{ user.is_following ? 'フォロー解除' : 'フォローする' }"><span if="{ !wait && user.is_following }"><i class="fa fa-minus"></i>フォロー解除</span><span if="{ !wait && !user.is_following }"><i class="fa fa-plus"></i>フォロー</span><i class="fa fa-spinner fa-pulse fa-fw" if="{ wait }"></i></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 } title={ user.is_following ? 'フォロー解除' : 'フォローする' }><span if={ !wait && user.is_following }><i class="fa fa-minus"></i>フォロー解除</span><span if={ !wait && !user.is_following }><i class="fa fa-plus"></i>フォロー</span><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i></button>
|
||||
<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<mk-crop-window>
|
||||
<mk-window ref="window" is-modal="{ true }" width="{ '800px' }"><yield to="header"><i class="fa fa-crop"></i>{ parent.title }</yield>
|
||||
<mk-window ref="window" is-modal={ true } width={ '800px' }><yield to="header"><i class="fa fa-crop"></i>{ parent.title }</yield>
|
||||
<yield to="content">
|
||||
<div class="body"><img ref="img" src="{ parent.image.url + '?thumbnail&quality=80' }" alt=""/></div>
|
||||
<div class="body"><img ref="img" src={ parent.image.url + '?thumbnail&quality=80' } alt=""/></div>
|
||||
<div class="action">
|
||||
<button class="skip" onclick="{ parent.skip }">クロップをスキップ</button>
|
||||
<button class="cancel" onclick="{ parent.cancel }">キャンセル</button>
|
||||
<button class="ok" onclick="{ parent.ok }">決定</button>
|
||||
<button class="skip" onclick={ parent.skip }>クロップをスキップ</button>
|
||||
<button class="cancel" onclick={ parent.cancel }>キャンセル</button>
|
||||
<button class="ok" onclick={ parent.ok }>決定</button>
|
||||
</div></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
<mk-debugger>
|
||||
<mk-window ref="window" is-modal="{ false }" width="{ '700px' }" height="{ '550px' }"><yield to="header"><i class="fa fa-wrench"></i>Debugger</yield>
|
||||
<mk-window ref="window" is-modal={ false } width={ '700px' } height={ '550px' }><yield to="header"><i class="fa fa-wrench"></i>Debugger</yield>
|
||||
<yield to="content">
|
||||
<section class="progress-dialog">
|
||||
<h1>progress-dialog</h1>
|
||||
<button class="style-normal" onclick="{ parent.progressDialog }"><i class="fa fa-play"></i></button>
|
||||
<button class="style-normal" onclick="{ parent.progressDialogDestroy }"><i class="fa fa-stop"></i></button>
|
||||
<button class="style-normal" onclick={ parent.progressDialog }><i class="fa fa-play"></i></button>
|
||||
<button class="style-normal" onclick={ parent.progressDialogDestroy }><i class="fa fa-stop"></i></button>
|
||||
<label>
|
||||
<p>TITLE:</p>
|
||||
<input ref="progressTitle" value="Title"/>
|
||||
</label>
|
||||
<label>
|
||||
<p>VAL:</p>
|
||||
<input ref="progressValue" type="number" oninput="{ parent.progressChange }" value="0"/>
|
||||
<input ref="progressValue" type="number" oninput={ parent.progressChange } value="0"/>
|
||||
</label>
|
||||
<label>
|
||||
<p>MAX:</p>
|
||||
<input ref="progressMax" type="number" oninput="{ parent.progressChange }" value="100"/>
|
||||
<input ref="progressMax" type="number" oninput={ parent.progressChange } value="100"/>
|
||||
</label>
|
||||
</section></yield>
|
||||
</mk-window>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<mk-dialog>
|
||||
<div class="bg" ref="bg" onclick="{ bgClick }"></div>
|
||||
<div class="bg" ref="bg" onclick={ bgClick }></div>
|
||||
<div class="main" ref="main">
|
||||
<header ref="header"></header>
|
||||
<div class="body" ref="body"></div>
|
||||
<div class="buttons">
|
||||
<virtual each="{ opts.buttons }">
|
||||
<button onclick="{ _onclick }">{ text }</button>
|
||||
<virtual each={ opts.buttons }>
|
||||
<button onclick={ _onclick }>{ text }</button>
|
||||
</virtual>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-donation>
|
||||
<button class="close" onclick="{ close }">閉じる x</button>
|
||||
<button class="close" onclick={ close }>閉じる x</button>
|
||||
<div class="message">
|
||||
<p>利用者の皆さま、</p>
|
||||
<p>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-drive-browser-base-contextmenu>
|
||||
<mk-contextmenu ref="ctx">
|
||||
<ul>
|
||||
<li onclick="{ parent.createFolder }">
|
||||
<li onclick={ parent.createFolder }>
|
||||
<p><i class="fa fa-folder-o"></i>フォルダーを作成</p>
|
||||
</li>
|
||||
<li onclick="{ parent.upload }">
|
||||
<li onclick={ parent.upload }>
|
||||
<p><i class="fa fa-upload"></i>ファイルをアップロード</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<mk-drive-browser-window>
|
||||
<mk-window ref="window" is-modal="{ false }" width="{ '800px' }" height="{ '500px' }"><yield to="header"><i class="fa fa-cloud"></i>ドライブ</yield>
|
||||
<mk-window ref="window" is-modal={ false } width={ '800px' } height={ '500px' }><yield to="header"><i class="fa fa-cloud"></i>ドライブ</yield>
|
||||
<yield to="content">
|
||||
<mk-drive-browser multiple="{ true }" folder="{ parent.folder }"></mk-drive-browser></yield>
|
||||
<mk-drive-browser multiple={ true } folder={ parent.folder }></mk-drive-browser></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
<mk-drive-browser>
|
||||
<nav>
|
||||
<div class="path" oncontextmenu="{ pathOncontextmenu }">
|
||||
<mk-drive-browser-nav-folder class="{ current: folder == null }" folder="{ null }"></mk-drive-browser-nav-folder>
|
||||
<virtual each="{ folder in hierarchyFolders }"><span class="separator"><i class="fa fa-angle-right"></i></span>
|
||||
<mk-drive-browser-nav-folder folder="{ folder }"></mk-drive-browser-nav-folder>
|
||||
</virtual><span class="separator" if="{ folder != null }"><i class="fa fa-angle-right"></i></span><span class="folder current" if="{ folder != null }">{ folder.name }</span>
|
||||
<div class="path" oncontextmenu={ pathOncontextmenu }>
|
||||
<mk-drive-browser-nav-folder class={ current: folder == null } folder={ null }></mk-drive-browser-nav-folder>
|
||||
<virtual each={ folder in hierarchyFolders }><span class="separator"><i class="fa fa-angle-right"></i></span>
|
||||
<mk-drive-browser-nav-folder folder={ folder }></mk-drive-browser-nav-folder>
|
||||
</virtual><span class="separator" if={ folder != null }><i class="fa fa-angle-right"></i></span><span class="folder current" if={ folder != null }>{ folder.name }</span>
|
||||
</div>
|
||||
<input class="search" type="search" placeholder=" 検索"/>
|
||||
</nav>
|
||||
<div class="main { uploading: uploads.length > 0, loading: loading }" ref="main" onmousedown="{ onmousedown }" ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }" oncontextmenu="{ oncontextmenu }">
|
||||
<div class="main { uploading: uploads.length > 0, loading: loading }" ref="main" onmousedown={ onmousedown } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop } oncontextmenu={ oncontextmenu }>
|
||||
<div class="selection" ref="selection"></div>
|
||||
<div class="contents" ref="contents">
|
||||
<div class="folders" ref="foldersContainer" if="{ folders.length > 0 }">
|
||||
<virtual each="{ folder in folders }">
|
||||
<mk-drive-browser-folder class="folder" folder="{ folder }"></mk-drive-browser-folder>
|
||||
<div class="folders" ref="foldersContainer" if={ folders.length > 0 }>
|
||||
<virtual each={ folder in folders }>
|
||||
<mk-drive-browser-folder class="folder" folder={ folder }></mk-drive-browser-folder>
|
||||
</virtual>
|
||||
<button if="{ moreFolders }">もっと読み込む</button>
|
||||
<button if={ moreFolders }>もっと読み込む</button>
|
||||
</div>
|
||||
<div class="files" ref="filesContainer" if="{ files.length > 0 }">
|
||||
<virtual each="{ file in files }">
|
||||
<mk-drive-browser-file class="file" file="{ file }"></mk-drive-browser-file>
|
||||
<div class="files" ref="filesContainer" if={ files.length > 0 }>
|
||||
<virtual each={ file in files }>
|
||||
<mk-drive-browser-file class="file" file={ file }></mk-drive-browser-file>
|
||||
</virtual>
|
||||
<button if="{ moreFiles }">もっと読み込む</button>
|
||||
<button if={ moreFiles }>もっと読み込む</button>
|
||||
</div>
|
||||
<div class="empty" if="{ files.length == 0 && folders.length == 0 && !loading }">
|
||||
<p if="{ draghover }">ドロップですか?いいですよ、ボクはカワイイですからね</p>
|
||||
<p if="{ !draghover && folder == null }"><strong>ドライブには何もありません。</strong><br/>右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。</p>
|
||||
<p if="{ !draghover && folder != null }">このフォルダーは空です</p>
|
||||
<div class="empty" if={ files.length == 0 && folders.length == 0 && !loading }>
|
||||
<p if={ draghover }>ドロップですか?いいですよ、ボクはカワイイですからね</p>
|
||||
<p if={ !draghover && folder == null }><strong>ドライブには何もありません。</strong><br/>右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。</p>
|
||||
<p if={ !draghover && folder != null }>このフォルダーは空です</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="loading" if="{ loading }">
|
||||
<div class="loading" if={ loading }>
|
||||
<div class="spinner">
|
||||
<div class="dot1"></div>
|
||||
<div class="dot2"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dropzone" if="{ draghover }"></div>
|
||||
<div class="dropzone" if={ draghover }></div>
|
||||
<mk-uploader ref="uploader"></mk-uploader>
|
||||
<input ref="fileInput" type="file" accept="*/*" multiple="multiple" tabindex="-1" onchange="{ changeFileInput }"/>
|
||||
<input ref="fileInput" type="file" accept="*/*" multiple="multiple" tabindex="-1" onchange={ changeFileInput }/>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
<mk-drive-browser-file-contextmenu>
|
||||
<mk-contextmenu ref="ctx">
|
||||
<ul>
|
||||
<li onclick="{ parent.rename }">
|
||||
<li onclick={ parent.rename }>
|
||||
<p><i class="fa fa-i-cursor"></i>名前を変更</p>
|
||||
</li>
|
||||
<li onclick="{ parent.copyUrl }">
|
||||
<li onclick={ parent.copyUrl }>
|
||||
<p><i class="fa fa-link"></i>URLをコピー</p>
|
||||
</li>
|
||||
<li><a href="{ parent.file.url + '?download' }" download="{ parent.file.name }" onclick="{ parent.download }"><i class="fa fa-download"></i>ダウンロード</a></li>
|
||||
<li><a href={ parent.file.url + '?download' } download={ parent.file.name } onclick={ parent.download }><i class="fa fa-download"></i>ダウンロード</a></li>
|
||||
<li class="separator"></li>
|
||||
<li onclick="{ parent.delete }">
|
||||
<li onclick={ parent.delete }>
|
||||
<p><i class="fa fa-trash-o"></i>削除</p>
|
||||
</li>
|
||||
<li class="separator"></li>
|
||||
<li class="has-child">
|
||||
<p>その他...<i class="fa fa-caret-right"></i></p>
|
||||
<ul>
|
||||
<li onclick="{ parent.setAvatar }">
|
||||
<li onclick={ parent.setAvatar }>
|
||||
<p>アバターに設定</p>
|
||||
</li>
|
||||
<li onclick="{ parent.setBanner }">
|
||||
<li onclick={ parent.setBanner }>
|
||||
<p>バナーに設定</p>
|
||||
</li>
|
||||
<li onclick="{ parent.setWallpaper }">
|
||||
<li onclick={ parent.setWallpaper }>
|
||||
<p>壁紙に設定</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -30,7 +30,7 @@
|
|||
<li class="has-child">
|
||||
<p>アプリで開く...<i class="fa fa-caret-right"></i></p>
|
||||
<ul>
|
||||
<li onclick="{ parent.addApp }">
|
||||
<li onclick={ parent.addApp }>
|
||||
<p>アプリを追加...</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<mk-drive-browser-file data-is-selected="{ (file._selected || false).toString() }" data-is-contextmenu-showing="{ isContextmenuShowing.toString() }" onclick="{ onclick }" oncontextmenu="{ oncontextmenu }" draggable="true" ondragstart="{ ondragstart }" ondragend="{ ondragend }" title="{ title }">
|
||||
<div class="label" if="{ I.avatar_id == file.id }"><img src="/_/resources/label.svg"/>
|
||||
<mk-drive-browser-file data-is-selected={ (file._selected || false).toString() } data-is-contextmenu-showing={ isContextmenuShowing.toString() } onclick={ onclick } oncontextmenu={ oncontextmenu } draggable="true" ondragstart={ ondragstart } ondragend={ ondragend } title={ title }>
|
||||
<div class="label" if={ I.avatar_id == file.id }><img src="/_/resources/label.svg"/>
|
||||
<p>アバター</p>
|
||||
</div>
|
||||
<div class="label" if="{ I.banner_id == file.id }"><img src="/_/resources/label.svg"/>
|
||||
<div class="label" if={ I.banner_id == file.id }><img src="/_/resources/label.svg"/>
|
||||
<p>バナー</p>
|
||||
</div>
|
||||
<div class="label" if="{ I.data.wallpaper == file.id }"><img src="/_/resources/label.svg"/>
|
||||
<div class="label" if={ I.data.wallpaper == file.id }><img src="/_/resources/label.svg"/>
|
||||
<p>壁紙</p>
|
||||
</div>
|
||||
<div class="thumbnail"><img src="{ file.url + '?thumbnail&size=128' }" alt=""/></div>
|
||||
<p class="name"><span>{ file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name }</span><span class="ext" if="{ file.name.lastIndexOf('.') != -1 }">{ file.name.substr(file.name.lastIndexOf('.')) }</span></p>
|
||||
<div class="thumbnail"><img src={ file.url + '?thumbnail&size=128' } alt=""/></div>
|
||||
<p class="name"><span>{ file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name }</span><span class="ext" if={ file.name.lastIndexOf('.') != -1 }>{ file.name.substr(file.name.lastIndexOf('.')) }</span></p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<mk-drive-browser-folder-contextmenu>
|
||||
<mk-contextmenu ref="ctx">
|
||||
<ul>
|
||||
<li onclick="{ parent.move }">
|
||||
<li onclick={ parent.move }>
|
||||
<p><i class="fa fa-arrow-right"></i>このフォルダへ移動</p>
|
||||
</li>
|
||||
<li onclick="{ parent.newWindow }">
|
||||
<li onclick={ parent.newWindow }>
|
||||
<p><i class="fa fa-share-square-o"></i>新しいウィンドウで表示</p>
|
||||
</li>
|
||||
<li class="separator"></li>
|
||||
<li onclick="{ parent.rename }">
|
||||
<li onclick={ parent.rename }>
|
||||
<p><i class="fa fa-i-cursor"></i>名前を変更</p>
|
||||
</li>
|
||||
<li class="separator"></li>
|
||||
<li onclick="{ parent.delete }">
|
||||
<li onclick={ parent.delete }>
|
||||
<p><i class="fa fa-trash-o"></i>削除</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<mk-drive-browser-folder data-is-contextmenu-showing="{ isContextmenuShowing.toString() }" data-draghover="{ draghover.toString() }" onclick="{ onclick }" onmouseover="{ onmouseover }" onmouseout="{ onmouseout }" ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }" oncontextmenu="{ oncontextmenu }" draggable="true" ondragstart="{ ondragstart }" ondragend="{ ondragend }" title="{ title }">
|
||||
<mk-drive-browser-folder data-is-contextmenu-showing={ isContextmenuShowing.toString() } data-draghover={ draghover.toString() } onclick={ 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"><i class="fa fa-fw { fa-folder-o: !hover, fa-folder-open-o: hover }"></i>{ folder.name }</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<mk-drive-browser-nav-folder data-draghover="{ draghover }" onclick="{ onclick }" ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }"><i class="fa fa-cloud" if="{ folder == null }"></i><span>{ folder == null ? 'ドライブ' : folder.name }</span>
|
||||
<mk-drive-browser-nav-folder data-draghover={ draghover } onclick={ onclick } ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }><i class="fa fa-cloud" if={ folder == null }></i><span>{ folder == null ? 'ドライブ' : folder.name }</span>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
&[data-draghover]
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-follow-button>
|
||||
<button class="{ wait: wait, follow: !user.is_following, unfollow: user.is_following }" if="{ !init }" onclick="{ onclick }" disabled="{ wait }" title="{ user.is_following ? 'フォロー解除' : 'フォローする' }"><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></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 } title={ user.is_following ? 'フォロー解除' : 'フォローする' }><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></button>
|
||||
<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<mk-following-setuper>
|
||||
<p class="title">気になるユーザーをフォロー:</p>
|
||||
<div class="users" if="{ !loading && users.length > 0 }">
|
||||
<div class="user" each="{ users }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + username }"><img class="avatar" src="{ avatar_url + '?thumbnail&size=42' }" alt="" data-user-preview="{ id }"/></a>
|
||||
<div class="body"><a class="name" href="{ CONFIG.url + '/' + username }" target="_blank" data-user-preview="{ id }">{ name }</a>
|
||||
<div class="users" if={ !loading && users.length > 0 }>
|
||||
<div class="user" each={ users }><a class="avatar-anchor" href={ CONFIG.url + '/' + username }><img class="avatar" src={ avatar_url + '?thumbnail&size=42' } alt="" data-user-preview={ id }/></a>
|
||||
<div class="body"><a class="name" href={ CONFIG.url + '/' + username } target="_blank" data-user-preview={ id }>{ name }</a>
|
||||
<p class="username">@{ username }</p>
|
||||
</div>
|
||||
<mk-follow-button user="{ this }"></mk-follow-button>
|
||||
<mk-follow-button user={ this }></mk-follow-button>
|
||||
</div>
|
||||
</div>
|
||||
<p class="empty" if="{ !loading && users.length == 0 }">おすすめのユーザーは見つかりませんでした。</p>
|
||||
<p class="loading" if="{ loading }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<p class="empty" if={ !loading && users.length == 0 }>おすすめのユーザーは見つかりませんでした。</p>
|
||||
<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p><a class="refresh" onclick="{ refresh }">もっと見る</a>
|
||||
<button class="close" onclick="{ close }" title="閉じる"><i class="fa fa-times"></i></button>
|
||||
</p><a class="refresh" onclick={ refresh }>もっと見る</a>
|
||||
<button class="close" onclick={ close } title="閉じる"><i class="fa fa-times"></i></button>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-calendar-home-widget data-special="{ special }">
|
||||
<div class="calendar" data-is-holiday="{ isHoliday }">
|
||||
<mk-calendar-home-widget data-special={ special }>
|
||||
<div class="calendar" data-is-holiday={ isHoliday }>
|
||||
<p class="month-and-year"><span class="year">{ year }年</span><span class="month">{ month }月</span></p>
|
||||
<p class="day">{ day }日</p>
|
||||
<p class="week-day">{ weekDay }曜日</p>
|
||||
|
@ -8,19 +8,19 @@
|
|||
<div>
|
||||
<p>今日:<b>{ dayP.toFixed(1) }%</b></p>
|
||||
<div class="meter">
|
||||
<div class="val" style="{ 'width:' + dayP + '%' }"></div>
|
||||
<div class="val" style={ 'width:' + dayP + '%' }></div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<p>今月:<b>{ monthP.toFixed(1) }%</b></p>
|
||||
<div class="meter">
|
||||
<div class="val" style="{ 'width:' + monthP + '%' }"></div>
|
||||
<div class="val" style={ 'width:' + monthP + '%' }></div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<p>今年:<b>{ yearP.toFixed(1) }%</b></p>
|
||||
<div class="meter">
|
||||
<div class="val" style="{ 'width:' + yearP + '%' }"></div>
|
||||
<div class="val" style={ 'width:' + yearP + '%' }></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-mentions-home-widget>
|
||||
<header><span data-is-active="{ mode == 'all' }" onclick="{ setMode.bind(this, 'all') }">すべて</span><span data-is-active="{ mode == 'following' }" onclick="{ setMode.bind(this, 'following') }">フォロー中</span></header>
|
||||
<div class="loading" if="{ isLoading }">
|
||||
<header><span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>すべて</span><span data-is-active={ mode == 'following' } onclick={ setMode.bind(this, 'following') }>フォロー中</span></header>
|
||||
<div class="loading" if={ isLoading }>
|
||||
<mk-ellipsis-icon></mk-ellipsis-icon>
|
||||
</div>
|
||||
<p class="empty" if="{ isEmpty }"><i class="fa fa-comments-o"></i><span if="{ mode == 'all' }">あなた宛ての投稿はありません。</span><span if="{ mode == 'following' }">あなたがフォローしているユーザーからの言及はありません。</span></p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
|
||||
<p class="empty" if={ isEmpty }><i class="fa fa-comments-o"></i><span if={ mode == 'all' }>あなた宛ての投稿はありません。</span><span if={ mode == 'following' }>あなたがフォローしているユーザーからの言及はありません。</span></p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<mk-nav-home-widget><a href="{ CONFIG.urls.about }">Misskeyについて</a><i>・</i><a href="{ CONFIG.urls.about + '/status' }">ステータス</a><i>・</i><a href="https://github.com/syuilo/misskey">リポジトリ</a><i>・</i><a href="{ CONFIG.urls.dev }">開発者</a><i>・</i><a href="https://twitter.com/misskey_xyz" target="_blank">Follow us on <i class="fa fa-twitter"></i></a>
|
||||
<mk-nav-home-widget><a href={ CONFIG.urls.about }>Misskeyについて</a><i>・</i><a href={ CONFIG.urls.about + '/status' }>ステータス</a><i>・</i><a href="https://github.com/syuilo/misskey">リポジトリ</a><i>・</i><a href={ CONFIG.urls.dev }>開発者</a><i>・</i><a href="https://twitter.com/misskey_xyz" target="_blank">Follow us on <i class="fa fa-twitter"></i></a>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-notifications-home-widget>
|
||||
<p class="title"><i class="fa fa-bell-o"></i>通知</p>
|
||||
<button onclick="{ settings }" title="通知の設定"><i class="fa fa-cog"></i></button>
|
||||
<button onclick={ settings } title="通知の設定"><i class="fa fa-cog"></i></button>
|
||||
<mk-notifications></mk-notifications>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<mk-photo-stream-home-widget>
|
||||
<p class="title"><i class="fa fa-camera"></i>フォトストリーム</p>
|
||||
<p class="initializing" if="{ initializing }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<div class="stream" if="{ !initializing && images.length > 0 }">
|
||||
<virtual each="{ image in images }">
|
||||
<div class="img" style="{ 'background-image: url(' + image.url + '?thumbnail&size=256)' }"></div>
|
||||
<div class="stream" if={ !initializing && images.length > 0 }>
|
||||
<virtual each={ image in images }>
|
||||
<div class="img" style={ 'background-image: url(' + image.url + '?thumbnail&size=256)' }></div>
|
||||
</virtual>
|
||||
</div>
|
||||
<p class="empty" if="{ !initializing && images.length == 0 }">写真はありません</p>
|
||||
<p class="empty" if={ !initializing && images.length == 0 }>写真はありません</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-profile-home-widget>
|
||||
<div class="banner" style="{ I.banner_url ? 'background-image: url(' + I.banner_url + '?thumbnail&size=256)' : '' }" onclick="{ setBanner }"></div><img class="avatar" src="{ I.avatar_url + '?thumbnail&size=64' }" onclick="{ setAvatar }" alt="avatar" data-user-preview="{ I.id }"/><a class="name" href="{ CONFIG.url + '/' + I.username }">{ I.name }</a>
|
||||
<div class="banner" style={ I.banner_url ? 'background-image: url(' + I.banner_url + '?thumbnail&size=256)' : '' } onclick={ setBanner }></div><img class="avatar" src={ I.avatar_url + '?thumbnail&size=64' } onclick={ setAvatar } alt="avatar" data-user-preview={ I.id }/><a class="name" href={ CONFIG.url + '/' + I.username }>{ I.name }</a>
|
||||
<p class="username">@{ I.username }</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-rss-reader-home-widget>
|
||||
<p class="title"><i class="fa fa-rss-square"></i>RSS</p>
|
||||
<button onclick="{ settings }" title="設定"><i class="fa fa-cog"></i></button>
|
||||
<div class="feed" if="{ !initializing }">
|
||||
<virtual each="{ item in items }"><a href="{ item.link }" target="_blank">{ item.title }</a></virtual>
|
||||
<button onclick={ settings } title="設定"><i class="fa fa-cog"></i></button>
|
||||
<div class="feed" if={ !initializing }>
|
||||
<virtual each={ item in items }><a href={ item.link } target="_blank">{ item.title }</a></virtual>
|
||||
</div>
|
||||
<p class="initializing" if="{ initializing }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-timeline-home-widget>
|
||||
<mk-following-setuper if="{ noFollowing }"></mk-following-setuper>
|
||||
<div class="loading" if="{ isLoading }">
|
||||
<mk-following-setuper if={ noFollowing }></mk-following-setuper>
|
||||
<div class="loading" if={ isLoading }>
|
||||
<mk-ellipsis-icon></mk-ellipsis-icon>
|
||||
</div>
|
||||
<p class="empty" if="{ isEmpty }"><i class="fa fa-comments-o"></i>自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。</p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
|
||||
<p class="empty" if={ isEmpty }><i class="fa fa-comments-o"></i>自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。</p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<mk-user-recommendation-home-widget>
|
||||
<p class="title"><i class="fa fa-users"></i>おすすめユーザー</p>
|
||||
<button onclick="{ refresh }" title="他を見る"><i class="fa fa-refresh"></i></button>
|
||||
<div class="user" if="{ !loading && users.length != 0 }" each="{ _user in users }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + _user.username }"><img class="avatar" src="{ _user.avatar_url + '?thumbnail&size=42' }" alt="" data-user-preview="{ _user.id }"/></a>
|
||||
<div class="body"><a class="name" href="{ CONFIG.url + '/' + _user.username }" data-user-preview="{ _user.id }">{ _user.name }</a>
|
||||
<button onclick={ refresh } title="他を見る"><i class="fa fa-refresh"></i></button>
|
||||
<div class="user" if={ !loading && users.length != 0 } each={ _user in users }><a class="avatar-anchor" href={ CONFIG.url + '/' + _user.username }><img class="avatar" src={ _user.avatar_url + '?thumbnail&size=42' } alt="" data-user-preview={ _user.id }/></a>
|
||||
<div class="body"><a class="name" href={ CONFIG.url + '/' + _user.username } data-user-preview={ _user.id }>{ _user.name }</a>
|
||||
<p class="username">@{ _user.username }</p>
|
||||
</div>
|
||||
<mk-follow-button user="{ _user }"></mk-follow-button>
|
||||
<mk-follow-button user={ _user }></mk-follow-button>
|
||||
</div>
|
||||
<p class="empty" if="{ !loading && users.length == 0 }">いません!</p>
|
||||
<p class="loading" if="{ loading }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<p class="empty" if={ !loading && users.length == 0 }>いません!</p>
|
||||
<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
<div class="main">
|
||||
<div class="left" ref="left"></div>
|
||||
<main>
|
||||
<mk-timeline-home-widget ref="tl" if="{ mode == 'timeline' }"></mk-timeline-home-widget>
|
||||
<mk-mentions-home-widget ref="tl" if="{ mode == 'mentions' }"></mk-mentions-home-widget>
|
||||
<mk-timeline-home-widget ref="tl" if={ mode == 'timeline' }></mk-timeline-home-widget>
|
||||
<mk-mentions-home-widget ref="tl" if={ mode == 'mentions' }></mk-mentions-home-widget>
|
||||
</main>
|
||||
<div class="right" ref="right"></div>
|
||||
</div>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-image-dialog>
|
||||
<div class="bg" ref="bg" onclick="{ close }"></div><img ref="img" src="{ image.url }" alt="{ image.name }" title="{ image.name }" onclick="{ close }"/>
|
||||
<div class="bg" ref="bg" onclick={ close }></div><img ref="img" src={ image.url } alt={ image.name } title={ image.name } onclick={ close }/>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-images-viewer>
|
||||
<div class="image" ref="view" onmousemove="{ mousemove }" style="{ 'background-image: url(' + image.url + '?thumbnail' }" onclick="{ click }"><img src="{ image.url + '?thumbnail&size=512' }" alt="{ image.name }" title="{ image.name }"/></div>
|
||||
<div class="image" ref="view" onmousemove={ mousemove } style={ 'background-image: url(' + image.url + '?thumbnail' } onclick={ click }><img src={ image.url + '?thumbnail&size=512' } alt={ image.name } title={ image.name }/></div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<mk-input-dialog>
|
||||
<mk-window ref="window" is-modal="{ true }" width="{ '500px' }"><yield to="header"><i class="fa fa-i-cursor"></i>{ parent.title }</yield>
|
||||
<mk-window ref="window" is-modal={ true } width={ '500px' }><yield to="header"><i class="fa fa-i-cursor"></i>{ parent.title }</yield>
|
||||
<yield to="content">
|
||||
<div class="body">
|
||||
<input ref="text" oninput="{ parent.update }" onkeydown="{ parent.onKeydown }" placeholder="{ parent.placeholder }"/>
|
||||
<input ref="text" oninput={ parent.update } onkeydown={ parent.onKeydown } placeholder={ parent.placeholder }/>
|
||||
</div>
|
||||
<div class="action">
|
||||
<button class="cancel" onclick="{ parent.cancel }">キャンセル</button>
|
||||
<button class="ok" disabled="{ !parent.allowEmpty && refs.text.value.length == 0 }" onclick="{ parent.ok }">決定</button>
|
||||
<button class="cancel" onclick={ parent.cancel }>キャンセル</button>
|
||||
<button class="ok" disabled={ !parent.allowEmpty && refs.text.value.length == 0 } onclick={ parent.ok }>決定</button>
|
||||
</div></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<mk-list-user><a class="avatar-anchor" href="{ CONFIG.url + '/' + user.username }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&size=64' }" alt="avatar"/></a>
|
||||
<mk-list-user><a class="avatar-anchor" href={ CONFIG.url + '/' + user.username }><img class="avatar" src={ user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a>
|
||||
<div class="main">
|
||||
<header>
|
||||
<div class="left"><a class="name" href="{ CONFIG.url + '/' + user.username }">{ user.name }</a><span class="username">@{ user.username }</span></div>
|
||||
<div class="left"><a class="name" href={ CONFIG.url + '/' + user.username }>{ user.name }</a><span class="username">@{ user.username }</span></div>
|
||||
</header>
|
||||
<div class="body">
|
||||
<p class="followed" if="{ user.is_followed }">フォローされています</p>
|
||||
<p class="followed" if={ user.is_followed }>フォローされています</p>
|
||||
<div class="bio">{ user.bio }</div>
|
||||
</div>
|
||||
</div>
|
||||
<mk-follow-button user="{ user }"></mk-follow-button>
|
||||
<mk-follow-button user={ user }></mk-follow-button>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<mk-messaging-form>
|
||||
<textarea ref="text" onkeypress="{ onkeypress }" onpaste="{ onpaste }" placeholder="ここにメッセージを入力"></textarea>
|
||||
<textarea ref="text" onkeypress={ onkeypress } onpaste={ onpaste } placeholder="ここにメッセージを入力"></textarea>
|
||||
<div class="files"></div>
|
||||
<mk-uploader ref="uploader"></mk-uploader>
|
||||
<button class="send" onclick="{ send }" disabled="{ sending }" title="メッセージを送信"><i class="fa fa-paper-plane" if="{ !sending }"></i><i class="fa fa-spinner fa-spin" if="{ sending }"></i></button>
|
||||
<button class="send" onclick={ send } disabled={ sending } title="メッセージを送信"><i class="fa fa-paper-plane" if={ !sending }></i><i class="fa fa-spinner fa-spin" if={ sending }></i></button>
|
||||
<button class="attach-from-local" type="button" title="PCから画像を添付する"><i class="fa fa-upload"></i></button>
|
||||
<button class="attach-from-drive" type="button" title="アルバムから画像を添付する"><i class="fa fa-folder-open"></i></button>
|
||||
<input name="file" type="file" accept="image/*"/>
|
||||
|
|
|
@ -2,27 +2,27 @@
|
|||
<div class="search">
|
||||
<div class="form">
|
||||
<label for="search-input"><i class="fa fa-search"></i></label>
|
||||
<input ref="searchInput" type="search" oninput="{ search }" placeholder="ユーザーを探す"/>
|
||||
<input ref="searchInput" type="search" oninput={ search } placeholder="ユーザーを探す"/>
|
||||
</div>
|
||||
<div class="result">
|
||||
<ol class="users" if="{ searchResult.length > 0 }">
|
||||
<li each="{ user in searchResult }"><a onclick="{ user._click }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&size=32' }" alt=""/><span class="name">{ user.name }</span><span class="username">@{ user.username }</span></a></li>
|
||||
<ol class="users" if={ searchResult.length > 0 }>
|
||||
<li each={ user in searchResult }><a onclick={ user._click }><img class="avatar" src={ user.avatar_url + '?thumbnail&size=32' } alt=""/><span class="name">{ user.name }</span><span class="username">@{ user.username }</span></a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="history" if="{ history.length > 0 }">
|
||||
<virtual each="{ history }"><a class="user" data-is-me="{ is_me }" data-is-read="{ is_read }" onclick="{ _click }">
|
||||
<div><img class="avatar" src="{ (is_me ? recipient.avatar_url : user.avatar_url) + '?thumbnail&size=64' }" alt=""/>
|
||||
<div class="history" if={ history.length > 0 }>
|
||||
<virtual each={ history }><a class="user" data-is-me={ is_me } data-is-read={ is_read } onclick={ _click }>
|
||||
<div><img class="avatar" src={ (is_me ? recipient.avatar_url : user.avatar_url) + '?thumbnail&size=64' } alt=""/>
|
||||
<header><span class="name">{ is_me ? recipient.name : user.name }</span><span class="username">{ '@' + (is_me ? recipient.username : user.username ) }</span>
|
||||
<mk-time time="{ created_at }"></mk-time>
|
||||
<mk-time time={ created_at }></mk-time>
|
||||
</header>
|
||||
<div class="body">
|
||||
<p class="text"><span class="me" if="{ is_me }">あなた:</span>{ text }</p>
|
||||
<p class="text"><span class="me" if={ is_me }>あなた:</span>{ text }</p>
|
||||
</div>
|
||||
</div></a></virtual>
|
||||
</div>
|
||||
<p class="no-history" if="{ history.length == 0 }">履歴はありません。<br/>ユーザーを検索して、いつでもメッセージを送受信できます。</p>
|
||||
<p class="no-history" if={ history.length == 0 }>履歴はありません。<br/>ユーザーを検索して、いつでもメッセージを送受信できます。</p>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<mk-messaging-message data-is-me="{ message.is_me }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + message.user.username }" title="{ message.user.username }" target="_blank"><img class="avatar" src="{ message.user.avatar_url + '?thumbnail&size=64' }" alt=""/></a>
|
||||
<mk-messaging-message data-is-me={ message.is_me }><a class="avatar-anchor" href={ CONFIG.url + '/' + message.user.username } title={ message.user.username } target="_blank"><img class="avatar" src={ message.user.avatar_url + '?thumbnail&size=64' } alt=""/></a>
|
||||
<div class="content-container">
|
||||
<div class="balloon">
|
||||
<p class="read" if="{ message.is_me && message.is_read }">既読</p>
|
||||
<button class="delete-button" if="{ message.is_me }" title="メッセージを削除"><img src="/_/resources/desktop/messaging/delete.png" alt="Delete"/></button>
|
||||
<div class="content" if="{ !message.is_deleted }">
|
||||
<p class="read" if={ message.is_me && message.is_read }>既読</p>
|
||||
<button class="delete-button" if={ message.is_me } title="メッセージを削除"><img src="/_/resources/desktop/messaging/delete.png" alt="Delete"/></button>
|
||||
<div class="content" if={ !message.is_deleted }>
|
||||
<div ref="text"></div>
|
||||
<div class="image" if="{ message.file }"><img src="{ message.file.url }" alt="image" title="{ message.file.name }"/></div>
|
||||
<div class="image" if={ message.file }><img src={ message.file.url } alt="image" title={ message.file.name }/></div>
|
||||
</div>
|
||||
<div class="content" if="{ message.is_deleted }">
|
||||
<div class="content" if={ message.is_deleted }>
|
||||
<p class="is-deleted">このメッセージは削除されました</p>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<mk-time time="{ message.created_at }"></mk-time><i class="fa fa-pencil is-edited" if="{ message.is_edited }"></i>
|
||||
<mk-time time={ message.created_at }></mk-time><i class="fa fa-pencil is-edited" if={ message.is_edited }></i>
|
||||
</footer>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<mk-messaging-room-window>
|
||||
<mk-window ref="window" is-modal="{ false }" width="{ '500px' }" height="{ '560px' }"><yield to="header"><i class="fa fa-comments"></i>メッセージ: { parent.user.name }</yield>
|
||||
<mk-window ref="window" is-modal={ false } width={ '500px' } height={ '560px' }><yield to="header"><i class="fa fa-comments"></i>メッセージ: { parent.user.name }</yield>
|
||||
<yield to="content">
|
||||
<mk-messaging-room user="{ parent.user }"></mk-messaging-room></yield>
|
||||
<mk-messaging-room user={ parent.user }></mk-messaging-room></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
<mk-messaging-room>
|
||||
<div class="stream" ref="stream">
|
||||
<p class="initializing" if="{ init }"><i class="fa fa-spinner fa-spin"></i>読み込み中</p>
|
||||
<p class="empty" if="{ !init && messages.length == 0 }"><i class="fa fa-info-circle"></i>このユーザーとまだ会話したことがありません</p>
|
||||
<virtual each="{ message, i in messages }">
|
||||
<mk-messaging-message message="{ message }"></mk-messaging-message>
|
||||
<p class="date" if="{ i != messages.length - 1 && message._date != messages[i + 1]._date }"><span>{ messages[i + 1]._datetext }</span></p>
|
||||
<p class="initializing" if={ init }><i class="fa fa-spinner fa-spin"></i>読み込み中</p>
|
||||
<p class="empty" if={ !init && messages.length == 0 }><i class="fa fa-info-circle"></i>このユーザーとまだ会話したことがありません</p>
|
||||
<virtual each={ message, i in messages }>
|
||||
<mk-messaging-message message={ message }></mk-messaging-message>
|
||||
<p class="date" if={ i != messages.length - 1 && message._date != messages[i + 1]._date }><span>{ messages[i + 1]._datetext }</span></p>
|
||||
</virtual>
|
||||
</div>
|
||||
<div class="typings"></div>
|
||||
<footer>
|
||||
<div ref="notifications"></div>
|
||||
<div class="grippie" title="ドラッグしてフォームの広さを調整"></div>
|
||||
<mk-messaging-form user="{ user }"></mk-messaging-form>
|
||||
<mk-messaging-form user={ user }></mk-messaging-form>
|
||||
</footer>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-messaging-window>
|
||||
<mk-window ref="window" is-modal="{ false }" width="{ '500px' }" height="{ '560px' }"><yield to="header"><i class="fa fa-comments"></i>メッセージ</yield>
|
||||
<mk-window ref="window" is-modal={ false } width={ '500px' } height={ '560px' }><yield to="header"><i class="fa fa-comments"></i>メッセージ</yield>
|
||||
<yield to="content">
|
||||
<mk-messaging ref="index"></mk-messaging></yield>
|
||||
</mk-window>
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
<mk-notifications>
|
||||
<div class="notifications" if="{ notifications.length != 0 }">
|
||||
<virtual each="{ notification, i in notifications }">
|
||||
<div class="notifications" if={ notifications.length != 0 }>
|
||||
<virtual each={ notification, i in notifications }>
|
||||
<div class="notification { notification.type }">
|
||||
<mk-time time="{ notification.created_at }"></mk-time>
|
||||
<div class="main" if="{ notification.type == 'like' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + notification.user.username }" data-user-preview="{ notification.user.id }"><img class="avatar" src="{ notification.user.avatar_url + '?thumbnail&size=48' }" alt="avatar"/></a>
|
||||
<mk-time time={ notification.created_at }></mk-time>
|
||||
<div class="main" if={ notification.type == 'like' }><a class="avatar-anchor" href={ CONFIG.url + '/' + 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><i class="fa fa-thumbs-o-up"></i><a href="{ CONFIG.url + '/' + notification.user.username }" data-user-preview="{ notification.user.id }">{ notification.user.name }</a></p><a class="post-ref" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
|
||||
<p><i class="fa fa-thumbs-o-up"></i><a href={ CONFIG.url + '/' + notification.user.username } data-user-preview={ notification.user.id }>{ notification.user.name }</a></p><a class="post-ref" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main" if="{ notification.type == 'repost' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + 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>
|
||||
<div class="main" if={ notification.type == 'repost' }><a class="avatar-anchor" href={ CONFIG.url + '/' + 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>
|
||||
<div class="text">
|
||||
<p><i class="fa fa-retweet"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-ref" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post.repost) }</a>
|
||||
<p><i class="fa fa-retweet"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-ref" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post.repost) }</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main" if="{ notification.type == 'quote' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + 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>
|
||||
<div class="main" if={ notification.type == 'quote' }><a class="avatar-anchor" href={ CONFIG.url + '/' + 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>
|
||||
<div class="text">
|
||||
<p><i class="fa fa-quote-left"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
|
||||
<p><i class="fa fa-quote-left"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main" if="{ notification.type == 'follow' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + 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="main" if={ notification.type == 'follow' }><a class="avatar-anchor" href={ CONFIG.url + '/' + 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><i class="fa fa-user-plus"></i><a href="{ CONFIG.url + '/' + notification.user.username }" data-user-preview="{ notification.user.id }">{ notification.user.name }</a></p>
|
||||
<p><i class="fa fa-user-plus"></i><a href={ CONFIG.url + '/' + notification.user.username } data-user-preview={ notification.user.id }>{ notification.user.name }</a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main" if="{ notification.type == 'reply' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + 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>
|
||||
<div class="main" if={ notification.type == 'reply' }><a class="avatar-anchor" href={ CONFIG.url + '/' + 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>
|
||||
<div class="text">
|
||||
<p><i class="fa fa-reply"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
|
||||
<p><i class="fa fa-reply"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main" if="{ notification.type == 'mention' }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + 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>
|
||||
<div class="main" if={ notification.type == 'mention' }><a class="avatar-anchor" href={ CONFIG.url + '/' + 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>
|
||||
<div class="text">
|
||||
<p><i class="fa fa-at"></i><a href="{ CONFIG.url + '/' + notification.post.user.username }" data-user-preview="{ notification.post.user_id }">{ notification.post.user.name }</a></p><a class="post-preview" href="{ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }">{ getPostSummary(notification.post) }</a>
|
||||
<p><i class="fa fa-at"></i><a href={ CONFIG.url + '/' + notification.post.user.username } data-user-preview={ notification.post.user_id }>{ notification.post.user.name }</a></p><a class="post-preview" href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }>{ getPostSummary(notification.post) }</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p>
|
||||
</virtual>
|
||||
</div>
|
||||
<p class="empty" if="{ notifications.length == 0 && !loading }">ありません!</p>
|
||||
<p class="loading" if="{ loading }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<p class="empty" if={ notifications.length == 0 && !loading }>ありません!</p>
|
||||
<p class="loading" if={ loading }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-entrance>
|
||||
<main><img src="/_/resources/title.svg" alt="Misskey"/>
|
||||
<mk-entrance-signin if="{ mode == 'signin' }"></mk-entrance-signin>
|
||||
<mk-entrance-signup if="{ mode == 'signup' }"></mk-entrance-signup>
|
||||
<div class="introduction" if="{ mode == 'introduction' }">
|
||||
<mk-entrance-signin if={ mode == 'signin' }></mk-entrance-signin>
|
||||
<mk-entrance-signup if={ mode == 'signup' }></mk-entrance-signup>
|
||||
<div class="introduction" if={ mode == 'introduction' }>
|
||||
<mk-introduction></mk-introduction>
|
||||
<button onclick="{ signin }">わかった</button>
|
||||
<button onclick={ signin }>わかった</button>
|
||||
</div>
|
||||
</main>
|
||||
<mk-forkit></mk-forkit>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<mk-entrance-signin><a class="help" href="{ CONFIG.urls.about + '/help' }" title="お困りですか?"><i class="fa fa-question"></i></a>
|
||||
<mk-entrance-signin><a class="help" href={ CONFIG.urls.about + '/help' } title="お困りですか?"><i class="fa fa-question"></i></a>
|
||||
<div class="form">
|
||||
<h1><img if="{ user }" src="{ user.avatar_url + '?thumbnail&size=32' }"/>
|
||||
<h1><img if={ user } src={ user.avatar_url + '?thumbnail&size=32' }/>
|
||||
<p>{ user ? user.name : 'アカウント' }</p>
|
||||
</h1>
|
||||
<mk-signin ref="signin"></mk-signin>
|
||||
</div>
|
||||
<div class="divider"><span>or</span></div>
|
||||
<button class="signup" onclick="{ parent.signup }">新規登録</button><a class="introduction" onclick="{ introduction }">Misskeyについて</a>
|
||||
<button class="signup" onclick={ parent.signup }>新規登録</button><a class="introduction" onclick={ introduction }>Misskeyについて</a>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-entrance-signup>
|
||||
<mk-signup></mk-signup>
|
||||
<button class="cancel" type="button" onclick="{ parent.signin }" title="キャンセル"><i class="fa fa-times"></i></button>
|
||||
<button class="cancel" type="button" onclick={ parent.signin } title="キャンセル"><i class="fa fa-times"></i></button>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-home-page>
|
||||
<mk-ui ref="ui" page="{ page }">
|
||||
<mk-home ref="home" mode="{ parent.opts.mode }"></mk-home>
|
||||
<mk-ui ref="ui" page={ page }>
|
||||
<mk-home ref="home" mode={ parent.opts.mode }></mk-home>
|
||||
</mk-ui>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<mk-post-page>
|
||||
<mk-ui ref="ui">
|
||||
<main>
|
||||
<mk-post-detail ref="detail" post="{ parent.post }"></mk-post-detail>
|
||||
<mk-post-detail ref="detail" post={ parent.post }></mk-post-detail>
|
||||
</main>
|
||||
</mk-ui>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-search-page>
|
||||
<mk-ui ref="ui">
|
||||
<mk-search ref="search" query="{ parent.opts.query }"></mk-search>
|
||||
<mk-search ref="search" query={ parent.opts.query }></mk-search>
|
||||
</mk-ui>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-user-page>
|
||||
<mk-ui ref="ui">
|
||||
<mk-user ref="user" user="{ parent.user }" page="{ parent.opts.page }"></mk-user>
|
||||
<mk-user ref="user" user={ parent.user } page={ parent.opts.page }></mk-user>
|
||||
</mk-ui>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<mk-post-detail-sub title="{ title }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&size=64' }" alt="avatar" data-user-preview="{ post.user_id }"/></a>
|
||||
<mk-post-detail-sub title={ title }><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar" data-user-preview={ post.user_id }/></a>
|
||||
<div class="main">
|
||||
<header>
|
||||
<div class="left"><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a><span class="username">@{ post.user.username }</span></div>
|
||||
<div class="right"><a class="time" href="{ url }">
|
||||
<mk-time time="{ post.created_at }"></mk-time></a></div>
|
||||
<div class="left"><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a><span class="username">@{ post.user.username }</span></div>
|
||||
<div class="right"><a class="time" href={ url }>
|
||||
<mk-time time={ post.created_at }></mk-time></a></div>
|
||||
</header>
|
||||
<div class="body">
|
||||
<div class="text" ref="text"></div>
|
||||
<div class="media" if="{ post.media }">
|
||||
<virtual each="{ file in post.media }"><img src="{ file.url + '?thumbnail&size=512' }" alt="{ file.name }" title="{ file.name }"/></virtual>
|
||||
<div class="media" if={ post.media }>
|
||||
<virtual each={ file in post.media }><img src={ file.url + '?thumbnail&size=512' } alt={ file.name } title={ file.name }/></virtual>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,63 +1,63 @@
|
|||
<mk-post-detail title="{ title }">
|
||||
<div class="fetching" if="{ fetching }">
|
||||
<mk-post-detail title={ title }>
|
||||
<div class="fetching" if={ fetching }>
|
||||
<mk-ellipsis-icon></mk-ellipsis-icon>
|
||||
</div>
|
||||
<div class="main" if="{ !fetching }">
|
||||
<button class="read-more" if="{ p.reply_to && p.reply_to.reply_to_id && context == null }" title="会話をもっと読み込む" onclick="{ loadContext }" disabled="{ loadingContext }"><i class="fa fa-ellipsis-v" if="{ !loadingContext }"></i><i class="fa fa-spinner fa-pulse" if="{ loadingContext }"></i></button>
|
||||
<div class="main" if={ !fetching }>
|
||||
<button class="read-more" if={ p.reply_to && p.reply_to.reply_to_id && context == null } title="会話をもっと読み込む" onclick={ loadContext } disabled={ loadingContext }><i class="fa fa-ellipsis-v" if={ !loadingContext }></i><i class="fa fa-spinner fa-pulse" if={ loadingContext }></i></button>
|
||||
<div class="context">
|
||||
<virtual each="{ post in context }">
|
||||
<mk-post-detail-sub post="{ post }"></mk-post-detail-sub>
|
||||
<virtual each={ post in context }>
|
||||
<mk-post-detail-sub post={ post }></mk-post-detail-sub>
|
||||
</virtual>
|
||||
</div>
|
||||
<div class="reply-to" if="{ p.reply_to }">
|
||||
<mk-post-detail-sub post="{ p.reply_to }"></mk-post-detail-sub>
|
||||
<div class="reply-to" if={ p.reply_to }>
|
||||
<mk-post-detail-sub post={ p.reply_to }></mk-post-detail-sub>
|
||||
</div>
|
||||
<div class="repost" if="{ isRepost }">
|
||||
<p><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&size=32' }" alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href="{ CONFIG.url + '/' + post.user.username }">{ post.user.name }</a>がRepost</p>
|
||||
<div class="repost" if={ isRepost }>
|
||||
<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=32' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost</p>
|
||||
</div>
|
||||
<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + p.user.username }"><img class="avatar" src="{ p.user.avatar_url + '?thumbnail&size=64' }" alt="avatar" data-user-preview="{ p.user.id }"/></a>
|
||||
<header><a class="name" href="{ CONFIG.url + '/' + p.user.username }" data-user-preview="{ p.user.id }">{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="time" href="{ url }">
|
||||
<mk-time time="{ p.created_at }"></mk-time></a></header>
|
||||
<article><a class="avatar-anchor" href={ CONFIG.url + '/' + p.user.username }><img class="avatar" src={ p.user.avatar_url + '?thumbnail&size=64' } alt="avatar" data-user-preview={ p.user.id }/></a>
|
||||
<header><a class="name" href={ CONFIG.url + '/' + p.user.username } data-user-preview={ p.user.id }>{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="time" href={ url }>
|
||||
<mk-time time={ p.created_at }></mk-time></a></header>
|
||||
<div class="body">
|
||||
<div class="text" ref="text"></div>
|
||||
<div class="media" if="{ p.media }">
|
||||
<virtual each="{ file in p.media }"><img src="{ file.url + '?thumbnail&size=512' }" alt="{ file.name }" title="{ file.name }"/></virtual>
|
||||
<div class="media" if={ p.media }>
|
||||
<virtual each={ file in p.media }><img src={ file.url + '?thumbnail&size=512' } alt={ file.name } title={ file.name }/></virtual>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<button onclick="{ reply }" title="返信"><i class="fa fa-reply"></i>
|
||||
<p class="count" if="{ p.replies_count > 0 }">{ p.replies_count }</p>
|
||||
<button onclick={ reply } title="返信"><i class="fa fa-reply"></i>
|
||||
<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>
|
||||
<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
|
||||
<p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
|
||||
</button>
|
||||
<button class="{ liked: p.is_liked }" onclick="{ like }" title="善哉"><i class="fa fa-thumbs-o-up"></i>
|
||||
<p class="count" if="{ p.likes_count > 0 }">{ p.likes_count }</p>
|
||||
<button class={ liked: p.is_liked } onclick={ like } title="善哉"><i class="fa fa-thumbs-o-up"></i>
|
||||
<p class="count" if={ p.likes_count > 0 }>{ p.likes_count }</p>
|
||||
</button>
|
||||
<button onclick="{ NotImplementedException }"><i class="fa fa-ellipsis-h"></i></button>
|
||||
<button onclick={ NotImplementedException }><i class="fa fa-ellipsis-h"></i></button>
|
||||
</footer>
|
||||
<div class="reposts-and-likes">
|
||||
<div class="reposts" if="{ reposts && reposts.length > 0 }">
|
||||
<div class="reposts" if={ reposts && reposts.length > 0 }>
|
||||
<header><a>{ p.repost_count }</a>
|
||||
<p>Repost</p>
|
||||
</header>
|
||||
<ol class="users">
|
||||
<li class="user" each="{ reposts }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + user.username }" title="{ user.name }" data-user-preview="{ user.id }"><img class="avatar" src="{ user.avatar_url + '?thumbnail&size=32' }" alt=""/></a></li>
|
||||
<li class="user" each={ reposts }><a class="avatar-anchor" href={ CONFIG.url + '/' + user.username } title={ user.name } data-user-preview={ user.id }><img class="avatar" src={ user.avatar_url + '?thumbnail&size=32' } alt=""/></a></li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="likes" if="{ likes && likes.length > 0 }">
|
||||
<div class="likes" if={ likes && likes.length > 0 }>
|
||||
<header><a>{ p.likes_count }</a>
|
||||
<p>いいね</p>
|
||||
</header>
|
||||
<ol class="users">
|
||||
<li class="user" each="{ likes }"><a class="avatar-anchor" href="{ CONFIG.url + '/' + username }" title="{ name }" data-user-preview="{ id }"><img class="avatar" src="{ avatar_url + '?thumbnail&size=32' }" alt=""/></a></li>
|
||||
<li class="user" each={ likes }><a class="avatar-anchor" href={ CONFIG.url + '/' + username } title={ name } data-user-preview={ id }><img class="avatar" src={ avatar_url + '?thumbnail&size=32' } alt=""/></a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
<div class="replies">
|
||||
<virtual each="{ post in replies }">
|
||||
<mk-post-detail-sub post="{ post }"></mk-post-detail-sub>
|
||||
<virtual each={ post in replies }>
|
||||
<mk-post-detail-sub post={ post }></mk-post-detail-sub>
|
||||
</virtual>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<mk-post-form-window>
|
||||
<mk-window ref="window" is-modal="{ true }" colored="{ true }"><yield to="header"><span if="{ !parent.opts.reply }">新規投稿</span><span if="{ parent.opts.reply }">返信</span><span class="files" if="{ parent.files.length != 0 }">添付: { parent.files.length }ファイル</span><span class="uploading-files" if="{ parent.uploadingFiles.length != 0 }">{ parent.uploadingFiles.length }個のファイルをアップロード中
|
||||
<mk-window ref="window" is-modal={ true } colored={ true }><yield to="header"><span if={ !parent.opts.reply }>新規投稿</span><span if={ parent.opts.reply }>返信</span><span class="files" if={ parent.files.length != 0 }>添付: { parent.files.length }ファイル</span><span class="uploading-files" if={ parent.uploadingFiles.length != 0 }>{ parent.uploadingFiles.length }個のファイルをアップロード中
|
||||
<mk-ellipsis></mk-ellipsis></span></yield>
|
||||
<yield to="content">
|
||||
<div class="ref" if="{ parent.opts.reply }">
|
||||
<mk-post-preview post="{ parent.opts.reply }"></mk-post-preview>
|
||||
<div class="ref" if={ parent.opts.reply }>
|
||||
<mk-post-preview post={ parent.opts.reply }></mk-post-preview>
|
||||
</div>
|
||||
<div class="body">
|
||||
<mk-post-form ref="form" reply="{ parent.opts.reply }"></mk-post-form>
|
||||
<mk-post-form ref="form" reply={ parent.opts.reply }></mk-post-form>
|
||||
</div></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
<mk-post-form ondragover="{ ondragover }" ondragenter="{ ondragenter }" ondragleave="{ ondragleave }" ondrop="{ ondrop }">
|
||||
<textarea class="{ withfiles: files.length != 0 }" ref="text" disabled="{ wait }" oninput="{ update }" onkeydown="{ onkeydown }" onpaste="{ onpaste }" placeholder="{ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }"></textarea>
|
||||
<div class="attaches" if="{ files.length != 0 }">
|
||||
<mk-post-form ondragover={ ondragover } ondragenter={ ondragenter } ondragleave={ ondragleave } ondrop={ ondrop }>
|
||||
<textarea class={ withfiles: files.length != 0 } ref="text" disabled={ wait } oninput={ update } onkeydown={ onkeydown } onpaste={ onpaste } placeholder={ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }></textarea>
|
||||
<div class="attaches" if={ files.length != 0 }>
|
||||
<ul class="files" ref="attaches">
|
||||
<li class="file" each="{ files }">
|
||||
<div class="img" style="background-image: url({ url + "?thumbnail&size=64" })" title="{ name }"></div><img class="remove" onclick="{ _remove }" src="/_/resources/desktop/remove.png" title="添付取り消し" alt=""/>
|
||||
<li class="file" each={ files }>
|
||||
<div class="img" style="background-image: url({ url + "?thumbnail&size=64" })" title={ name }></div><img class="remove" onclick={ _remove } src="/_/resources/desktop/remove.png" title="添付取り消し" alt=""/>
|
||||
</li>
|
||||
<li class="add" if="{ files.length < 4 }" title="PCからファイルを添付" onclick="{ selectFile }"><i class="fa fa-plus"></i></li>
|
||||
<li class="add" if={ files.length < 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li>
|
||||
</ul>
|
||||
<p class="remain">残り{ 4 - files.length }</p>
|
||||
</div>
|
||||
<mk-uploader ref="uploader"></mk-uploader>
|
||||
<button ref="upload" title="PCからファイルを添付" onclick="{ selectFile }"><i class="fa fa-upload"></i></button>
|
||||
<button ref="drive" title="ドライブからファイルを添付" onclick="{ selectFileFromDrive }"><i class="fa fa-cloud"></i></button>
|
||||
<button ref="upload" title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-upload"></i></button>
|
||||
<button ref="drive" title="ドライブからファイルを添付" onclick={ selectFileFromDrive }><i class="fa fa-cloud"></i></button>
|
||||
<p class="text-count { over: refs.text.value.length > 300 }">のこり{ 300 - refs.text.value.length }文字</p>
|
||||
<button class="{ wait: wait }" ref="submit" disabled="{ wait || (refs.text.value.length == 0 && files.length == 0) }" onclick="{ post }">{ wait ? '投稿中' : opts.reply ? '返信' : '投稿' }
|
||||
<mk-ellipsis if="{ wait }"></mk-ellipsis>
|
||||
<button class={ wait: wait } ref="submit" disabled={ wait || (refs.text.value.length == 0 && files.length == 0) } onclick={ post }>{ wait ? '投稿中' : opts.reply ? '返信' : '投稿' }
|
||||
<mk-ellipsis if={ wait }></mk-ellipsis>
|
||||
</button>
|
||||
<input ref="file" type="file" accept="image/*" multiple="multiple" tabindex="-1" onchange="{ changeFile }"/>
|
||||
<div class="dropzone" if="{ draghover }"></div>
|
||||
<input ref="file" type="file" accept="image/*" multiple="multiple" tabindex="-1" onchange={ changeFile }/>
|
||||
<div class="dropzone" if={ draghover }></div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-post-preview title="{ title }">
|
||||
<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&size=64' }" alt="avatar" data-user-preview="{ post.user_id }"/></a>
|
||||
<mk-post-preview title={ title }>
|
||||
<article><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar" data-user-preview={ post.user_id }/></a>
|
||||
<div class="main">
|
||||
<header><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="time" href="{ CONFIG.url + '/' + post.user.username + '/' + post.id }">
|
||||
<mk-time time="{ post.created_at }"></mk-time></a></header>
|
||||
<header><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="time" href={ CONFIG.url + '/' + post.user.username + '/' + post.id }>
|
||||
<mk-time time={ post.created_at }></mk-time></a></header>
|
||||
<div class="body">
|
||||
<mk-sub-post-content class="text" post="{ post }"></mk-sub-post-content>
|
||||
<mk-sub-post-content class="text" post={ post }></mk-sub-post-content>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-post-status-graph>
|
||||
<canvas ref="canv" width="{ opts.width }" height="{ opts.height }"></canvas>
|
||||
<canvas ref="canv" width={ opts.width } height={ opts.height }></canvas>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<mk-progress-dialog>
|
||||
<mk-window ref="window" is-modal="{ false }" can-close="{ false }" width="{ '500px' }">
|
||||
<mk-window ref="window" is-modal={ false } can-close={ false } width={ '500px' }>
|
||||
<yield to="header">{ parent.title }
|
||||
<mk-ellipsis></mk-ellipsis></yield>
|
||||
<yield to="content">
|
||||
<div class="body">
|
||||
<p class="init" if="{ isNaN(parent.value) }">待機中
|
||||
<p class="init" if={ isNaN(parent.value) }>待機中
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<p class="percentage" if="{ !isNaN(parent.value) }">{ Math.floor((parent.value / parent.max) * 100) }</p>
|
||||
<progress if="{ !isNaN(parent.value) && parent.value < parent.max }" value="{ isNaN(parent.value) ? 0 : parent.value }" max="{ parent.max }"></progress>
|
||||
<div class="progress waiting" if="{ parent.value >= parent.max }"></div>
|
||||
<p class="percentage" if={ !isNaN(parent.value) }>{ Math.floor((parent.value / parent.max) * 100) }</p>
|
||||
<progress if={ !isNaN(parent.value) && parent.value < parent.max } value={ isNaN(parent.value) ? 0 : parent.value } max={ parent.max }></progress>
|
||||
<div class="progress waiting" if={ parent.value >= parent.max }></div>
|
||||
</div></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<mk-repost-form-window>
|
||||
<mk-window ref="window" is-modal="{ true }" colored="{ true }"><yield to="header"><i class="fa fa-retweet"></i>この投稿をRepostしますか?</yield>
|
||||
<mk-window ref="window" is-modal={ true } colored={ true }><yield to="header"><i class="fa fa-retweet"></i>この投稿をRepostしますか?</yield>
|
||||
<yield to="content">
|
||||
<mk-repost-form ref="form" post="{ parent.opts.post }"></mk-repost-form></yield>
|
||||
<mk-repost-form ref="form" post={ parent.opts.post }></mk-repost-form></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<mk-repost-form>
|
||||
<mk-post-preview post="{ opts.post }"></mk-post-preview>
|
||||
<div class="form" if="{ quote }">
|
||||
<textarea ref="text" disabled="{ wait }" placeholder="この投稿を引用..."></textarea>
|
||||
<mk-post-preview post={ opts.post }></mk-post-preview>
|
||||
<div class="form" if={ quote }>
|
||||
<textarea ref="text" disabled={ wait } placeholder="この投稿を引用..."></textarea>
|
||||
</div>
|
||||
<footer><a class="quote" if="{ !quote }" onclick="{ onquote }">引用する...</a>
|
||||
<button class="cancel" onclick="{ cancel }">キャンセル</button>
|
||||
<button class="ok" onclick="{ ok }">Repost</button>
|
||||
<footer><a class="quote" if={ !quote } onclick={ onquote }>引用する...</a>
|
||||
<button class="cancel" onclick={ cancel }>キャンセル</button>
|
||||
<button class="ok" onclick={ ok }>Repost</button>
|
||||
</footer>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<mk-search-posts>
|
||||
<div class="loading" if="{ isLoading }">
|
||||
<div class="loading" if={ isLoading }>
|
||||
<mk-ellipsis-icon></mk-ellipsis-icon>
|
||||
</div>
|
||||
<p class="empty" if="{ isEmpty }"><i class="fa fa-search"></i>「{ query }」に関する投稿は見つかりませんでした。</p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
|
||||
<p class="empty" if={ isEmpty }><i class="fa fa-search"></i>「{ query }」に関する投稿は見つかりませんでした。</p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<header>
|
||||
<h1>{ query }</h1>
|
||||
</header>
|
||||
<mk-search-posts ref="posts" query="{ query }"></mk-search-posts>
|
||||
<mk-search-posts ref="posts" query={ query }></mk-search-posts>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<mk-select-file-from-drive-window>
|
||||
<mk-window ref="window" is-modal="{ true }" width="{ '800px' }" height="{ '500px' }"><yield to="header">
|
||||
<mk-raw content="{ parent.title }"></mk-raw><span class="count" if="{ parent.multiple && parent.file.length > 0 }">({ parent.file.length }ファイル選択中)</span></yield>
|
||||
<mk-window ref="window" is-modal={ true } width={ '800px' } height={ '500px' }><yield to="header">
|
||||
<mk-raw content={ parent.title }></mk-raw><span class="count" if={ parent.multiple && parent.file.length > 0 }>({ parent.file.length }ファイル選択中)</span></yield>
|
||||
<yield to="content">
|
||||
<mk-drive-browser ref="browser" multiple="{ parent.multiple }"></mk-drive-browser>
|
||||
<mk-drive-browser ref="browser" multiple={ parent.multiple }></mk-drive-browser>
|
||||
<div>
|
||||
<button class="upload" title="PCからドライブにファイルをアップロード" onclick="{ parent.upload }"><i class="fa fa-upload"></i></button>
|
||||
<button class="cancel" onclick="{ parent.close }">キャンセル</button>
|
||||
<button class="ok" disabled="{ parent.multiple && parent.file.length == 0 }" onclick="{ parent.ok }">決定</button>
|
||||
<button class="upload" title="PCからドライブにファイルをアップロード" onclick={ parent.upload }><i class="fa fa-upload"></i></button>
|
||||
<button class="cancel" onclick={ parent.close }>キャンセル</button>
|
||||
<button class="ok" disabled={ parent.multiple && parent.file.length == 0 } onclick={ parent.ok }>決定</button>
|
||||
</div></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-set-avatar-suggestion onclick="{ set }">
|
||||
<mk-set-avatar-suggestion onclick={ set }>
|
||||
<p><b>アバターを設定</b>してみませんか?
|
||||
<button onclick="{ close }"><i class="fa fa-times"></i></button>
|
||||
<button onclick={ close }><i class="fa fa-times"></i></button>
|
||||
</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-set-banner-suggestion onclick="{ set }">
|
||||
<mk-set-banner-suggestion onclick={ set }>
|
||||
<p><b>バナーを設定</b>してみませんか?
|
||||
<button onclick="{ close }"><i class="fa fa-times"></i></button>
|
||||
<button onclick={ close }><i class="fa fa-times"></i></button>
|
||||
</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-settings-window>
|
||||
<mk-window ref="window" is-modal="{ true }" width="{ '700px' }" height="{ '550px' }"><yield to="header"><i class="fa fa-cog"></i>設定</yield>
|
||||
<mk-window ref="window" is-modal={ true } width={ '700px' } height={ '550px' }><yield to="header"><i class="fa fa-cog"></i>設定</yield>
|
||||
<yield to="content">
|
||||
<mk-settings></mk-settings></yield>
|
||||
</mk-window>
|
||||
|
|
|
@ -1,28 +1,28 @@
|
|||
<mk-settings>
|
||||
<div class="nav">
|
||||
<p class="{ active: page == 'account' }" onmousedown="{ setPage.bind(null, 'account') }"><i class="fa fa-fw fa-user"></i>アカウント</p>
|
||||
<p class="{ active: page == 'web' }" onmousedown="{ setPage.bind(null, 'web') }"><i class="fa fa-fw fa-desktop"></i>Web</p>
|
||||
<p class="{ active: page == 'notification' }" onmousedown="{ setPage.bind(null, 'notification') }"><i class="fa fa-fw fa-bell-o"></i>通知</p>
|
||||
<p class="{ active: page == 'drive' }" onmousedown="{ setPage.bind(null, 'drive') }"><i class="fa fa-fw fa-cloud"></i>ドライブ</p>
|
||||
<p class="{ active: page == 'apps' }" onmousedown="{ setPage.bind(null, 'apps') }"><i class="fa fa-fw fa-puzzle-piece"></i>アプリ</p>
|
||||
<p class="{ active: page == 'signin' }" onmousedown="{ setPage.bind(null, 'signin') }"><i class="fa fa-fw fa-sign-in"></i>ログイン履歴</p>
|
||||
<p class="{ active: page == 'password' }" onmousedown="{ setPage.bind(null, 'password') }"><i class="fa fa-fw fa-unlock-alt"></i>パスワード</p>
|
||||
<p class="{ active: page == 'api' }" onmousedown="{ setPage.bind(null, 'api') }"><i class="fa fa-fw fa-key"></i>API</p>
|
||||
<p class={ active: page == 'account' } onmousedown={ setPage.bind(null, 'account') }><i class="fa fa-fw fa-user"></i>アカウント</p>
|
||||
<p class={ active: page == 'web' } onmousedown={ setPage.bind(null, 'web') }><i class="fa fa-fw fa-desktop"></i>Web</p>
|
||||
<p class={ active: page == 'notification' } onmousedown={ setPage.bind(null, 'notification') }><i class="fa fa-fw fa-bell-o"></i>通知</p>
|
||||
<p class={ active: page == 'drive' } onmousedown={ setPage.bind(null, 'drive') }><i class="fa fa-fw fa-cloud"></i>ドライブ</p>
|
||||
<p class={ active: page == 'apps' } onmousedown={ setPage.bind(null, 'apps') }><i class="fa fa-fw fa-puzzle-piece"></i>アプリ</p>
|
||||
<p class={ active: page == 'signin' } onmousedown={ setPage.bind(null, 'signin') }><i class="fa fa-fw fa-sign-in"></i>ログイン履歴</p>
|
||||
<p class={ active: page == 'password' } onmousedown={ setPage.bind(null, 'password') }><i class="fa fa-fw fa-unlock-alt"></i>パスワード</p>
|
||||
<p class={ active: page == 'api' } onmousedown={ setPage.bind(null, 'api') }><i class="fa fa-fw fa-key"></i>API</p>
|
||||
</div>
|
||||
<div class="pages">
|
||||
<section class="account" show="{ page == 'account' }">
|
||||
<section class="account" show={ page == 'account' }>
|
||||
<h1>アカウント</h1>
|
||||
<label class="avatar">
|
||||
<p>アバター</p><img class="avatar" src="{ I.avatar_url + '?thumbnail&size=64' }" alt="avatar"/>
|
||||
<button class="style-normal" onclick="{ avatar }">画像を選択</button>
|
||||
<p>アバター</p><img class="avatar" src={ I.avatar_url + '?thumbnail&size=64' } alt="avatar"/>
|
||||
<button class="style-normal" onclick={ avatar }>画像を選択</button>
|
||||
</label>
|
||||
<label>
|
||||
<p>名前</p>
|
||||
<input ref="accountName" type="text" value="{ I.name }"/>
|
||||
<input ref="accountName" type="text" value={ I.name }/>
|
||||
</label>
|
||||
<label>
|
||||
<p>場所</p>
|
||||
<input ref="accountLocation" type="text" value="{ I.location }"/>
|
||||
<input ref="accountLocation" type="text" value={ I.location }/>
|
||||
</label>
|
||||
<label>
|
||||
<p>自己紹介</p>
|
||||
|
@ -30,46 +30,46 @@
|
|||
</label>
|
||||
<label>
|
||||
<p>誕生日</p>
|
||||
<input ref="accountBirthday" type="date" value="{ I.birthday }"/>
|
||||
<input ref="accountBirthday" type="date" value={ I.birthday }/>
|
||||
</label>
|
||||
<button class="style-primary" onclick="{ updateAccount }">保存</button>
|
||||
<button class="style-primary" onclick={ updateAccount }>保存</button>
|
||||
</section>
|
||||
<section class="web" show="{ page == 'web' }">
|
||||
<section class="web" show={ page == 'web' }>
|
||||
<h1>デザイン</h1>
|
||||
<label>
|
||||
<p>壁紙</p>
|
||||
<button class="style-normal" onclick="{ wallpaper }">画像を選択</button>
|
||||
<button class="style-normal" onclick={ wallpaper }>画像を選択</button>
|
||||
</label>
|
||||
</section>
|
||||
<section class="web" show="{ page == 'web' }">
|
||||
<section class="web" show={ page == 'web' }>
|
||||
<h1>その他</h1>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="{ I.data.cache }" onclick="{ updateCache }"/>
|
||||
<input type="checkbox" checked={ I.data.cache } onclick={ updateCache }/>
|
||||
<p>読み込みを高速化する</p>
|
||||
<p>API通信時に新鮮なユーザー情報をキャッシュすることでフェッチのオーバーヘッドを無くします。(実験的)</p>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="{ I.data.debug }" onclick="{ updateDebug }"/>
|
||||
<input type="checkbox" checked={ I.data.debug } onclick={ updateDebug }/>
|
||||
<p>開発者モード</p>
|
||||
<p>デバッグ等の開発者モードを有効にします。</p>
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" checked="{ I.data.nya }" onclick="{ updateNya }"/>
|
||||
<input type="checkbox" checked={ I.data.nya } onclick={ updateNya }/>
|
||||
<p><i>な</i>を<i>にゃ</i>に変換する</p>
|
||||
<p>攻撃的な投稿が多少和らぐ可能性があります。</p>
|
||||
</label>
|
||||
</section>
|
||||
<section class="signin" show="{ page == 'signin' }">
|
||||
<section class="signin" show={ page == 'signin' }>
|
||||
<h1>ログイン履歴</h1>
|
||||
<mk-signin-history></mk-signin-history>
|
||||
</section>
|
||||
<section class="api" show="{ page == 'api' }">
|
||||
<section class="api" show={ page == 'api' }>
|
||||
<h1>API</h1>
|
||||
<p>Token:<code>{ I.token }</code></p>
|
||||
<p>APIを利用するには、上記のトークンを「i」というキーでパラメータに付加してリクエストします。</p>
|
||||
<p>アカウントを乗っ取られてしまう可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。</p>
|
||||
<p>万が一このトークンが漏れたりその可能性がある場合は
|
||||
<button class="regenerate" onclick="{ regenerateToken }">トークンを再生成</button>できます。(副作用として、ログインしているすべてのデバイスでログアウトが発生します)
|
||||
<button class="regenerate" onclick={ regenerateToken }>トークンを再生成</button>できます。(副作用として、ログインしているすべてのデバイスでログアウトが発生します)
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<mk-signin-history>
|
||||
<div class="records" if="{ history.length != 0 }">
|
||||
<div each="{ history }">
|
||||
<mk-time time="{ created_at }"></mk-time>
|
||||
<header><i class="fa fa-check" if="{ success }"></i><i class="fa fa-times" if="{ !success }"></i><span class="ip">{ ip }</span></header>
|
||||
<div class="records" if={ history.length != 0 }>
|
||||
<div each={ history }>
|
||||
<mk-time time={ created_at }></mk-time>
|
||||
<header><i class="fa fa-check" if={ success }></i><i class="fa fa-times" if={ !success }></i><span class="ip">{ ip }</span></header>
|
||||
<pre><code>{ JSON.stringify(headers, null, ' ') }</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<mk-stream-indicator>
|
||||
<p if="{ state == 'initializing' }"><i class="fa fa-spinner fa-spin"></i><span>接続中
|
||||
<p if={ state == 'initializing' }><i class="fa fa-spinner fa-spin"></i><span>接続中
|
||||
<mk-ellipsis></mk-ellipsis></span></p>
|
||||
<p if="{ state == 'reconnecting' }"><i class="fa fa-spinner fa-spin"></i><span>切断されました 接続中
|
||||
<p if={ state == 'reconnecting' }><i class="fa fa-spinner fa-spin"></i><span>切断されました 接続中
|
||||
<mk-ellipsis></mk-ellipsis></span></p>
|
||||
<p if="{ state == 'connected' }"><i class="fa fa-check"></i><span>接続完了</span></p>
|
||||
<p if={ state == 'connected' }><i class="fa fa-check"></i><span>接続完了</span></p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<mk-sub-post-content>
|
||||
<div class="body"><a class="reply" if="{ post.reply_to_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>
|
||||
<details if="{ post.media }">
|
||||
<div class="body"><a class="reply" if={ post.reply_to_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>
|
||||
<details if={ post.media }>
|
||||
<summary>({ post.media.length }枚の画像)</summary>
|
||||
<mk-images-viewer images="{ post.media }"></mk-images-viewer>
|
||||
<mk-images-viewer images={ post.media }></mk-images-viewer>
|
||||
</details>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-timeline-post-sub title="{ title }">
|
||||
<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&size=64' }" alt="avatar" data-user-preview="{ post.user_id }"/></a>
|
||||
<mk-timeline-post-sub title={ title }>
|
||||
<article><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar" data-user-preview={ post.user_id }/></a>
|
||||
<div class="main">
|
||||
<header><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="created-at" href="{ CONFIG.url + '/' + post.user.username + '/' + post.id }">
|
||||
<mk-time time="{ post.created_at }"></mk-time></a></header>
|
||||
<header><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="created-at" href={ CONFIG.url + '/' + post.user.username + '/' + post.id }>
|
||||
<mk-time time={ post.created_at }></mk-time></a></header>
|
||||
<div class="body">
|
||||
<mk-sub-post-content class="text" post="{ post }"></mk-sub-post-content>
|
||||
<mk-sub-post-content class="text" post={ post }></mk-sub-post-content>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
<mk-timeline-post tabindex="-1" title="{ title }" onkeydown="{ onKeyDown }">
|
||||
<div class="reply-to" if="{ p.reply_to }">
|
||||
<mk-timeline-post-sub post="{ p.reply_to }"></mk-timeline-post-sub>
|
||||
<mk-timeline-post tabindex="-1" title={ title } onkeydown={ onKeyDown }>
|
||||
<div class="reply-to" if={ p.reply_to }>
|
||||
<mk-timeline-post-sub post={ p.reply_to }></mk-timeline-post-sub>
|
||||
</div>
|
||||
<div class="repost" if="{ isRepost }">
|
||||
<p><a class="avatar-anchor" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }"><img class="avatar" src="{ post.user.avatar_url + '?thumbnail&size=32' }" alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href="{ CONFIG.url + '/' + post.user.username }" data-user-preview="{ post.user_id }">{ post.user.name }</a>がRepost</p>
|
||||
<mk-time time="{ post.created_at }"></mk-time>
|
||||
<div class="repost" if={ isRepost }>
|
||||
<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=32' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username } data-user-preview={ post.user_id }>{ post.user.name }</a>がRepost</p>
|
||||
<mk-time time={ post.created_at }></mk-time>
|
||||
</div>
|
||||
<article><a class="avatar-anchor" href="{ CONFIG.url + '/' + p.user.username }"><img class="avatar" src="{ p.user.avatar_url + '?thumbnail&size=64' }" alt="avatar" data-user-preview="{ p.user.id }"/></a>
|
||||
<article><a class="avatar-anchor" href={ CONFIG.url + '/' + p.user.username }><img class="avatar" src={ p.user.avatar_url + '?thumbnail&size=64' } alt="avatar" data-user-preview={ p.user.id }/></a>
|
||||
<div class="main">
|
||||
<header><a class="name" href="{ CONFIG.url + '/' + p.user.username }" data-user-preview="{ p.user.id }">{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="created-at" href="{ url }">
|
||||
<mk-time time="{ p.created_at }"></mk-time></a></header>
|
||||
<header><a class="name" href={ CONFIG.url + '/' + p.user.username } data-user-preview={ p.user.id }>{ p.user.name }</a><span class="username">@{ p.user.username }</span><a class="created-at" href={ url }>
|
||||
<mk-time time={ p.created_at }></mk-time></a></header>
|
||||
<div class="body">
|
||||
<div class="text"><a class="reply" if="{ p.reply_to }"><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if="{ p.repost != null }">RP:</a></div>
|
||||
<div class="media" if="{ p.media }">
|
||||
<mk-images-viewer images="{ p.media }"></mk-images-viewer>
|
||||
<div class="text"><a class="reply" if={ p.reply_to }><i class="fa fa-reply"></i></a><span ref="text"></span><a class="quote" if={ p.repost != null }>RP:</a></div>
|
||||
<div class="media" if={ p.media }>
|
||||
<mk-images-viewer images={ p.media }></mk-images-viewer>
|
||||
</div>
|
||||
<div class="repost" if="{ p.repost }"><i class="fa fa-quote-right fa-flip-horizontal"></i>
|
||||
<mk-post-preview class="repost" post="{ p.repost }"></mk-post-preview>
|
||||
<div class="repost" if={ p.repost }><i class="fa fa-quote-right fa-flip-horizontal"></i>
|
||||
<mk-post-preview class="repost" post={ p.repost }></mk-post-preview>
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<button onclick="{ reply }" title="返信"><i class="fa fa-reply"></i>
|
||||
<p class="count" if="{ p.replies_count > 0 }">{ p.replies_count }</p>
|
||||
<button onclick={ reply } title="返信"><i class="fa fa-reply"></i>
|
||||
<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>
|
||||
<button onclick={ repost } title="Repost"><i class="fa fa-retweet"></i>
|
||||
<p class="count" if={ p.repost_count > 0 }>{ p.repost_count }</p>
|
||||
</button>
|
||||
<button class="{ liked: p.is_liked }" onclick="{ like }" title="善哉"><i class="fa fa-thumbs-o-up"></i>
|
||||
<p class="count" if="{ p.likes_count > 0 }">{ p.likes_count }</p>
|
||||
<button class={ liked: p.is_liked } onclick={ like } title="善哉"><i class="fa fa-thumbs-o-up"></i>
|
||||
<p class="count" if={ p.likes_count > 0 }>{ p.likes_count }</p>
|
||||
</button>
|
||||
<button onclick="{ NotImplementedException }"><i class="fa fa-ellipsis-h"></i></button>
|
||||
<button onclick="{ toggleDetail }" title="詳細"><i class="fa fa-caret-down" if="{ !isDetailOpened }"></i><i class="fa fa-caret-up" if="{ isDetailOpened }"></i></button>
|
||||
<button onclick={ NotImplementedException }><i class="fa fa-ellipsis-h"></i></button>
|
||||
<button onclick={ toggleDetail } title="詳細"><i class="fa fa-caret-down" if={ !isDetailOpened }></i><i class="fa fa-caret-up" if={ isDetailOpened }></i></button>
|
||||
</footer>
|
||||
</div>
|
||||
</article>
|
||||
<div class="detail" if="{ isDetailOpened }">
|
||||
<mk-post-status-graph width="462" height="130" post="{ p }"></mk-post-status-graph>
|
||||
<div class="detail" if={ isDetailOpened }>
|
||||
<mk-post-status-graph width="462" height="130" post={ p }></mk-post-status-graph>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<mk-timeline>
|
||||
<virtual each="{ post, i in posts }">
|
||||
<mk-timeline-post post="{ post }"></mk-timeline-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></p>
|
||||
<virtual each={ post, i in posts }>
|
||||
<mk-timeline-post post={ post }></mk-timeline-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></p>
|
||||
</virtual>
|
||||
<footer data-yield="footer"><yield from="footer"/></footer>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
<mk-ui-header-account>
|
||||
<button class="header" data-active="{ isOpen.toString() }" onclick="{ toggle }"><span class="username">{ I.username }<i class="fa fa-angle-down" if="{ !isOpen }"></i><i class="fa fa-angle-up" if="{ isOpen }"></i></span><img class="avatar" src="{ I.avatar_url + '?thumbnail&size=64' }" alt="avatar"/></button>
|
||||
<div class="menu" if="{ isOpen }">
|
||||
<button class="header" data-active={ isOpen.toString() } onclick={ toggle }><span class="username">{ I.username }<i class="fa fa-angle-down" if={ !isOpen }></i><i class="fa fa-angle-up" if={ isOpen }></i></span><img class="avatar" src={ I.avatar_url + '?thumbnail&size=64' } alt="avatar"/></button>
|
||||
<div class="menu" if={ isOpen }>
|
||||
<ul>
|
||||
<li><a href="{ '/' + I.username }"><i class="fa fa-user"></i>プロフィール<i class="fa fa-angle-right"></i></a></li>
|
||||
<li onclick="{ drive }">
|
||||
<li><a href={ '/' + I.username }><i class="fa fa-user"></i>プロフィール<i class="fa fa-angle-right"></i></a></li>
|
||||
<li onclick={ drive }>
|
||||
<p><i class="fa fa-cloud"></i>ドライブ<i class="fa fa-angle-right"></i></p>
|
||||
</li>
|
||||
<li><a href="/i>mentions"><i class="fa fa-at"></i>あなた宛て<i class="fa fa-angle-right"></i></a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li onclick="{ settings }">
|
||||
<li onclick={ settings }>
|
||||
<p><i class="fa fa-cog"></i>設定<i class="fa fa-angle-right"></i></p>
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li onclick="{ signout }">
|
||||
<li onclick={ signout }>
|
||||
<p><i class="fa fa-power-off"></i>サインアウト<i class="fa fa-angle-right"></i></p>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<mk-ui-header-nav>
|
||||
<ul if="{ SIGNIN }">
|
||||
<li class="home { active: page == 'home' }"><a href="{ CONFIG.url }"><i class="fa fa-home"></i>
|
||||
<ul if={ SIGNIN }>
|
||||
<li class="home { active: page == 'home' }"><a href={ CONFIG.url }><i class="fa fa-home"></i>
|
||||
<p>ホーム</p></a></li>
|
||||
<li class="messaging"><a onclick="{ messaging }"><i class="fa fa-comments"></i>
|
||||
<p>メッセージ</p><i class="fa fa-circle" if="{ hasUnreadMessagingMessages }"></i></a></li>
|
||||
<li class="messaging"><a onclick={ messaging }><i class="fa fa-comments"></i>
|
||||
<p>メッセージ</p><i class="fa fa-circle" if={ hasUnreadMessagingMessages }></i></a></li>
|
||||
<li class="info"><a href="https://twitter.com/misskey_xyz" target="_blank"><i class="fa fa-info"></i>
|
||||
<p>お知らせ</p></a></li>
|
||||
<li class="tv"><a href="https://misskey.tk" target="_blank"><i class="fa fa-television"></i>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-ui-header-notifications>
|
||||
<button class="header" data-active="{ isOpen }" onclick="{ toggle }"><i class="fa fa-bell-o"></i></button>
|
||||
<div class="notifications" if="{ isOpen }">
|
||||
<button class="header" data-active={ isOpen } onclick={ toggle }><i class="fa fa-bell-o"></i></button>
|
||||
<div class="notifications" if={ isOpen }>
|
||||
<mk-notifications></mk-notifications>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-ui-header-post-button>
|
||||
<button onclick="{ post }" title="新規投稿"><i class="fa fa-pencil-square-o"></i></button>
|
||||
<button onclick={ post } title="新規投稿"><i class="fa fa-pencil-square-o"></i></button>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display inline-block
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-ui-header-search>
|
||||
<form class="search" onsubmit="{ onsubmit }">
|
||||
<form class="search" onsubmit={ onsubmit }>
|
||||
<input ref="q" type="search" placeholder=" 検索"/>
|
||||
<div class="result"></div>
|
||||
</form>
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<mk-ui-header>
|
||||
<mk-donation if="{ SIGNIN && !I.data.no_donation }"></mk-donation>
|
||||
<mk-donation if={ SIGNIN && !I.data.no_donation }></mk-donation>
|
||||
<mk-special-message></mk-special-message>
|
||||
<div class="main">
|
||||
<div class="backdrop"></div>
|
||||
<div class="main">
|
||||
<div class="container">
|
||||
<div class="left">
|
||||
<mk-ui-header-nav page="{ opts.page }"></mk-ui-header-nav>
|
||||
<mk-ui-header-nav page={ opts.page }></mk-ui-header-nav>
|
||||
</div>
|
||||
<div class="right">
|
||||
<mk-ui-header-search></mk-ui-header-search>
|
||||
<mk-ui-header-account if="{ SIGNIN }"></mk-ui-header-account>
|
||||
<mk-ui-header-notifications if="{ SIGNIN }"></mk-ui-header-notifications>
|
||||
<mk-ui-header-post-button if="{ SIGNIN }"></mk-ui-header-post-button>
|
||||
<mk-ui-header-account if={ SIGNIN }></mk-ui-header-account>
|
||||
<mk-ui-header-notifications if={ SIGNIN }></mk-ui-header-notifications>
|
||||
<mk-ui-header-post-button if={ SIGNIN }></mk-ui-header-post-button>
|
||||
<mk-ui-header-clock></mk-ui-header-clock>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<mk-ui>
|
||||
<div class="global" ref="global">
|
||||
<mk-ui-header ref="header" page="{ opts.page }"></mk-ui-header>
|
||||
<mk-set-avatar-suggestion if="{ SIGNIN && I.avatar_id == null }"></mk-set-avatar-suggestion>
|
||||
<mk-set-banner-suggestion if="{ SIGNIN && I.banner_id == null }"></mk-set-banner-suggestion>
|
||||
<mk-ui-header ref="header" page={ opts.page }></mk-ui-header>
|
||||
<mk-set-avatar-suggestion if={ SIGNIN && I.avatar_id == null }></mk-set-avatar-suggestion>
|
||||
<mk-set-banner-suggestion if={ SIGNIN && I.banner_id == null }></mk-set-banner-suggestion>
|
||||
<div class="content"><yield /></div>
|
||||
</div>
|
||||
<mk-stream-indicator></mk-stream-indicator>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<mk-user-followers-window>
|
||||
<mk-window is-modal="{ false }" width="{ '400px' }" height="{ '550px' }"><yield to="header"><img src="{ parent.user.avatar_url + '?thumbnail&size=64' }" alt=""/>{ parent.user.name }のフォロワー</yield>
|
||||
<mk-window is-modal={ false } width={ '400px' } height={ '550px' }><yield to="header"><img src={ parent.user.avatar_url + '?thumbnail&size=64' } alt=""/>{ parent.user.name }のフォロワー</yield>
|
||||
<yield to="content">
|
||||
<mk-user-followers user="{ parent.user }"></mk-user-followers></yield>
|
||||
<mk-user-followers user={ parent.user }></mk-user-followers></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-user-followers>
|
||||
<mk-users-list fetch="{ fetch }" count="{ user.followers_count }" you-know-count="{ user.followers_you_know_count }" no-users="{ 'フォロワーはいないようです。' }"></mk-users-list>
|
||||
<mk-users-list fetch={ fetch } count={ user.followers_count } you-know-count={ user.followers_you_know_count } no-users={ 'フォロワーはいないようです。' }></mk-users-list>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<mk-user-following-window>
|
||||
<mk-window is-modal="{ false }" width="{ '400px' }" height="{ '550px' }"><yield to="header"><img src="{ parent.user.avatar_url + '?thumbnail&size=64' }" alt=""/>{ parent.user.name }のフォロー</yield>
|
||||
<mk-window is-modal={ false } width={ '400px' } height={ '550px' }><yield to="header"><img src={ parent.user.avatar_url + '?thumbnail&size=64' } alt=""/>{ parent.user.name }のフォロー</yield>
|
||||
<yield to="content">
|
||||
<mk-user-following user="{ parent.user }"></mk-user-following></yield>
|
||||
<mk-user-following user={ parent.user }></mk-user-following></yield>
|
||||
</mk-window>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-user-following>
|
||||
<mk-users-list fetch="{ fetch }" count="{ user.following_count }" you-know-count="{ user.following_you_know_count }" no-users="{ 'フォロー中のユーザーはいないようです。' }"></mk-users-list>
|
||||
<mk-users-list fetch={ fetch } count={ user.following_count } you-know-count={ user.following_you_know_count } no-users={ 'フォロー中のユーザーはいないようです。' }></mk-users-list>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<mk-user-graphs>
|
||||
<section>
|
||||
<h1>投稿</h1>
|
||||
<mk-user-posts-graph user="{ opts.user }"></mk-user-posts-graph>
|
||||
<mk-user-posts-graph user={ opts.user }></mk-user-posts-graph>
|
||||
</section>
|
||||
<section>
|
||||
<h1>フォロー/フォロワー</h1>
|
||||
<mk-user-friends-graph user="{ opts.user }"></mk-user-friends-graph>
|
||||
<mk-user-friends-graph user={ opts.user }></mk-user-friends-graph>
|
||||
</section>
|
||||
<section>
|
||||
<h1>いいね</h1>
|
||||
<mk-user-likes-graph user="{ opts.user }"></mk-user-likes-graph>
|
||||
<mk-user-likes-graph user={ opts.user }></mk-user-likes-graph>
|
||||
</section>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
<mk-user-header data-is-dark-background="{ user.banner_url != null }">
|
||||
<div class="banner" ref="banner" style="{ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=1024)' : '' }" onclick="{ onUpdateBanner }"></div><img class="avatar" src="{ user.avatar_url + '?thumbnail&size=150' }" alt="avatar"/>
|
||||
<mk-user-header data-is-dark-background={ user.banner_url != null }>
|
||||
<div class="banner" ref="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=1024)' : '' } onclick={ onUpdateBanner }></div><img class="avatar" src={ user.avatar_url + '?thumbnail&size=150' } alt="avatar"/>
|
||||
<div class="title">
|
||||
<p class="name" href="{ CONFIG.url + '/' + user.username }">{ user.name }</p>
|
||||
<p class="name" href={ CONFIG.url + '/' + user.username }>{ user.name }</p>
|
||||
<p class="username">@{ user.username }</p>
|
||||
<p class="location" if="{ user.location }"><i class="fa fa-map-marker"></i>{ user.location }</p>
|
||||
<p class="location" if={ user.location }><i class="fa fa-map-marker"></i>{ user.location }</p>
|
||||
</div>
|
||||
<footer><a href="{ '/' + user.username }">投稿</a><a href="{ '/' + user.username + '/media' }">メディア</a><a href="{ '/' + user.username + '/graphs' }">グラフ</a>
|
||||
<button onclick="{ NotImplementedException }"><i class="fa fa-ellipsis-h"></i></button>
|
||||
<footer><a href={ '/' + user.username }>投稿</a><a href={ '/' + user.username + '/media' }>メディア</a><a href={ '/' + user.username + '/graphs' }>グラフ</a>
|
||||
<button onclick={ NotImplementedException }><i class="fa fa-ellipsis-h"></i></button>
|
||||
</footer>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-user-home>
|
||||
<div class="side">
|
||||
<mk-user-profile user="{ user }"></mk-user-profile>
|
||||
<mk-user-photos user="{ user }"></mk-user-photos>
|
||||
<mk-user-profile user={ user }></mk-user-profile>
|
||||
<mk-user-photos user={ user }></mk-user-photos>
|
||||
</div>
|
||||
<main>
|
||||
<mk-user-timeline ref="tl" user="{ user }"></mk-user-timeline>
|
||||
<mk-user-timeline ref="tl" user={ user }></mk-user-timeline>
|
||||
</main>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
<mk-user-photos>
|
||||
<p class="title"><i class="fa fa-camera"></i>フォト</p>
|
||||
<p class="initializing" if="{ initializing }"><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<p class="initializing" if={ initializing }><i class="fa fa-spinner fa-pulse fa-fw"></i>読み込んでいます
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<div class="stream" if="{ !initializing && images.length > 0 }">
|
||||
<virtual each="{ image in images }">
|
||||
<div class="img" style="{ 'background-image: url(' + image.url + '?thumbnail&size=256)' }"></div>
|
||||
<div class="stream" if={ !initializing && images.length > 0 }>
|
||||
<virtual each={ image in images }>
|
||||
<div class="img" style={ 'background-image: url(' + image.url + '?thumbnail&size=256)' }></div>
|
||||
</virtual>
|
||||
</div>
|
||||
<p class="empty" if="{ !initializing && images.length == 0 }">写真はありません</p>
|
||||
<p class="empty" if={ !initializing && images.length == 0 }>写真はありません</p>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<mk-user-preview>
|
||||
<virtual if="{ user != null }">
|
||||
<div class="banner" style="{ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=512)' : '' }"></div><a class="avatar" href="{ CONFIG.url + '/' + user.username }" target="_blank"><img src="{ user.avatar_url + '?thumbnail&size=64' }" alt="avatar"/></a>
|
||||
<virtual if={ user != null }>
|
||||
<div class="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=512)' : '' }></div><a class="avatar" href={ CONFIG.url + '/' + user.username } target="_blank"><img src={ user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a>
|
||||
<div class="title">
|
||||
<p class="name">{ user.name }</p>
|
||||
<p class="username">@{ user.username }</p>
|
||||
|
@ -17,7 +17,7 @@
|
|||
<p>フォロワー</p><a>{ user.followers_count }</a>
|
||||
</div>
|
||||
</div>
|
||||
<mk-follow-button if="{ SIGNIN && user.id != I.id }" user="{ userPromise }"></mk-follow-button>
|
||||
<mk-follow-button if={ SIGNIN && user.id != I.id } user={ userPromise }></mk-follow-button>
|
||||
</virtual>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<mk-user-profile>
|
||||
<div class="friend-form" if="{ SIGNIN && I.id != user.id }">
|
||||
<mk-big-follow-button user="{ user }"></mk-big-follow-button>
|
||||
<p class="followed" if="{ user.is_followed }">フォローされています</p>
|
||||
<div class="friend-form" if={ SIGNIN && I.id != user.id }>
|
||||
<mk-big-follow-button user={ user }></mk-big-follow-button>
|
||||
<p class="followed" if={ user.is_followed }>フォローされています</p>
|
||||
</div>
|
||||
<div class="bio" if="{ user.bio != '' }">{ user.bio }</div>
|
||||
<div class="birthday" if="{ user.birthday }">
|
||||
<div class="bio" if={ user.bio != '' }>{ user.bio }</div>
|
||||
<div class="birthday" if={ user.birthday }>
|
||||
<p><i class="fa fa-birthday-cake"></i>{ user.birthday.replace('-', '年').replace('-', '月') + '日' }</p>
|
||||
</div>
|
||||
<div class="friends">
|
||||
<p class="following"><i class="fa fa-angle-right"></i><a onclick="{ showFollowing }">{ user.following_count }</a>人を<b>フォロー</b></p>
|
||||
<p class="followers"><i class="fa fa-angle-right"></i><a onclick="{ showFollowers }">{ user.followers_count }</a>人の<b>フォロワー</b></p>
|
||||
<p class="following"><i class="fa fa-angle-right"></i><a onclick={ showFollowing }>{ user.following_count }</a>人を<b>フォロー</b></p>
|
||||
<p class="followers"><i class="fa fa-angle-right"></i><a onclick={ showFollowers }>{ user.followers_count }</a>人の<b>フォロワー</b></p>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<mk-user-timeline>
|
||||
<header><span data-is-active="{ mode == 'default' }" onclick="{ setMode.bind(this, 'default') }">投稿</span><span data-is-active="{ mode == 'with-replies' }" onclick="{ setMode.bind(this, 'with-replies') }">投稿と返信</span></header>
|
||||
<div class="loading" if="{ isLoading }">
|
||||
<header><span data-is-active={ mode == 'default' } onclick={ setMode.bind(this, 'default') }>投稿</span><span data-is-active={ mode == 'with-replies' } onclick={ setMode.bind(this, 'with-replies') }>投稿と返信</span></header>
|
||||
<div class="loading" if={ isLoading }>
|
||||
<mk-ellipsis-icon></mk-ellipsis-icon>
|
||||
</div>
|
||||
<p class="empty" if="{ isEmpty }"><i class="fa fa-comments-o"></i>このユーザーはまだ何も投稿していないようです。</p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if="{ !parent.moreLoading }"></i><i class="fa fa-spinner fa-pulse fa-fw" if="{ parent.moreLoading }"></i></yield></mk-timeline>
|
||||
<p class="empty" if={ isEmpty }><i class="fa fa-comments-o"></i>このユーザーはまだ何も投稿していないようです。</p>
|
||||
<mk-timeline ref="timeline"><yield to="footer"><i class="fa fa-moon-o" if={ !parent.moreLoading }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ parent.moreLoading }></i></yield></mk-timeline>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
display block
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<mk-user>
|
||||
<div class="user" if="{ !fetching }">
|
||||
<div class="user" if={ !fetching }>
|
||||
<header>
|
||||
<mk-user-header user="{ user }"></mk-user-header>
|
||||
<mk-user-header user={ user }></mk-user-header>
|
||||
</header>
|
||||
<div class="body">
|
||||
<mk-user-home if="{ page == 'home' }" user="{ user }"></mk-user-home>
|
||||
<mk-user-graphs if="{ page == 'graphs' }" user="{ user }"></mk-user-graphs>
|
||||
<mk-user-home if={ page == 'home' } user={ user }></mk-user-home>
|
||||
<mk-user-graphs if={ page == 'graphs' } user={ user }></mk-user-graphs>
|
||||
</div>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<mk-users-list>
|
||||
<nav>
|
||||
<div><span data-is-active="{ mode == 'all' }" onclick="{ setMode.bind(this, 'all') }">すべて<span>{ opts.count }</span></span>
|
||||
<!-- ↓ https://github.com/riot/riot/issues/2080--><span if="{ SIGNIN && opts.youKnowCount != '' }" data-is-active="{ mode == 'iknow' }" onclick="{ setMode.bind(this, 'iknow') }">知り合い<span>{ opts.youKnowCount }</span></span>
|
||||
<div><span data-is-active={ mode == 'all' } onclick={ setMode.bind(this, 'all') }>すべて<span>{ opts.count }</span></span>
|
||||
<!-- ↓ https://github.com/riot/riot/issues/2080--><span if={ SIGNIN && opts.youKnowCount != '' } data-is-active={ mode == 'iknow' } onclick={ setMode.bind(this, 'iknow') }>知り合い<span>{ opts.youKnowCount }</span></span>
|
||||
</div>
|
||||
</nav>
|
||||
<div class="users" if="{ !fetching && users.length != 0 }">
|
||||
<div each="{ users }">
|
||||
<mk-list-user user="{ this }"></mk-list-user>
|
||||
<div class="users" if={ !fetching && users.length != 0 }>
|
||||
<div each={ users }>
|
||||
<mk-list-user user={ this }></mk-list-user>
|
||||
</div>
|
||||
</div>
|
||||
<button class="more" if="{ !fetching && next != null }" onclick="{ more }" disabled="{ moreFetching }"><span if="{ !moreFetching }">もっと</span><span if="{ moreFetching }">読み込み中
|
||||
<button class="more" if={ !fetching && next != null } onclick={ more } disabled={ moreFetching }><span if={ !moreFetching }>もっと</span><span if={ moreFetching }>読み込み中
|
||||
<mk-ellipsis></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>読み込んでいます
|
||||
<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>読み込んでいます
|
||||
<mk-ellipsis></mk-ellipsis>
|
||||
</p>
|
||||
<style type="stylus">
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
<mk-window data-flexible="{ isFlexible }" data-colored="{ opts.colored }" ondragover="{ ondragover }">
|
||||
<div class="bg" ref="bg" show="{ isModal }" onclick="{ bgClick }"></div>
|
||||
<div class="main" ref="main" tabindex="-1" data-is-modal="{ isModal }" onmousedown="{ onBodyMousedown }" onkeydown="{ onKeydown }">
|
||||
<mk-window data-flexible={ isFlexible } data-colored={ opts.colored } ondragover={ ondragover }>
|
||||
<div class="bg" ref="bg" show={ isModal } onclick={ bgClick }></div>
|
||||
<div class="main" ref="main" tabindex="-1" data-is-modal={ isModal } onmousedown={ onBodyMousedown } onkeydown={ onKeydown }>
|
||||
<div class="body">
|
||||
<header ref="header" onmousedown="{ onHeaderMousedown }">
|
||||
<header ref="header" onmousedown={ onHeaderMousedown }>
|
||||
<h1 data-yield="header"><yield from="header"/></h1>
|
||||
<button class="close" if="{ canClose }" onmousedown="{ repelMove }" onclick="{ close }" title="閉じる"><i class="fa fa-times"></i></button>
|
||||
<button class="close" if={ canClose } onmousedown={ repelMove } onclick={ close } title="閉じる"><i class="fa fa-times"></i></button>
|
||||
</header>
|
||||
<div class="content" data-yield="content"><yield from="content"/></div>
|
||||
</div>
|
||||
<div class="handle top" if="{ canResize }" onmousedown="{ onTopHandleMousedown }"></div>
|
||||
<div class="handle right" if="{ canResize }" onmousedown="{ onRightHandleMousedown }"></div>
|
||||
<div class="handle bottom" if="{ canResize }" onmousedown="{ onBottomHandleMousedown }"></div>
|
||||
<div class="handle left" if="{ canResize }" onmousedown="{ onLeftHandleMousedown }"></div>
|
||||
<div class="handle top-left" if="{ canResize }" onmousedown="{ onTopLeftHandleMousedown }"></div>
|
||||
<div class="handle top-right" if="{ canResize }" onmousedown="{ onTopRightHandleMousedown }"></div>
|
||||
<div class="handle bottom-right" if="{ canResize }" onmousedown="{ onBottomRightHandleMousedown }"></div>
|
||||
<div class="handle bottom-left" if="{ canResize }" onmousedown="{ onBottomLeftHandleMousedown }"></div>
|
||||
<div class="handle top" if={ canResize } onmousedown={ onTopHandleMousedown }></div>
|
||||
<div class="handle right" if={ canResize } onmousedown={ onRightHandleMousedown }></div>
|
||||
<div class="handle bottom" if={ canResize } onmousedown={ onBottomHandleMousedown }></div>
|
||||
<div class="handle left" if={ canResize } onmousedown={ onLeftHandleMousedown }></div>
|
||||
<div class="handle top-left" if={ canResize } onmousedown={ onTopLeftHandleMousedown }></div>
|
||||
<div class="handle top-right" if={ canResize } onmousedown={ onTopRightHandleMousedown }></div>
|
||||
<div class="handle bottom-right" if={ canResize } onmousedown={ onBottomRightHandleMousedown }></div>
|
||||
<div class="handle bottom-left" if={ canResize } onmousedown={ onBottomLeftHandleMousedown }></div>
|
||||
</div>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<mk-new-app-form>
|
||||
<form onsubmit="{ onsubmit }" autocomplete="off">
|
||||
<form onsubmit={ onsubmit } autocomplete="off">
|
||||
<section class="name">
|
||||
<label>
|
||||
<p class="caption">アプリケーション名</p>
|
||||
|
@ -9,14 +9,14 @@
|
|||
<section class="nid">
|
||||
<label>
|
||||
<p class="caption">Named ID</p>
|
||||
<input ref="nid" type="text" pattern="^[a-zA-Z0-9-]{3,30}$" placeholder="ex) misskey-for-ios" autocomplete="off" required="required" onkeyup="{ onChangeNid }"/>
|
||||
<p class="info" if="{ nidState == 'wait' }" style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
|
||||
<p class="info" if="{ nidState == 'ok' }" style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
|
||||
<p class="info" if="{ nidState == 'unavailable' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
|
||||
<p class="info" if="{ nidState == 'error' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
|
||||
<p class="info" if="{ nidState == 'invalid-format' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
|
||||
<p class="info" if="{ nidState == 'min-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
|
||||
<p class="info" if="{ nidState == 'max-range' }" style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>30文字以内でお願いします</p>
|
||||
<input ref="nid" type="text" pattern="^[a-zA-Z0-9-]{3,30}$" placeholder="ex) misskey-for-ios" autocomplete="off" required="required" onkeyup={ onChangeNid }/>
|
||||
<p class="info" if={ nidState == 'wait' } style="color:#999"><i class="fa fa-fw fa-spinner fa-pulse"></i>確認しています...</p>
|
||||
<p class="info" if={ nidState == 'ok' } style="color:#3CB7B5"><i class="fa fa-fw fa-check"></i>利用できます</p>
|
||||
<p class="info" if={ nidState == 'unavailable' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>既に利用されています</p>
|
||||
<p class="info" if={ nidState == 'error' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>通信エラー</p>
|
||||
<p class="info" if={ nidState == 'invalid-format' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>a~z、A~Z、0~9、-(ハイフン)が使えます</p>
|
||||
<p class="info" if={ nidState == 'min-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>3文字以上でお願いします!</p>
|
||||
<p class="info" if={ nidState == 'max-range' } style="color:#FF1161"><i class="fa fa-fw fa-exclamation-triangle"></i>30文字以内でお願いします</p>
|
||||
</label>
|
||||
</section>
|
||||
<section class="description">
|
||||
|
@ -73,7 +73,7 @@
|
|||
</div>
|
||||
<p><i class="fa fa-exclamation-triangle"></i>アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。</p>
|
||||
</section>
|
||||
<button onclick="{ onsubmit }">アプリ作成</button>
|
||||
<button onclick={ onsubmit }>アプリ作成</button>
|
||||
</form>
|
||||
<style type="stylus">
|
||||
:scope
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue