Fix
This commit is contained in:
		| @@ -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> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| 		<p class="fetching" if={ fetching }>読み込み中 | ||||
| 			<mk-ellipsis></mk-ellipsis> | ||||
| 		</p> | ||||
| 		<mk-form ref="form" if={ state == null && !fetching } session={ session }></mk-form> | ||||
| 		<mk-form ref="form" if={ state == null && !fetching } session={ session }></mk-form> | ||||
| 		<div class="denied" if={ state == 'denied' }> | ||||
| 			<h1>アプリケーションの連携をキャンセルしました。</h1> | ||||
| 			<p>このアプリがあなたのアカウントにアクセスすることはありません。</p> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| 		<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="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> | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -5,9 +5,9 @@ | ||||
| 			<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> | ||||
| 			<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> | ||||
| 			<div class="progress waiting" if={ progress != undefined && progress.value == progress.max }></div> | ||||
| 		</li> | ||||
| 	</ol> | ||||
| 	<style type="stylus"> | ||||
|   | ||||
| @@ -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> | ||||
| 		<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,5 +1,5 @@ | ||||
| <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> | ||||
| 	<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 | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <mk-crop-window> | ||||
| 	<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> | ||||
|   | ||||
| @@ -23,10 +23,10 @@ | ||||
| 				</virtual> | ||||
| 				<button if={ moreFiles }>もっと読み込む</button> | ||||
| 			</div> | ||||
| 			<div class="empty" if={ files.length == 0 && folders.length == 0 && !loading }> | ||||
| 			<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> | ||||
| 				<p if={ !draghover && folder == null }><strong>ドライブには何もありません。</strong><br/>右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。</p> | ||||
| 				<p if={ !draghover && folder != null }>このフォルダーは空です</p> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		<div class="loading" if={ loading }> | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
| 	<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> | ||||
| 	<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 | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <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> | ||||
| 	<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 | ||||
|   | ||||
| @@ -1,14 +1,14 @@ | ||||
| <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="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> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<p class="empty" if={ !loading && users.length == 0 }>おすすめのユーザーは見つかりませんでした。</p> | ||||
| 	<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> | ||||
|   | ||||
| @@ -3,12 +3,12 @@ | ||||
| 	<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 }> | ||||
| 	<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="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,13 +1,13 @@ | ||||
| <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="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> | ||||
| 	</div> | ||||
| 	<p class="empty" if={ !loading && users.length == 0 }>いません!</p> | ||||
| 	<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> | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -6,7 +6,7 @@ | ||||
| 		</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="ok" disabled={ !parent.allowEmpty && refs.text.value.length == 0 } onclick={ parent.ok }>決定</button> | ||||
| 		</div></yield> | ||||
| 	</mk-window> | ||||
| 	<style type="stylus"> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <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> | ||||
|   | ||||
| @@ -6,14 +6,14 @@ | ||||
| 		</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> | ||||
| 				<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><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> | ||||
| 						</header> | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| <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> | ||||
| 			<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> | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| <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> | ||||
| 		<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="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> | ||||
|   | ||||
| @@ -3,41 +3,41 @@ | ||||
| 		<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> | ||||
| 				<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> | ||||
| 					</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> | ||||
| 					</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> | ||||
| 					</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> | ||||
| 					</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> | ||||
| 					</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> | ||||
| 					</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="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> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <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> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <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> | ||||
| @@ -8,7 +8,7 @@ | ||||
| 		<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> | ||||
| 				<virtual each={ file in post.media }><img src={ file.url + '?thumbnail&size=512' } alt={ file.name } title={ file.name }/></virtual> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| 		<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> | ||||
| 		<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> | ||||
| @@ -13,15 +13,15 @@ | ||||
| 			<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> | ||||
| 			<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> | ||||
| 		<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> | ||||
| 					<virtual each={ file in p.media }><img src={ file.url + '?thumbnail&size=512' } alt={ file.name } title={ file.name }/></virtual> | ||||
| 				</div> | ||||
| 			</div> | ||||
| 			<footer> | ||||
| @@ -37,20 +37,20 @@ | ||||
| 				<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> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| 	<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=""/> | ||||
| 				<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> | ||||
| 		</ul> | ||||
| @@ -13,7 +13,7 @@ | ||||
| 	<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 ? '返信' : '投稿' } | ||||
| 	<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 }/> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <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> | ||||
| 	<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> | ||||
|   | ||||
| @@ -8,7 +8,7 @@ | ||||
| 				<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> | ||||
| 			<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> | ||||
|   | ||||
| @@ -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-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> | ||||
| 		<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="ok" disabled={ parent.multiple && parent.file.length == 0 } onclick={ parent.ok }>決定</button> | ||||
| 		</div></yield> | ||||
| 	</mk-window> | ||||
| 	<style type="stylus"> | ||||
|   | ||||
| @@ -13,7 +13,7 @@ | ||||
| 		<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"/> | ||||
| 				<p>アバター</p><img class="avatar" src={ I.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 				<button class="style-normal" onclick={ avatar }>画像を選択</button> | ||||
| 			</label> | ||||
| 			<label> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <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> | ||||
| 	<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> | ||||
|   | ||||
| @@ -3,10 +3,10 @@ | ||||
| 		<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> | ||||
| 		<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> | ||||
|   | ||||
| @@ -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> | ||||
| 		<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,5 +1,5 @@ | ||||
| <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> | ||||
| 	<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> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <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> | ||||
|   | ||||
| @@ -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-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,5 +1,5 @@ | ||||
| <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-window> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <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-window> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <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="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="username">@{ user.username }</p> | ||||
|   | ||||
| @@ -3,12 +3,12 @@ | ||||
| 	<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 }> | ||||
| 	<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="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> | ||||
| 		<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,5 +1,5 @@ | ||||
| <mk-user-profile> | ||||
| 	<div class="friend-form" if={ SIGNIN && I.id != user.id }> | ||||
| 	<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> | ||||
|   | ||||
| @@ -1,17 +1,17 @@ | ||||
| <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> | ||||
| 			<!-- ↓ 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 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="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> | ||||
|   | ||||
| @@ -19,7 +19,7 @@ | ||||
| 			</virtual> | ||||
| 			<p if={ moreFiles }>もっと読み込む</p> | ||||
| 		</div> | ||||
| 		<div class="empty" if={ files.length == 0 && folders.length == 0 && !loading }> | ||||
| 		<div class="empty" if={ files.length == 0 && folders.length == 0 && !loading }> | ||||
| 			<p if={ !folder == null }>ドライブには何もありません。</p> | ||||
| 			<p if={ folder != null }>このフォルダーは空です</p> | ||||
| 		</div> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <mk-drive-file onclick={ onclick } data-is-selected={ isSelected }> | ||||
| 	<div class="container"> | ||||
| 		<div class="thumbnail" style={ 'background-image: url(' + file.url + '?thumbnail&size=128)' }></div> | ||||
| 		<div class="thumbnail" style={ 'background-image: url(' + file.url + '?thumbnail&size=128)' }></div> | ||||
| 		<div class="body"> | ||||
| 			<p class="name">{ file.name }</p> | ||||
| 			<!-- | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <mk-follow-button> | ||||
| 	<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait && user.is_following }></i><i class="fa fa-plus" if={ !wait && !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? 'フォロー解除' : 'フォロー' }</button> | ||||
| 	<button class={ wait: wait, follow: !user.is_following, unfollow: user.is_following } if={ !init } onclick={ onclick } disabled={ wait }><i class="fa fa-minus" if={ !wait && user.is_following }></i><i class="fa fa-plus" if={ !wait && !user.is_following }></i><i class="fa fa-spinner fa-pulse fa-fw" if={ wait }></i>{ user.is_following ? 'フォロー解除' : 'フォロー' }</button> | ||||
| 	<div class="init" if={ init }><i class="fa fa-spinner fa-pulse fa-fw"></i></div> | ||||
| 	<style type="stylus"> | ||||
| 		:scope | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <mk-images-viewer> | ||||
| 	<div class="image" ref="view" onclick={ click }><img ref="img" src={ image.url + '?thumbnail&size=512' } alt={ image.name } title={ image.name }/></div> | ||||
| 	<div class="image" ref="view" onclick={ click }><img ref="img" src={ image.url + '?thumbnail&size=512' } alt={ image.name } title={ image.name }/></div> | ||||
| 	<style type="stylus"> | ||||
| 		:scope | ||||
| 			display block | ||||
|   | ||||
| @@ -1,34 +1,34 @@ | ||||
| <mk-notification-preview class={ notification.type }> | ||||
| 	<div class="main" if={ notification.type == 'like' }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 	<div class="main" if={ notification.type == 'like' }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-thumbs-o-up"></i>{ notification.user.name }</p> | ||||
| 			<p class="post-ref">{ getPostSummary(notification.post) }</p> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<div class="main" if={ notification.type == 'repost' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 	<div class="main" if={ notification.type == 'repost' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-retweet"></i>{ notification.post.user.name }</p> | ||||
| 			<p class="post-ref">{ getPostSummary(notification.post.repost) }</p> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<div class="main" if={ notification.type == 'quote' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 	<div class="main" if={ notification.type == 'quote' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-quote-left"></i>{ notification.post.user.name }</p> | ||||
| 			<p class="post-preview">{ getPostSummary(notification.post) }</p> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<div class="main" if={ notification.type == 'follow' }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 	<div class="main" if={ notification.type == 'follow' }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-user-plus"></i>{ notification.user.name }</p> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<div class="main" if={ notification.type == 'reply' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 	<div class="main" if={ notification.type == 'reply' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-reply"></i>{ notification.post.user.name }</p> | ||||
| 			<p class="post-preview">{ getPostSummary(notification.post) }</p> | ||||
| 		</div> | ||||
| 	</div> | ||||
| 	<div class="main" if={ notification.type == 'mention' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 	<div class="main" if={ notification.type == 'mention' }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-at"></i>{ notification.post.user.name }</p> | ||||
| 			<p class="post-preview">{ getPostSummary(notification.post) }</p> | ||||
|   | ||||
| @@ -1,31 +1,31 @@ | ||||
| <mk-notification class={ 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 }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 	<div class="main" if={ notification.type == 'like' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.user.username }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-thumbs-o-up"></i><a href={ CONFIG.url + '/' + notification.user.username }>{ 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 }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 	<div class="main" if={ notification.type == 'repost' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-retweet"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ 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 }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 	<div class="main" if={ notification.type == 'quote' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-quote-left"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ 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 }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 	<div class="main" if={ notification.type == 'follow' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.user.username }><img class="avatar" src={ notification.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-user-plus"></i><a href={ CONFIG.url + '/' + notification.user.username }>{ 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 }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 	<div class="main" if={ notification.type == 'reply' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-reply"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ 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 }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 	<div class="main" if={ notification.type == 'mention' }><a class="avatar-anchor" href={ CONFIG.url + '/' + notification.post.user.username }><img class="avatar" src={ notification.post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 		<div class="text"> | ||||
| 			<p><i class="fa fa-at"></i><a href={ CONFIG.url + '/' + notification.post.user.username }>{ 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> | ||||
|   | ||||
| @@ -2,10 +2,10 @@ | ||||
| 	<div class="notifications" if={ notifications.length != 0 }> | ||||
| 		<virtual each={ notification, i in notifications }> | ||||
| 			<mk-notification notification={ notification }></mk-notification> | ||||
| 			<p class="date" if={ i != notifications.length - 1 && notification._date != notifications[i + 1]._date }><span><i class="fa fa-angle-up"></i>{ notification._datetext }</span><span><i class="fa fa-angle-down"></i>{ notifications[i + 1]._datetext }</span></p> | ||||
| 			<p class="date" if={ i != notifications.length - 1 && notification._date != notifications[i + 1]._date }><span><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="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> | ||||
|   | ||||
| @@ -3,7 +3,7 @@ | ||||
| 		<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 } onclick={ loadContext } disabled={ loadingContext }><i class="fa fa-ellipsis-v" if={ !loadingContext }></i><i class="fa fa-spinner fa-pulse" if={ loadingContext }></i></button> | ||||
| 		<button class="read-more" if={ p.reply_to && p.reply_to.reply_to_id && context == null } 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-preview post={ post }></mk-post-preview> | ||||
| @@ -13,14 +13,14 @@ | ||||
| 			<mk-post-preview post={ p.reply_to }></mk-post-preview> | ||||
| 		</div> | ||||
| 		<div class="repost" if={ isRepost }> | ||||
| 			<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=32' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost</p> | ||||
| 			<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=32' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ 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"/></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"/></a> | ||||
| 			<header><a class="name" href={ CONFIG.url + '/' + p.user.username }>{ p.user.name }</a><span class="username">@{ p.user.username }</span></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> | ||||
| 					<virtual each={ file in p.media }><img src={ file.url + '?thumbnail&size=512' } alt={ file.name } title={ file.name }/></virtual> | ||||
| 				</div> | ||||
| 			</div><a class="time" href={ url }> | ||||
| 				<mk-time time={ p.created_at } mode="detail"></mk-time></a> | ||||
| @@ -37,20 +37,20 @@ | ||||
| 				<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 }><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 }><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 }><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 }><img class="avatar" src={ avatar_url + '?thumbnail&size=32' } alt=""/></a></li> | ||||
| 					</ol> | ||||
| 				</div> | ||||
| 			</div> | ||||
|   | ||||
| @@ -13,7 +13,7 @@ | ||||
| 		<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> | ||||
| 					<div class="img" style="background-image: url({ url + "?thumbnail&size=64" })" title={ name }></div> | ||||
| 				</li> | ||||
| 				<li class="add" if={ files.length < 4 } title="PCからファイルを添付" onclick={ selectFile }><i class="fa fa-plus"></i></li> | ||||
| 			</ul> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <mk-post-preview> | ||||
| 	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| 		<div class="main"> | ||||
| 			<header><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ 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> | ||||
|   | ||||
| @@ -1,5 +1,5 @@ | ||||
| <mk-timeline-post-sub> | ||||
| 	<article><a class="avatar-anchor" href={ '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=96' } alt="avatar"/></a> | ||||
| 	<article><a class="avatar-anchor" href={ '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=96' } alt="avatar"/></a> | ||||
| 		<div class="main"> | ||||
| 			<header><a class="name" href={ '/' + post.user.username }>{ post.user.name }</a><span class="username">@{ post.user.username }</span><a class="created-at" href={ '/' + post.user.username + '/' + post.id }> | ||||
| 					<mk-time time={ post.created_at }></mk-time></a></header> | ||||
|   | ||||
| @@ -3,10 +3,10 @@ | ||||
| 		<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 }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ post.user.name }</a>がRepost</p> | ||||
| 		<p><a class="avatar-anchor" href={ CONFIG.url + '/' + post.user.username }><img class="avatar" src={ post.user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a><i class="fa fa-retweet"></i><a class="name" href={ CONFIG.url + '/' + post.user.username }>{ 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=96' } alt="avatar"/></a> | ||||
| 	<article><a class="avatar-anchor" href={ CONFIG.url + '/' + p.user.username }><img class="avatar" src={ p.user.avatar_url + '?thumbnail&size=96' } alt="avatar"/></a> | ||||
| 		<div class="main"> | ||||
| 			<header><a class="name" href={ CONFIG.url + '/' + p.user.username }>{ 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> | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| <mk-timeline> | ||||
| 	<div class="init" if={ init }><i class="fa fa-spinner fa-pulse"></i>読み込んでいます</div> | ||||
| 	<div class="empty" if={ !init && posts.length == 0 }><i class="fa fa-comments-o"></i>{ opts.empty || '表示するものがありません' }</div> | ||||
| 	<div class="empty" if={ !init && posts.length == 0 }><i class="fa fa-comments-o"></i>{ opts.empty || '表示するものがありません' }</div> | ||||
| 	<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> | ||||
| 		<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 if={ !init }> | ||||
| 		<button if={ canFetchMore } onclick={ more } disabled={ fetching }><span if={ !fetching }>もっとみる</span><span if={ fetching }>読み込み中 | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <mk-ui-nav> | ||||
| 	<div class="body"> | ||||
| 		<div class="content"><a class="me" if={ SIGNIN } href={ CONFIG.url + '/' + I.username }><img class="avatar" src={ I.avatar_url + '?thumbnail&size=128' } alt="avatar"/> | ||||
| 		<div class="content"><a class="me" if={ SIGNIN } href={ CONFIG.url + '/' + I.username }><img class="avatar" src={ I.avatar_url + '?thumbnail&size=128' } alt="avatar"/> | ||||
| 				<p class="name">{ I.name }</p></a> | ||||
| 			<div class="links"> | ||||
| 				<ul> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <mk-user-preview><a class="avatar-anchor" href={ CONFIG.url + '/' + user.username }><img class="avatar" src={ user.avatar_url + '?thumbnail&size=64' } alt="avatar"/></a> | ||||
| <mk-user-preview><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><a class="name" href={ CONFIG.url + '/' + user.username }>{ user.name }</a><span class="username">@{ user.username }</span></header> | ||||
| 		<div class="body"> | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| <mk-user> | ||||
| 	<div class="user" if={ !fetching }> | ||||
| 		<header> | ||||
| 			<div class="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=1024)' : '' }></div> | ||||
| 			<div class="banner" style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=1024)' : '' }></div> | ||||
| 			<div class="body"> | ||||
| 				<div class="top"><a class="avatar"><img src={ user.avatar_url + '?thumbnail&size=160' } alt="avatar"/></a> | ||||
| 					<mk-follow-button if={ SIGNIN && I.id != user.id } user={ user }></mk-follow-button> | ||||
| 				<div class="top"><a class="avatar"><img src={ user.avatar_url + '?thumbnail&size=160' } alt="avatar"/></a> | ||||
| 					<mk-follow-button if={ SIGNIN && I.id != user.id } user={ user }></mk-follow-button> | ||||
| 				</div> | ||||
| 				<div class="title"> | ||||
| 					<h1>{ user.name }</h1><span class="username">@{ user.username }</span><span class="followed" if={ user.is_followed }>フォローされています</span> | ||||
|   | ||||
| @@ -1,13 +1,13 @@ | ||||
| <mk-users-list> | ||||
| 	<nav><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> | ||||
| 		<!-- ↓ 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> | ||||
| 	</nav> | ||||
| 	<div class="users" if={ !fetching && users.length != 0 }> | ||||
| 	<div class="users" if={ !fetching && users.length != 0 }> | ||||
| 		<mk-user-preview each={ users } user={ this }></mk-user-preview> | ||||
| 	</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="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> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syuilo
					syuilo