From 520299c2b47e6d446ee622657e4a987278b13d3e Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 12 Jan 2017 05:55:38 +0900 Subject: [PATCH] #16 --- gulpfile.ts | 323 +---- src/web/app/auth/tags/form.tag | 216 ++-- src/web/app/auth/tags/index.tag | 239 ++-- src/web/app/common/tags/copyright.tag | 14 +- src/web/app/common/tags/core-error.tag | 115 +- src/web/app/common/tags/ellipsis.tag | 42 +- src/web/app/common/tags/file-type-icon.tag | 18 +- src/web/app/common/tags/forkit.tag | 73 +- src/web/app/common/tags/introduction.tag | 43 +- src/web/app/common/tags/number.tag | 27 +- src/web/app/common/tags/raw.tag | 13 +- src/web/app/common/tags/ripple-string.tag | 44 +- src/web/app/common/tags/signin.tag | 229 ++-- src/web/app/common/tags/signup.tag | 547 ++++---- src/web/app/common/tags/special-message.tag | 45 +- src/web/app/common/tags/time.tag | 76 +- src/web/app/common/tags/uploader.tag | 330 +++-- src/web/app/common/tags/url-preview.tag | 173 +-- src/web/app/common/tags/url.tag | 78 +- src/web/app/desktop/tags/analog-clock.tag | 181 +-- .../desktop/tags/autocomplete-suggestion.tag | 297 ++--- .../app/desktop/tags/big-follow-button.tag | 227 ++-- src/web/app/desktop/tags/contextmenu.tag | 233 ++-- src/web/app/desktop/tags/crop-window.tag | 307 +++-- src/web/app/desktop/tags/debugger.tag | 147 +-- ...detect-slow-internet-connection-notice.tag | 104 +- src/web/app/desktop/tags/dialog.tag | 264 ++-- src/web/app/desktop/tags/donation.tag | 117 +- .../desktop/tags/drive/base-contextmenu.tag | 51 +- .../app/desktop/tags/drive/browser-window.tag | 49 +- src/web/app/desktop/tags/drive/browser.tag | 1147 +++++++++-------- .../desktop/tags/drive/file-contextmenu.tag | 176 +-- src/web/app/desktop/tags/drive/file.tag | 371 +++--- .../desktop/tags/drive/folder-contextmenu.tag | 108 +- src/web/app/desktop/tags/drive/folder.tag | 311 ++--- src/web/app/desktop/tags/drive/nav-folder.tag | 169 +-- src/web/app/desktop/tags/ellipsis-icon.tag | 63 +- src/web/app/desktop/tags/follow-button.tag | 219 ++-- .../app/desktop/tags/following-setuper.tag | 294 ++--- src/web/app/desktop/tags/go-top.tag | 27 +- .../desktop/tags/home-widgets/broadcast.tag | 142 +- .../desktop/tags/home-widgets/calendar.tag | 241 ++-- .../desktop/tags/home-widgets/donation.tag | 69 +- .../desktop/tags/home-widgets/mentions.tag | 207 ++- src/web/app/desktop/tags/home-widgets/nav.tag | 38 +- .../tags/home-widgets/notifications.tag | 85 +- .../tags/home-widgets/photo-stream.tag | 149 +-- .../app/desktop/tags/home-widgets/profile.tag | 97 +- .../desktop/tags/home-widgets/rss-reader.tag | 168 +-- .../desktop/tags/home-widgets/timeline.tag | 202 ++- .../app/desktop/tags/home-widgets/tips.tag | 123 +- .../tags/home-widgets/user-recommendation.tag | 272 ++-- src/web/app/desktop/tags/home.tag | 159 +-- src/web/app/desktop/tags/image-dialog.tag | 134 +- src/web/app/desktop/tags/images-viewer.tag | 76 +- src/web/app/desktop/tags/input-dialog.tag | 269 ++-- src/web/app/desktop/tags/list-user.tag | 176 ++- src/web/app/desktop/tags/messaging/form.tag | 285 ++-- src/web/app/desktop/tags/messaging/index.tag | 549 ++++---- .../app/desktop/tags/messaging/message.tag | 381 +++--- .../desktop/tags/messaging/room-window.tag | 45 +- src/web/app/desktop/tags/messaging/room.tag | 400 +++--- src/web/app/desktop/tags/messaging/window.tag | 51 +- src/web/app/desktop/tags/notifications.tag | 395 +++--- src/web/app/desktop/tags/pages/entrance.tag | 127 +- .../desktop/tags/pages/entrance/signin.tag | 240 ++-- .../desktop/tags/pages/entrance/signup.tag | 81 +- src/web/app/desktop/tags/pages/home.tag | 93 +- src/web/app/desktop/tags/pages/not-found.tag | 94 +- src/web/app/desktop/tags/pages/post.tag | 43 +- src/web/app/desktop/tags/pages/search.tag | 27 +- src/web/app/desktop/tags/pages/user.tag | 35 +- src/web/app/desktop/tags/post-detail-sub.tag | 243 ++-- src/web/app/desktop/tags/post-detail.tag | 736 ++++++----- src/web/app/desktop/tags/post-form-window.tag | 95 +- src/web/app/desktop/tags/post-form.tag | 786 +++++------ src/web/app/desktop/tags/post-preview.tag | 157 ++- .../app/desktop/tags/post-status-graph.tag | 125 +- src/web/app/desktop/tags/progress-dialog.tag | 158 +-- .../app/desktop/tags/repost-form-window.tag | 60 +- src/web/app/desktop/tags/repost-form.tag | 242 ++-- src/web/app/desktop/tags/search-posts.tag | 160 ++- src/web/app/desktop/tags/search.tag | 52 +- .../tags/select-file-from-drive-window.tag | 287 +++-- .../desktop/tags/set-avatar-suggestion.tag | 80 +- .../desktop/tags/set-banner-suggestion.tag | 80 +- src/web/app/desktop/tags/settings-window.tag | 45 +- src/web/app/desktop/tags/settings.tag | 495 ++++--- src/web/app/desktop/tags/signin-history.tag | 120 +- src/web/app/desktop/tags/stream-indicator.tag | 97 +- src/web/app/desktop/tags/sub-post-content.tag | 63 +- .../app/desktop/tags/timeline-post-sub.tag | 164 +-- src/web/app/desktop/tags/timeline-post.tag | 612 ++++----- src/web/app/desktop/tags/timeline.tag | 135 +- .../app/desktop/tags/ui-header-account.tag | 381 +++--- src/web/app/desktop/tags/ui-header-clock.tag | 135 +- src/web/app/desktop/tags/ui-header-nav.tag | 202 +-- .../desktop/tags/ui-header-notifications.tag | 205 +-- .../desktop/tags/ui-header-post-button.tag | 70 +- src/web/app/desktop/tags/ui-header-search.tag | 68 +- src/web/app/desktop/tags/ui-header.tag | 150 +-- src/web/app/desktop/tags/ui-notification.tag | 71 +- src/web/app/desktop/tags/ui.tag | 62 +- .../desktop/tags/user-followers-window.tag | 39 +- src/web/app/desktop/tags/user-followers.tag | 35 +- .../desktop/tags/user-following-window.tag | 39 +- src/web/app/desktop/tags/user-following.tag | 35 +- .../app/desktop/tags/user-friends-graph.tag | 117 +- src/web/app/desktop/tags/user-graphs.tag | 68 +- src/web/app/desktop/tags/user-header.tag | 251 ++-- src/web/app/desktop/tags/user-home.tag | 73 +- src/web/app/desktop/tags/user-likes-graph.tag | 71 +- src/web/app/desktop/tags/user-photos.tag | 149 +-- src/web/app/desktop/tags/user-posts-graph.tag | 125 +- src/web/app/desktop/tags/user-preview.tag | 253 ++-- src/web/app/desktop/tags/user-profile.tag | 139 +- src/web/app/desktop/tags/user-timeline.tag | 250 ++-- src/web/app/desktop/tags/user.tag | 84 +- src/web/app/desktop/tags/users-list.tag | 239 ++-- src/web/app/desktop/tags/window.tag | 912 ++++++------- src/web/app/dev/tags/new-app-form.tag | 451 ++++--- src/web/app/dev/tags/pages/app.tag | 48 +- src/web/app/dev/tags/pages/apps.tag | 50 +- src/web/app/dev/tags/pages/index.tag | 14 +- src/web/app/dev/tags/pages/new-app.tag | 65 +- src/web/app/mobile/tags/drive-selector.tag | 135 +- src/web/app/mobile/tags/drive.tag | 578 ++++----- src/web/app/mobile/tags/drive/file-viewer.tag | 15 +- src/web/app/mobile/tags/drive/file.tag | 229 ++-- src/web/app/mobile/tags/drive/folder.tag | 81 +- src/web/app/mobile/tags/follow-button.tag | 185 ++- src/web/app/mobile/tags/home-timeline.tag | 67 +- src/web/app/mobile/tags/home.tag | 31 +- src/web/app/mobile/tags/images-viewer.tag | 46 +- .../app/mobile/tags/notification-preview.tag | 220 ++-- src/web/app/mobile/tags/notification.tag | 238 ++-- src/web/app/mobile/tags/notifications.tag | 169 ++- src/web/app/mobile/tags/notify.tag | 61 +- src/web/app/mobile/tags/page/drive.tag | 79 +- src/web/app/mobile/tags/page/entrance.tag | 99 +- .../app/mobile/tags/page/entrance/signin.tag | 90 +- .../app/mobile/tags/page/entrance/signup.tag | 67 +- src/web/app/mobile/tags/page/home.tag | 77 +- src/web/app/mobile/tags/page/new-post.tag | 15 +- .../app/mobile/tags/page/notifications.tag | 33 +- src/web/app/mobile/tags/page/post.tag | 53 +- src/web/app/mobile/tags/page/search.tag | 35 +- .../app/mobile/tags/page/user-followers.tag | 53 +- .../app/mobile/tags/page/user-following.tag | 53 +- src/web/app/mobile/tags/page/user.tag | 37 +- src/web/app/mobile/tags/post-detail.tag | 748 ++++++----- src/web/app/mobile/tags/post-form.tag | 460 +++---- src/web/app/mobile/tags/post-preview.tag | 149 ++- src/web/app/mobile/tags/search-posts.tag | 51 +- src/web/app/mobile/tags/search.tag | 23 +- src/web/app/mobile/tags/stream-indicator.tag | 97 +- src/web/app/mobile/tags/sub-post-content.tag | 61 +- src/web/app/mobile/tags/timeline-post-sub.tag | 163 ++- src/web/app/mobile/tags/timeline-post.tag | 543 ++++---- src/web/app/mobile/tags/timeline.tag | 212 ++- src/web/app/mobile/tags/ui-header.tag | 175 +-- src/web/app/mobile/tags/ui-nav.tag | 286 ++-- src/web/app/mobile/tags/ui.tag | 81 +- src/web/app/mobile/tags/user-followers.tag | 39 +- src/web/app/mobile/tags/user-following.tag | 39 +- src/web/app/mobile/tags/user-preview.tag | 167 ++- src/web/app/mobile/tags/user-timeline.tag | 51 +- src/web/app/mobile/tags/user.tag | 344 +++-- src/web/app/mobile/tags/users-list.tag | 209 ++- 169 files changed, 14582 insertions(+), 14865 deletions(-) diff --git a/gulpfile.ts b/gulpfile.ts index 5246705a11..677225c398 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -189,231 +189,6 @@ gulp.task('build:client:scripts', done => { .transform(ls) .transform(aliasify, aliasifyConfig) - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - gutil.log('Build Tag: ' + file); - return source; - })) - - // tagの{}の''を不要にする (その代わりスタイルの記法は使えなくなるけど) - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - - const tag = new Tag(source); - const html = tag.sections.filter(s => s.name == 'html')[0]; - - html.lines = html.lines.map(line => { - if (line.replace(/\t/g, '')[0] === '|') { - return line; - } else { - return line.replace(/([+=])\s?\{(.+?)\}/g, '$1"{$2}"'); - } - }); - - const styles = tag.sections.filter(s => s.name == 'style'); - - if (styles.length == 0) { - return tag.compile(); - } - - styles.forEach(style => { - let head = style.lines.shift(); - head = head.replace(/([+=])\s?\{(.+?)\}/g, '$1"{$2}"'); - style.lines.unshift(head); - }); - - return tag.compile(); - })) - - // tagの@hogeをref='hoge'にする - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - - const tag = new Tag(source); - const html = tag.sections.filter(s => s.name == 'html')[0]; - - html.lines = html.lines.map(line => { - if (line.indexOf('@') === -1) { - return line; - } else if (line.replace(/\t/g, '')[0] === '|') { - return line; - } else { - while (line.match(/[^\s']@[a-z-]+/) !== null) { - const match = line.match(/@[a-z-]+/); - let name = match[0]; - if (line[line.indexOf(name) + name.length] === '(') { - line = line.replace(name + '(', '(ref=\'' + camelCase(name.substr(1)) + '\','); - } else { - line = line.replace(name, '(ref=\'' + camelCase(name.substr(1)) + '\')'); - } - } - return line; - } - }); - - return tag.compile(); - - function camelCase(str): string { - return str.replace(/-([^\s])/g, (match, group1) => { - return group1.toUpperCase(); - }); - } - })) - - // tagのchain-caseをcamelCaseにする - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - - const tag = new Tag(source); - const html = tag.sections.filter(s => s.name == 'html')[0]; - - html.lines = html.lines.map(line => { - (line.match(/\{.+?\}/g) || []).forEach(x => { - line = line.replace(x, camelCase(x)); - }); - return line; - }); - - return tag.compile(); - - function camelCase(str): string { - str = str.replace(/([a-z\-]+):/g, (match, group1) => { - return group1.replace(/\-/g, '###') + ':'; - }); - str = str.replace(/'(.+?)'/g, (match, group1) => { - return "'" + group1.replace(/\-/g, '###') + "'"; - }); - str = str.replace(/-([^\s0-9])/g, (match, group1) => { - return group1.toUpperCase(); - }); - str = str.replace(/###/g, '-'); - - return str; - } - })) - - // tagのstyleの属性 - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - - const tag = new Tag(source); - - const styles = tag.sections.filter(s => s.name == 'style'); - - if (styles.length == 0) { - return tag.compile(); - } - - styles.forEach(style => { - let head = style.lines.shift(); - if (style.attr) { - style.attr = style.attr + ', type=\'stylus\', scoped'; - } else { - style.attr = 'type=\'stylus\', scoped'; - } - style.lines.unshift(head); - }); - - return tag.compile(); - })) - - // tagのstyleの定数 - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - - const tag = new Tag(source); - - const styles = tag.sections.filter(s => s.name == 'style'); - - if (styles.length == 0) { - return tag.compile(); - } - - styles.forEach(style => { - const head = style.lines.shift(); - style.lines.unshift('$theme-color = ' + config.themeColor); - style.lines.unshift('$theme-color-foreground = #fff'); - style.lines.unshift(head); - }); - - return tag.compile(); - })) - - // tagのstyleを暗黙的に:scopeにする - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - - const tag = new Tag(source); - - const styles = tag.sections.filter(s => s.name == 'style'); - - if (styles.length == 0) { - return tag.compile(); - } - - styles.forEach((style, i) => { - if (i != 0) { - return; - } - const head = style.lines.shift(); - style.lines = style.lines.map(line => { - return '\t' + line; - }); - style.lines.unshift(':scope'); - style.lines.unshift(head); - }); - - return tag.compile(); - })) - - // tagのtheme styleのパース - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - - const tag = new Tag(source); - - const styles = tag.sections.filter(s => s.name == 'style'); - - if (styles.length == 0) { - return tag.compile(); - } - - styles.forEach((style, i) => { - if (i == 0) { - return; - } else if (style.attr.substr(0, 6) != 'theme=') { - return; - } - const head = style.lines.shift(); - style.lines = style.lines.map(line => { - return '\t' + line; - }); - style.lines.unshift(':scope'); - style.lines = style.lines.map(line => { - return '\t' + line; - }); - style.lines.unshift('html[data-' + style.attr.match(/theme='(.+?)'/)[0] + ']'); - style.lines.unshift(head); - }); - - return tag.compile(); - })) - - // tagのstyleおよびscriptのインデントを不要にする - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - const tag = new Tag(source); - - tag.sections = tag.sections.map(section => { - if (section.name != 'html') { - section.indent++; - } - return section; - }); - - return tag.compile(); - })) - // スペースでインデントされてないとエラーが出る .transform(transformify((source, file) => { if (file.substr(-4) !== '.tag') return source; @@ -423,6 +198,8 @@ gulp.task('build:client:scripts', done => { .transform(transformify((source, file) => { return source .replace(/VERSION/g, `'${commit ? commit.hash : 'null'}'`) + .replace(/\$theme\-color\-foreground/g, '#fff') + .replace(/\$theme\-color/g, config.themeColor) .replace(/CONFIG\.theme-color/g, `'${config.themeColor}'`) .replace(/CONFIG\.themeColor/g, `'${config.themeColor}'`) .replace(/CONFIG\.api\.url/g, `'${config.scheme}://api.${config.host}'`) @@ -435,7 +212,6 @@ gulp.task('build:client:scripts', done => { })) .transform(riotify, { - template: 'pug', type: 'livescript', expr: false, compact: true, @@ -446,17 +222,6 @@ gulp.task('build:client:scripts', done => { } } }) - // Riotが謎の空白を挿入する - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - return source.replace(/\s/g, ''); - })) - /* - // LiveScruptがHTMLクラスのショートカットを変な風に生成するのでそれを修正 - .transform(transformify((source, file) => { - if (file.substr(-4) !== '.tag') return source; - return source.replace(/class="\{\(\{(.+?)\}\)\}"/g, 'class="{$1}"'); - }))*/ .bundle() .pipe(source(entry.replace('./src/web/app/', './').replace('.ls', '.js'))); @@ -531,87 +296,3 @@ gulp.task('build:client:pug', [ })) .pipe(gulp.dest('./built/web/app/')); }); - -class Tag { - sections: { - name: string; - attr?: string; - indent: number; - lines: string[]; - }[]; - - constructor(source) { - this.sections = []; - - source = source - .replace(/\r\n/g, '\n') - .replace(/\n(\t+?)\n/g, '\n') - .replace(/\n+/g, '\n'); - - const html = { - name: 'html', - indent: 0, - lines: [] - }; - - let flag = false; - source.split('\n').forEach((line, i) => { - const indent = line.lastIndexOf('\t') + 1; - if (i != 0 && indent == 0) { - flag = true; - } - if (!flag) { - source = source.replace(/^.*?\n/, ''); - html.lines.push(i == 0 ? line : line.substr(1)); - } - }); - - this.sections.push(html); - - while (source != '') { - const line = source.substr(0, source.indexOf('\n')); - const root = line.match(/^\t*([a-z]+)(\.|\()?/)[1]; - const beginIndent = line.lastIndexOf('\t') + 1; - flag = false; - const section = { - name: root, - attr: (line.match(/\((.+?)\)/) || [null, null])[1], - indent: beginIndent, - lines: [] - }; - source.split('\n').forEach((line, i) => { - const currentIndent = line.lastIndexOf('\t') + 1; - if (i != 0 && (currentIndent == beginIndent || currentIndent == 0)) { - flag = true; - } - if (!flag) { - if (i == 0 && line[line.length - 1] == '.') { - line = line.substr(0, line.length - 1); - } - if (i == 0 && line.indexOf('(') != -1) { - line = line.substr(0, line.indexOf('(')); - } - source = source.replace(/^.*?\n/, ''); - section.lines.push(i == 0 ? line.substr(beginIndent) : line.substr(beginIndent + 1)); - } - }); - this.sections.push(section); - } - } - - compile(): string { - let dist = ''; - this.sections.forEach((section, j) => { - dist += section.lines.map((line, i) => { - if (i == 0) { - const attr = section.attr != null ? '(' + section.attr + ')' : ''; - const tail = j != 0 ? '.' : ''; - return '\t'.repeat(section.indent) + line + attr + tail; - } else { - return '\t'.repeat(section.indent + 1) + line; - } - }).join('\n') + '\n'; - }); - return dist; - } -} diff --git a/src/web/app/auth/tags/form.tag b/src/web/app/auth/tags/form.tag index f5b1555554..21c2339bc7 100644 --- a/src/web/app/auth/tags/form.tag +++ b/src/web/app/auth/tags/form.tag @@ -1,126 +1,126 @@ -mk-form - header - h1 - i { app.name } - | があなたの - b アカウント - | に - b アクセス - | することを - b 許可 - | しますか? - img(src={ app.icon_url + '?thumbnail&size=64' }) - div.app - section - h2 { app.name } - p.nid { app.name_id } - p.description { app.description } - section - h2 このアプリは次の権限を要求しています: - ul - virtual(each={ p in app.permission }) - li(if={ p == 'account-read' }) アカウントの情報を見る。 - li(if={ p == 'account-write' }) アカウントの情報を操作する。 - li(if={ p == 'post-write' }) 投稿する。 - li(if={ p == 'like-write' }) いいねしたりいいね解除する。 - li(if={ p == 'following-write' }) フォローしたりフォロー解除する。 - li(if={ p == 'drive-read' }) ドライブを見る。 - li(if={ p == 'drive-write' }) ドライブを操作する。 - li(if={ p == 'notification-read' }) 通知を見る。 - li(if={ p == 'notification-write' }) 通知を操作する。 + +
+

{ app.name }があなたのアカウントアクセスすることを許可しますか?

+
+
+
+

{ app.name }

+

{ app.name_id }

+

{ app.description }

+
+
+

このアプリは次の権限を要求しています:

+
    + +
  • アカウントの情報を見る。
  • +
  • アカウントの情報を操作する。
  • +
  • 投稿する。
  • +
  • いいねしたりいいね解除する。
  • +
  • フォローしたりフォロー解除する。
  • +
  • ドライブを見る。
  • +
  • ドライブを操作する。
  • +
  • 通知を見る。
  • +
  • 通知を操作する。
  • +
    +
+
+
+
+ + +
+ + +
diff --git a/src/web/app/auth/tags/index.tag b/src/web/app/auth/tags/index.tag index b7017daec6..d4818b9bfd 100644 --- a/src/web/app/auth/tags/index.tag +++ b/src/web/app/auth/tags/index.tag @@ -1,129 +1,136 @@ -mk-index - main(if={ SIGNIN }) - p.fetching(if={ fetching }) - | 読み込み中 - mk-ellipsis - mk-form@form(if={ state == null && !fetching }, session={ session }) - div.denied(if={ state == 'denied' }) - h1 アプリケーションの連携をキャンセルしました。 - p このアプリがあなたのアカウントにアクセスすることはありません。 - div.accepted(if={ state == 'accepted' }) - h1 { session.app.is_authorized ? 'このアプリは既に連携済みです' : 'アプリケーションの連携を許可しました'} - p(if={ session.app.callback_url }) - | アプリケーションに戻っています - mk-ellipsis - p(if={ !session.app.callback_url }) アプリケーションに戻って、やっていってください。 - div.error(if={ state == 'fetch-session-error' }) - p セッションが存在しません。 - main.signin(if={ !SIGNIN }) - h1 サインインしてください - mk-signin - footer - img(src='/_/resources/auth/logo.svg', alt='Misskey') - -style. - display block - - > main - width 100% - max-width 500px - margin 0 auto - text-align center - background #fff - box-shadow 0px 4px 16px rgba(0, 0, 0, 0.2) - - > .fetching - margin 0 - padding 32px - color #555 - - > div - padding 64px - - > h1 - margin 0 0 8px 0 - padding 0 - font-size 20px - font-weight normal - - > p - margin 0 - color #555 - - &.denied > h1 - color #e65050 - - &.accepted > h1 - color #50bbe6 - - &.signin - padding 32px 32px 16px 32px - - > h1 - margin 0 0 22px 0 - padding 0 - font-size 20px - font-weight normal - color #555 - - @media (max-width 600px) - max-width none - box-shadow none - - @media (max-width 500px) - > div - > h1 - font-size 16px - - > footer - > img + +
+

読み込み中 + +

+ +
+

アプリケーションの連携をキャンセルしました。

+

このアプリがあなたのアカウントにアクセスすることはありません。

+
+
+

{ session.app.is_authorized ? 'このアプリは既に連携済みです' : 'アプリケーションの連携を許可しました'}

+

アプリケーションに戻っています + +

+

アプリケーションに戻って、やっていってください。

+
+
+

セッションが存在しません。

+
+
+
+

サインインしてください

+ +
+
Misskey
+ + +
diff --git a/src/web/app/common/tags/copyright.tag b/src/web/app/common/tags/copyright.tag index 0fccf375e8..c5041935f4 100644 --- a/src/web/app/common/tags/copyright.tag +++ b/src/web/app/common/tags/copyright.tag @@ -1,5 +1,11 @@ -mk-copyright - span (c) syuilo 2014-2017 +(c) syuilo 2014-2017 + + diff --git a/src/web/app/common/tags/core-error.tag b/src/web/app/common/tags/core-error.tag index 19ef68bea6..0473884497 100644 --- a/src/web/app/common/tags/core-error.tag +++ b/src/web/app/common/tags/core-error.tag @@ -1,63 +1,64 @@ -mk-core-error - //i: i.fa.fa-times-circle - img(src='/_/resources/error.jpg', alt='') - h1: mk-ripple-string サーバーに接続できません - p.text - | インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから - a(onclick={ retry }) 再度お試し - | ください。 - p.thanks いつもMisskeyをご利用いただきありがとうございます。 + + +

+ サーバーに接続できません +

+

インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから再度お試しください。

+

いつもMisskeyをご利用いただきありがとうございます。

+ + +
diff --git a/src/web/app/common/tags/ellipsis.tag b/src/web/app/common/tags/ellipsis.tag index 47eca62acd..71755dd8f3 100644 --- a/src/web/app/common/tags/ellipsis.tag +++ b/src/web/app/common/tags/ellipsis.tag @@ -1,25 +1,29 @@ -mk-ellipsis - span . - span . - span . +... + + diff --git a/src/web/app/common/tags/file-type-icon.tag b/src/web/app/common/tags/file-type-icon.tag index 68b8f95ad7..4569fe81f1 100644 --- a/src/web/app/common/tags/file-type-icon.tag +++ b/src/web/app/common/tags/file-type-icon.tag @@ -1,9 +1,11 @@ -mk-file-type-icon - i.fa.fa-file-image-o(if={ kind == 'image' }) + + + + diff --git a/src/web/app/common/tags/forkit.tag b/src/web/app/common/tags/forkit.tag index 7205fbe76b..5e44055455 100644 --- a/src/web/app/common/tags/forkit.tag +++ b/src/web/app/common/tags/forkit.tag @@ -1,37 +1,44 @@ -mk-forkit - a(href='https://github.com/syuilo/misskey', target='_blank', title='View source on Github', aria-label='View source on Github') - svg(width='80', height='80', viewBox='0 0 250 250', aria-hidden) - path(d='M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z') - path.octo-arm(d='M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2', fill='currentColor') - path(d='M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z', fill='currentColor') - -style. - display block - position absolute - top 0 - right 0 - - > a - display block - - > svg + + + + + + + + diff --git a/src/web/app/common/tags/introduction.tag b/src/web/app/common/tags/introduction.tag index 99df485674..cfeeb24ace 100644 --- a/src/web/app/common/tags/introduction.tag +++ b/src/web/app/common/tags/introduction.tag @@ -1,22 +1,29 @@ -mk-introduction - article - h1 Misskeyとは? -

Misskeyみすきーは、syuiloが2014年くらいからオープンソースで開発・運営を行っている、ミニブログベースのSNSです。

-

Twitter, Facebook, LINE, Google+ などをパクって参考にしています。

-

無料で誰でも利用でき、広告は一切掲載していません。

-

もっと知りたい方はこちら

+ +
+

Misskeyとは?

Misskeyみすきーは、syuiloが2014年くらいからオープンソースで開発・運営を行っている、ミニブログベースのSNSです。

+

Twitter, Facebook, LINE, Google+ などをパクって参考にしています。

+

無料で誰でも利用でき、広告は一切掲載していません。

+

もっと知りたい方はこちら

+
+ +
diff --git a/src/web/app/common/tags/number.tag b/src/web/app/common/tags/number.tag index 589c747b35..3b9879655e 100644 --- a/src/web/app/common/tags/number.tag +++ b/src/web/app/common/tags/number.tag @@ -1,15 +1,18 @@ -mk-number + + + + diff --git a/src/web/app/common/tags/raw.tag b/src/web/app/common/tags/raw.tag index 131826e597..ee7318a9f2 100644 --- a/src/web/app/common/tags/raw.tag +++ b/src/web/app/common/tags/raw.tag @@ -1,7 +1,8 @@ -mk-raw + + + + diff --git a/src/web/app/common/tags/ripple-string.tag b/src/web/app/common/tags/ripple-string.tag index 3be6903369..2afd2b9ff3 100644 --- a/src/web/app/common/tags/ripple-string.tag +++ b/src/web/app/common/tags/ripple-string.tag @@ -1,24 +1,26 @@ -mk-ripple-string - + + + + diff --git a/src/web/app/common/tags/signin.tag b/src/web/app/common/tags/signin.tag index 6f4013b1cb..dc5faca08d 100644 --- a/src/web/app/common/tags/signin.tag +++ b/src/web/app/common/tags/signin.tag @@ -1,136 +1,131 @@ -mk-signin - form(onsubmit={ onsubmit }, class={ signing: signing }) - label.user-name - input@username( - type='text' - pattern='^[a-zA-Z0-9\-]+$' - placeholder='ユーザー名' - autofocus - required - oninput={ oninput }) - i.fa.fa-at - label.password - input@password( - type='password' - placeholder='パスワード' - required) - i.fa.fa-lock - button(type='submit', disabled={ signing }) { signing ? 'やっています...' : 'サインイン' } - -style. - display block - - > form - display block - z-index 2 - - &.signing - &, * - cursor wait !important - - label + +
+ + + +
+ + +
diff --git a/src/web/app/common/tags/signup.tag b/src/web/app/common/tags/signup.tag index 9b28d7d1ff..c07b27fb19 100644 --- a/src/web/app/common/tags/signup.tag +++ b/src/web/app/common/tags/signup.tag @@ -1,352 +1,293 @@ -mk-signup - form(onsubmit={ onsubmit }, autocomplete='off') - label.username - p.caption - i.fa.fa-at - | ユーザー名 - input@username( - type='text' - pattern='^[a-zA-Z0-9\-]{3,20}$' - placeholder='a~z、A~Z、0~9、-' - autocomplete='off' - required - onkeyup={ on-change-username }) - - p.profile-page-url-preview(if={ refs.username.value != '' && username-state != 'invalid-format' && username-state != 'min-range' && username-state != 'max-range' }) { CONFIG.url + '/' + refs.username.value } - - p.info(if={ username-state == 'wait' }, style='color:#999') - i.fa.fa-fw.fa-spinner.fa-pulse - | 確認しています... - p.info(if={ username-state == 'ok' }, style='color:#3CB7B5') - i.fa.fa-fw.fa-check - | 利用できます - p.info(if={ username-state == 'unavailable' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 既に利用されています - p.info(if={ username-state == 'error' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 通信エラー - p.info(if={ username-state == 'invalid-format' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | a~z、A~Z、0~9、-(ハイフン)が使えます - p.info(if={ username-state == 'min-range' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 3文字以上でお願いします! - p.info(if={ username-state == 'max-range' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 20文字以内でお願いします - - label.password - p.caption - i.fa.fa-lock - | パスワード - input@password( - type='password' - placeholder='8文字以上を推奨します' - autocomplete='off' - required - onkeyup={ on-change-password }) - - div.meter(if={ password-strength != '' }, data-strength={ password-strength }) - div.value@password-metar - - p.info(if={ password-strength == 'low' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 弱いパスワード - p.info(if={ password-strength == 'medium' }, style='color:#3CB7B5') - i.fa.fa-fw.fa-check - | まあまあのパスワード - p.info(if={ password-strength == 'high' }, style='color:#3CB7B5') - i.fa.fa-fw.fa-check - | 強いパスワード - - label.retype-password - p.caption - i.fa.fa-lock - | パスワード(再入力) - input@password-retype( - type='password' - placeholder='確認のため再入力してください' - autocomplete='off' - required - onkeyup={ on-change-password-retype }) - - p.info(if={ password-retype-state == 'match' }, style='color:#3CB7B5') - i.fa.fa-fw.fa-check - | 確認されました - p.info(if={ password-retype-state == 'not-match' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 一致していません - - label.recaptcha - p.caption - i.fa.fa-toggle-on(if={ recaptchaed }) - i.fa.fa-toggle-off(if={ !recaptchaed }) - | 認証 - div.g-recaptcha( - data-callback='onRecaptchaed' - data-expired-callback='onRecaptchaExpired' - data-sitekey={ CONFIG.recaptcha.site-key }) - - label.agree-tou - input( - name='agree-tou', - type='checkbox', - autocomplete='off', - required) - p - a(href={ CONFIG.urls.about + '/tou' }, target='_blank') 利用規約 - | に同意する - - button(onclick={ onsubmit }) - | アカウント作成 - -style. - display block - min-width 302px - overflow hidden - - > form - - label + +
+ + + + + + +
+ + +
diff --git a/src/web/app/common/tags/special-message.tag b/src/web/app/common/tags/special-message.tag index 5a6d5787ea..ffba09c2da 100644 --- a/src/web/app/common/tags/special-message.tag +++ b/src/web/app/common/tags/special-message.tag @@ -1,24 +1,27 @@ -mk-special-message - p(if={ m == 1 && d == 1 }) Happy New Year! - p(if={ m == 12 && d == 25 }) Merry Christmas! + +

Happy New Year!

+

Merry Christmas!

+ + +
diff --git a/src/web/app/common/tags/time.tag b/src/web/app/common/tags/time.tag index 52ad89a44f..5456adb0b6 100644 --- a/src/web/app/common/tags/time.tag +++ b/src/web/app/common/tags/time.tag @@ -1,43 +1,41 @@ -mk-time - time(datetime={ opts.time }) - span(if={ mode == 'relative' }) { relative } - span(if={ mode == 'absolute' }) { absolute } - span(if={ mode == 'detail' }) { absolute } ({ relative }) + + + + diff --git a/src/web/app/common/tags/uploader.tag b/src/web/app/common/tags/uploader.tag index 6d4e9b6363..6a081ddaf0 100644 --- a/src/web/app/common/tags/uploader.tag +++ b/src/web/app/common/tags/uploader.tag @@ -1,201 +1,195 @@ -mk-uploader - ol(if={ uploads.length > 0 }) - li(each={ uploads }) - div.img(style='background-image: url({ img })') - p.name - i.fa.fa-spinner.fa-pulse - | { name } - p.status - span.initing(if={ progress == undefined }) - | 待機中 - mk-ellipsis - span.kb(if={ progress != undefined }) - | { String(Math.floor(progress.value / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') } - i KB - = ' / ' - | { String(Math.floor(progress.max / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') } - i KB - span.percentage(if={ progress != undefined }) { Math.floor((progress.value / progress.max) * 100) } - progress(if={ progress != undefined && progress.value != progress.max }, value={ progress.value }, max={ progress.max }) - div.progress.initing(if={ progress == undefined }) - div.progress.waiting(if={ progress != undefined && progress.value == progress.max }) - -style. - display block - overflow auto - - &:empty - display none - - > ol - display block - margin 0 - padding 0 - list-style none - - > li + +
    +
  1. +
    +

    { name }

    +

    待機中 + { String(Math.floor(progress.value / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }KB / { String(Math.floor(progress.max / 1024)).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,') }KB{ Math.floor((progress.value / progress.max) * 100) }

    + +
    +
    +
  2. +
+ + +
diff --git a/src/web/app/common/tags/url-preview.tag b/src/web/app/common/tags/url-preview.tag index 605d26bc67..860d4d547f 100644 --- a/src/web/app/common/tags/url-preview.tag +++ b/src/web/app/common/tags/url-preview.tag @@ -1,105 +1,110 @@ -mk-url-preview - a(href={ url }, target='_blank', title={ url }, if={ !loading }) - div.thumbnail(if={ thumbnail }, style={ 'background-image: url(' + thumbnail + ')' }) - article - header: h1 { title } - p { description } - footer - img.icon(if={ icon }, src={ icon }) - p { sitename } + +
+
+
+

{ title }

+
+

{ description }

+
+

{ sitename }

+
+
+ + +
diff --git a/src/web/app/common/tags/url.tag b/src/web/app/common/tags/url.tag index 18892e8108..be7db32c5f 100644 --- a/src/web/app/common/tags/url.tag +++ b/src/web/app/common/tags/url.tag @@ -1,50 +1,46 @@ -mk-url - a(href={ url }, target={ opts.target }) - span.schema { schema }// - span.hostname { hostname } - span.port(if={ port != '' }) :{ port } - span.pathname(if={ pathname != '' }) { pathname } - span.query { query } - span.hash { hash } +{ schema }//{ hostname }:{ port }{ pathname }{ query }{ hash } + + + diff --git a/src/web/app/desktop/tags/analog-clock.tag b/src/web/app/desktop/tags/analog-clock.tag index a4cfe5726c..c84accb057 100644 --- a/src/web/app/desktop/tags/analog-clock.tag +++ b/src/web/app/desktop/tags/analog-clock.tag @@ -1,102 +1,105 @@ -mk-analog-clock - canvas@canvas(width='256', height='256') + + + + + diff --git a/src/web/app/desktop/tags/autocomplete-suggestion.tag b/src/web/app/desktop/tags/autocomplete-suggestion.tag index 13d9df6914..ecebf26a32 100644 --- a/src/web/app/desktop/tags/autocomplete-suggestion.tag +++ b/src/web/app/desktop/tags/autocomplete-suggestion.tag @@ -1,182 +1,183 @@ -mk-autocomplete-suggestion - ol.users@users(if={ users.length > 0 }) - li(each={ users }, onclick={ parent.on-click }, onkeydown={ parent.on-keydown }, tabindex='-1') - img.avatar(src={ avatar_url + '?thumbnail&size=32' }, alt='') - span.name { name } - span.username @{ username } - -style. - display block - position absolute - z-index 65535 - margin-top calc(1em + 8px) - overflow hidden - background #fff - border solid 1px rgba(0, 0, 0, 0.1) - border-radius 4px - - > .users - display block - margin 0 - padding 4px 0 - max-height 190px - max-width 500px - overflow auto - list-style none - - > li + +
    +
  1. { name }@{ username }
  2. +
+ + +
diff --git a/src/web/app/desktop/tags/big-follow-button.tag b/src/web/app/desktop/tags/big-follow-button.tag index 636853407c..37c67f07b2 100644 --- a/src/web/app/desktop/tags/big-follow-button.tag +++ b/src/web/app/desktop/tags/big-follow-button.tag @@ -1,134 +1,127 @@ -mk-big-follow-button - button(if={ !init }, class={ wait: wait, follow: !user.is_following, unfollow: user.is_following }, - onclick={ onclick }, - disabled={ wait }, - title={ user.is_following ? 'フォロー解除' : 'フォローする' }) - span(if={ !wait && user.is_following }) - i.fa.fa-minus - | フォロー解除 - span(if={ !wait && !user.is_following }) - i.fa.fa-plus - | フォロー - i.fa.fa-spinner.fa-pulse.fa-fw(if={ wait }) - div.init(if={ init }): i.fa.fa-spinner.fa-pulse.fa-fw + + +
+ + +
diff --git a/src/web/app/desktop/tags/contextmenu.tag b/src/web/app/desktop/tags/contextmenu.tag index 7c3c7b8a24..c82a1e1e3a 100644 --- a/src/web/app/desktop/tags/contextmenu.tag +++ b/src/web/app/desktop/tags/contextmenu.tag @@ -1,138 +1,139 @@ -mk-contextmenu - | + + + + diff --git a/src/web/app/desktop/tags/crop-window.tag b/src/web/app/desktop/tags/crop-window.tag index 16e1a72b3a..768c76d952 100644 --- a/src/web/app/desktop/tags/crop-window.tag +++ b/src/web/app/desktop/tags/crop-window.tag @@ -1,189 +1,188 @@ -mk-crop-window - mk-window@window(is-modal={ true }, width={ '800px' }) - - i.fa.fa-crop - | { parent.title } - - - div.body - img@img(src={ parent.image.url + '?thumbnail&quality=80' }, alt='') - div.action - button.skip(onclick={ parent.skip }) クロップをスキップ - button.cancel(onclick={ parent.cancel }) キャンセル - button.ok(onclick={ parent.ok }) 決定 - + + { parent.title } + +
+
+ + + +
+
+ + +
diff --git a/src/web/app/desktop/tags/debugger.tag b/src/web/app/desktop/tags/debugger.tag index e2b522cb00..9f9ff2cc4b 100644 --- a/src/web/app/desktop/tags/debugger.tag +++ b/src/web/app/desktop/tags/debugger.tag @@ -1,87 +1,90 @@ -mk-debugger - mk-window@window(is-modal={ false }, width={ '700px' }, height={ '550px' }) - - i.fa.fa-wrench - | Debugger - - - section.progress-dialog - h1 progress-dialog - button.style-normal(onclick={ parent.progress-dialog }): i.fa.fa-play - button.style-normal(onclick={ parent.progress-dialog-destroy }): i.fa.fa-stop - label - p TITLE: - input@progress-title(value='Title') - label - p VAL: - input@progress-value(type='number', oninput={ parent.progress-change }, value=0) - label - p MAX: - input@progress-max(type='number', oninput={ parent.progress-change }, value=100) - + + Debugger + +
+

progress-dialog

+ + + + + +
+
+ + +
diff --git a/src/web/app/desktop/tags/detect-slow-internet-connection-notice.tag b/src/web/app/desktop/tags/detect-slow-internet-connection-notice.tag index f11a0c0857..09a746fb9b 100644 --- a/src/web/app/desktop/tags/detect-slow-internet-connection-notice.tag +++ b/src/web/app/desktop/tags/detect-slow-internet-connection-notice.tag @@ -1,56 +1,60 @@ -mk-detect-slow-internet-connection-notice - i: i.fa.fa-exclamation - div: p インターネット回線が遅いようです。 - -style. - display block - pointer-events none - position fixed - z-index 16384 - top 64px - right 16px - margin 0 - padding 0 - width 298px - font-size 0.9em - background #fff - box-shadow 0 1px 4px rgba(0, 0, 0, 0.25) - opacity 0 - - > i - display block - width 48px - line-height 48px - margin-right 0.25em - text-align center - color $theme-color-foreground - font-size 1.5em - background $theme-color - - > div - display block - position absolute - top 0 - left 48px - margin 0 - width 250px - height 48px - color #666 - - > p + +
+

インターネット回線が遅いようです。

+
+ + +
diff --git a/src/web/app/desktop/tags/dialog.tag b/src/web/app/desktop/tags/dialog.tag index 88a461db84..d0aab4995c 100644 --- a/src/web/app/desktop/tags/dialog.tag +++ b/src/web/app/desktop/tags/dialog.tag @@ -1,141 +1,147 @@ -mk-dialog - div.bg@bg(onclick={ bg-click }) - div.main@main - header@header - div.body@body - div.buttons - virtual(each={ opts.buttons }) - button(onclick={ _onclick }) { text } + +
+
+
+
+
+ + + +
+
+ + +
diff --git a/src/web/app/desktop/tags/donation.tag b/src/web/app/desktop/tags/donation.tag index 9f8a1a6729..49ea8332d3 100644 --- a/src/web/app/desktop/tags/donation.tag +++ b/src/web/app/desktop/tags/donation.tag @@ -1,63 +1,68 @@ -mk-donation - button.close(onclick={ close }) 閉じる x - div.message - p 利用者の皆さま、 - p - | 今日は、日本の皆さまにお知らせがあります。 - | Misskeyの援助をお願いいたします。 - | 私は独立性を守るため、一切の広告を掲載いたしません。 - | 平均で約¥1,500の寄付をいただき、運営しております。 - | 援助をしてくださる利用者はほんの少数です。 - | お願いいたします。 - | 今日、利用者の皆さまが¥300ご援助くだされば、募金活動を一時間で終了することができます。 - | コーヒー1杯ほどの金額です。 - | Misskeyを活用しておられるのでしたら、広告を掲載せずにもう1年活動できるよう、どうか1分だけお時間をください。 - | 私は小さな非営利個人ですが、サーバー、プログラム、人件費など、世界でトップクラスのウェブサイト同等のコストがかかります。 - | 利用者は何億人といますが、他の大きなサイトに比べてほんの少額の費用で運営しているのです。 - | 人間の可能性、自由、そして機会。知識こそ、これらの基盤を成すものです。 - | 私は、誰もが無料かつ制限なく知識に触れられるべきだと信じています。 - | 募金活動を終了し、Misskeyの改善に戻れるようご援助ください。 - | よろしくお願いいたします。 - -style. - display block - color #fff - background #03072C - - > .close - position absolute - top 16px - right 16px - z-index 1 - - > .message - padding 32px - font-size 1.4em - font-family serif - - > p + + +
+

利用者の皆さま、

+

+ 今日は、日本の皆さまにお知らせがあります。 + Misskeyの援助をお願いいたします。 + 私は独立性を守るため、一切の広告を掲載いたしません。 + 平均で約¥1,500の寄付をいただき、運営しております。 + 援助をしてくださる利用者はほんの少数です。 + お願いいたします。 + 今日、利用者の皆さまが¥300ご援助くだされば、募金活動を一時間で終了することができます。 + コーヒー1杯ほどの金額です。 + Misskeyを活用しておられるのでしたら、広告を掲載せずにもう1年活動できるよう、どうか1分だけお時間をください。 + 私は小さな非営利個人ですが、サーバー、プログラム、人件費など、世界でトップクラスのウェブサイト同等のコストがかかります。 + 利用者は何億人といますが、他の大きなサイトに比べてほんの少額の費用で運営しているのです。 + 人間の可能性、自由、そして機会。知識こそ、これらの基盤を成すものです。 + 私は、誰もが無料かつ制限なく知識に触れられるべきだと信じています。 + 募金活動を終了し、Misskeyの改善に戻れるようご援助ください。 + よろしくお願いいたします。 +

+
+ + +
diff --git a/src/web/app/desktop/tags/drive/base-contextmenu.tag b/src/web/app/desktop/tags/drive/base-contextmenu.tag index c8b51009ea..d3a85e9157 100644 --- a/src/web/app/desktop/tags/drive/base-contextmenu.tag +++ b/src/web/app/desktop/tags/drive/base-contextmenu.tag @@ -1,28 +1,31 @@ -mk-drive-browser-base-contextmenu - mk-contextmenu@ctx - ul - li(onclick={ parent.create-folder }): p - i.fa.fa-folder-o - | フォルダーを作成 - li(onclick={ parent.upload }): p - i.fa.fa-upload - | ファイルをアップロード + + +
    +
  • +

    フォルダーを作成

    +
  • +
  • +

    ファイルをアップロード

    +
  • +
+
+ +
diff --git a/src/web/app/desktop/tags/drive/browser-window.tag b/src/web/app/desktop/tags/drive/browser-window.tag index b3a5fc9a47..c7447a3c21 100644 --- a/src/web/app/desktop/tags/drive/browser-window.tag +++ b/src/web/app/desktop/tags/drive/browser-window.tag @@ -1,29 +1,28 @@ -mk-drive-browser-window - mk-window@window(is-modal={ false }, width={ '800px' }, height={ '500px' }) - - i.fa.fa-cloud - | ドライブ - - - mk-drive-browser(multiple={ true }, folder={ parent.folder }) - + + ドライブ + + + + + + diff --git a/src/web/app/desktop/tags/drive/browser.tag b/src/web/app/desktop/tags/drive/browser.tag index 62e6425fe5..2bcb15f873 100644 --- a/src/web/app/desktop/tags/drive/browser.tag +++ b/src/web/app/desktop/tags/drive/browser.tag @@ -1,634 +1,637 @@ -mk-drive-browser - nav - div.path(oncontextmenu={ path-oncontextmenu }) - mk-drive-browser-nav-folder(class={ current: folder == null }, folder={ null }) - virtual(each={ folder in hierarchy-folders }) - span.separator: i.fa.fa-angle-right - mk-drive-browser-nav-folder(folder={ folder }) - span.separator(if={ folder != null }): i.fa.fa-angle-right - span.folder.current(if={ folder != null }) - | { folder.name } - input.search(type='search', placeholder!=' 検索') - div.main@main(class={ uploading: uploads.length > 0, loading: loading }, onmousedown={ onmousedown }, ondragover={ ondragover }, ondragenter={ ondragenter }, ondragleave={ ondragleave }, ondrop={ ondrop }, oncontextmenu={ oncontextmenu }) - div.selection@selection - div.contents@contents - div.folders@folders-container(if={ folders.length > 0 }) - virtual(each={ folder in folders }) - mk-drive-browser-folder.folder(folder={ folder }) - button(if={ more-folders }) - | もっと読み込む - div.files@files-container(if={ files.length > 0 }) - virtual(each={ file in files }) - mk-drive-browser-file.file(file={ file }) - button(if={ more-files }) - | もっと読み込む - div.empty(if={ files.length == 0 && folders.length == 0 && !loading }) - p(if={ draghover }) - | ドロップですか?いいですよ、ボクはカワイイですからね - p(if={ !draghover && folder == null }) - strong ドライブには何もありません。 - br - | 右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。 - p(if={ !draghover && folder != null }) - | このフォルダーは空です - div.loading(if={ loading }). + + +
+
+
+
+ + + + +
+
+ + + + +
+
+

ドロップですか?いいですよ、ボクはカワイイですからね

+

ドライブには何もありません。
右クリックして「ファイルをアップロード」を選んだり、ファイルをドラッグ&ドロップすることでもアップロードできます。

+

このフォルダーは空です

+
+
+
- div.dropzone(if={ draghover }) - mk-uploader@uploader - input@file-input(type='file', accept='*/*', multiple, tabindex='-1', onchange={ change-file-input }) +
+
+
+ + + + +
diff --git a/src/web/app/desktop/tags/drive/file-contextmenu.tag b/src/web/app/desktop/tags/drive/file-contextmenu.tag index 7d7dca6c92..96779601db 100644 --- a/src/web/app/desktop/tags/drive/file-contextmenu.tag +++ b/src/web/app/desktop/tags/drive/file-contextmenu.tag @@ -1,97 +1,103 @@ -mk-drive-browser-file-contextmenu - mk-contextmenu@ctx: ul - li(onclick={ parent.rename }): p - i.fa.fa-i-cursor - | 名前を変更 - li(onclick={ parent.copy-url }): p - i.fa.fa-link - | URLをコピー - li: a(href={ parent.file.url + '?download' }, download={ parent.file.name }, onclick={ parent.download }) - i.fa.fa-download - | ダウンロード - li.separator - li(onclick={ parent.delete }): p - i.fa.fa-trash-o - | 削除 - li.separator - li.has-child - p - | その他... - i.fa.fa-caret-right - ul - li(onclick={ parent.set-avatar }): p - | アバターに設定 - li(onclick={ parent.set-banner }): p - | バナーに設定 - li(onclick={ parent.set-wallpaper }): p - | 壁紙に設定 - li.has-child - p - | アプリで開く... - i.fa.fa-caret-right - ul - li(onclick={ parent.add-app }): p - | アプリを追加... + + +
    +
  • +

    名前を変更

    +
  • +
  • +

    URLをコピー

    +
  • +
  • ダウンロード
  • +
  • +
  • +

    削除

    +
  • +
  • +
  • +

    その他...

    +
      +
    • +

      アバターに設定

      +
    • +
    • +

      バナーに設定

      +
    • +
    • +

      壁紙に設定

      +
    • +
    +
  • +
  • +

    アプリで開く...

    +
      +
    • +

      アプリを追加...

      +
    • +
    +
  • +
+
+ +
diff --git a/src/web/app/desktop/tags/drive/file.tag b/src/web/app/desktop/tags/drive/file.tag index 1702bb6501..8daa54983d 100644 --- a/src/web/app/desktop/tags/drive/file.tag +++ b/src/web/app/desktop/tags/drive/file.tag @@ -1,207 +1,208 @@ -mk-drive-browser-file(data-is-selected={ (file._selected || false).toString() }, data-is-contextmenu-showing={ is-contextmenu-showing.toString() }, onclick={ onclick }, oncontextmenu={ oncontextmenu }, draggable='true', ondragstart={ ondragstart }, ondragend={ ondragend }, title={ title }) - div.label(if={ I.avatar_id == file.id }) - img(src='/_/resources/label.svg') - p アバター - div.label(if={ I.banner_id == file.id }) - img(src='/_/resources/label.svg') - p バナー - div.label(if={ I.data.wallpaper == file.id }) - img(src='/_/resources/label.svg') - p 壁紙 - div.thumbnail: img(src={ file.url + '?thumbnail&size=128' }, alt='') - p.name - span { file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name } - span.ext(if={ file.name.lastIndexOf('.') != -1 }) { file.name.substr(file.name.lastIndexOf('.')) } - -style. - display block - margin 4px - padding 8px 0 0 0 - width 144px - height 180px - border-radius 4px - - &, * - cursor pointer - - &:hover - background rgba(0, 0, 0, 0.05) - - > .label - &:before - &:after - background #0b65a5 - - &:active - background rgba(0, 0, 0, 0.1) - - > .label - &:before - &:after - background #0b588c - - &[data-is-selected='true'] - background $theme-color - - &:hover - background lighten($theme-color, 10%) - - &:active - background darken($theme-color, 10%) - - > .label - &:before - &:after - display none - - > .name - color $theme-color-foreground - - &[data-is-contextmenu-showing='true'] - &:after - content "" - pointer-events none - position absolute - top -4px - right -4px - bottom -4px - left -4px - border 2px dashed rgba($theme-color, 0.3) + +
+

アバター

+
+
+

バナー

+
+
+

壁紙

+
+
+

{ file.name.lastIndexOf('.') != -1 ? file.name.substr(0, file.name.lastIndexOf('.')) : file.name }{ file.name.substr(file.name.lastIndexOf('.')) }

+ + +
diff --git a/src/web/app/desktop/tags/drive/folder-contextmenu.tag b/src/web/app/desktop/tags/drive/folder-contextmenu.tag index 67fb1047b7..eb50e51c68 100644 --- a/src/web/app/desktop/tags/drive/folder-contextmenu.tag +++ b/src/web/app/desktop/tags/drive/folder-contextmenu.tag @@ -1,62 +1,66 @@ -mk-drive-browser-folder-contextmenu - mk-contextmenu@ctx: ul - li(onclick={ parent.move }): p - i.fa.fa-arrow-right - | このフォルダへ移動 - li(onclick={ parent.new-window }): p - i.fa.fa-share-square-o - | 新しいウィンドウで表示 - li.separator - li(onclick={ parent.rename }): p - i.fa.fa-i-cursor - | 名前を変更 - li.separator - li(onclick={ parent.delete }): p - i.fa.fa-trash-o - | 削除 + + +
    +
  • +

    このフォルダへ移動

    +
  • +
  • +

    新しいウィンドウで表示

    +
  • +
  • +
  • +

    名前を変更

    +
  • +
  • +
  • +

    削除

    +
  • +
+
+ +
diff --git a/src/web/app/desktop/tags/drive/folder.tag b/src/web/app/desktop/tags/drive/folder.tag index 0f3b06d543..ddeb21027b 100644 --- a/src/web/app/desktop/tags/drive/folder.tag +++ b/src/web/app/desktop/tags/drive/folder.tag @@ -1,183 +1,184 @@ -mk-drive-browser-folder(data-is-contextmenu-showing={ is-contextmenu-showing.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.name - i.fa.fa-fw(class={ fa-folder-o: !hover, fa-folder-open-o: hover }) - | { folder.name } - -style. - display block - margin 4px - padding 8px - width 144px - height 64px - background lighten($theme-color, 95%) - border-radius 4px - - &, * - cursor pointer - - * - pointer-events none - - &:hover - background lighten($theme-color, 90%) - - &:active - background lighten($theme-color, 85%) - - &[data-is-contextmenu-showing='true'] - &[data-draghover='true'] - &:after - content "" - pointer-events none - position absolute - top -4px - right -4px - bottom -4px - left -4px - border 2px dashed rgba($theme-color, 0.3) + +

{ folder.name }

+ + +
diff --git a/src/web/app/desktop/tags/drive/nav-folder.tag b/src/web/app/desktop/tags/drive/nav-folder.tag index 398a26a80b..34d6efdf58 100644 --- a/src/web/app/desktop/tags/drive/nav-folder.tag +++ b/src/web/app/desktop/tags/drive/nav-folder.tag @@ -1,96 +1,97 @@ -mk-drive-browser-nav-folder(data-draghover={ draghover }, onclick={ onclick }, ondragover={ ondragover }, ondragenter={ ondragenter }, ondragleave={ ondragleave }, ondrop={ ondrop }) - i.fa.fa-cloud(if={ folder == null }) - span { folder == null ? 'ドライブ' : folder.name } +{ folder == null ? 'ドライブ' : folder.name } + + + diff --git a/src/web/app/desktop/tags/ellipsis-icon.tag b/src/web/app/desktop/tags/ellipsis-icon.tag index 5d18bc0473..34731bb797 100644 --- a/src/web/app/desktop/tags/ellipsis-icon.tag +++ b/src/web/app/desktop/tags/ellipsis-icon.tag @@ -1,34 +1,41 @@ -mk-ellipsis-icon - div - div - div + +
+
+
+ +
diff --git a/src/web/app/desktop/tags/follow-button.tag b/src/web/app/desktop/tags/follow-button.tag index 41bd1f0e12..300a5fe035 100644 --- a/src/web/app/desktop/tags/follow-button.tag +++ b/src/web/app/desktop/tags/follow-button.tag @@ -1,127 +1,124 @@ -mk-follow-button - button(if={ !init }, class={ wait: wait, follow: !user.is_following, unfollow: user.is_following }, - onclick={ onclick }, - disabled={ wait }, - title={ user.is_following ? 'フォロー解除' : 'フォローする' }) - i.fa.fa-minus(if={ !wait && user.is_following }) - i.fa.fa-plus(if={ !wait && !user.is_following }) - i.fa.fa-spinner.fa-pulse.fa-fw(if={ wait }) - div.init(if={ init }): i.fa.fa-spinner.fa-pulse.fa-fw + + +
+ + +
diff --git a/src/web/app/desktop/tags/following-setuper.tag b/src/web/app/desktop/tags/following-setuper.tag index 9b75a251e0..6e8e40a2b1 100644 --- a/src/web/app/desktop/tags/following-setuper.tag +++ b/src/web/app/desktop/tags/following-setuper.tag @@ -1,163 +1,163 @@ -mk-following-setuper - p.title 気になるユーザーをフォロー: - div.users(if={ !loading && users.length > 0 }) - div.user(each={ users }) - a.avatar-anchor(href={ CONFIG.url + '/' + username }) - img.avatar(src={ avatar_url + '?thumbnail&size=42' }, alt='', data-user-preview={ id }) - div.body - a.name(href={ CONFIG.url + '/' + username }, target='_blank', data-user-preview={ id }) { name } - p.username @{ username } - mk-follow-button(user={ this }) - p.empty(if={ !loading && users.length == 0 }) - | おすすめのユーザーは見つかりませんでした。 - p.loading(if={ loading }) - i.fa.fa-spinner.fa-pulse.fa-fw - | 読み込んでいます - mk-ellipsis - a.refresh(onclick={ refresh }) もっと見る - button.close(onclick={ close }, title='閉じる'): i.fa.fa-times - -style. - display block - padding 24px - background #fff - - > .title - margin 0 0 12px 0 - font-size 1em - font-weight bold - color #888 - - > .users - &:after - content "" + +

気になるユーザーをフォロー:

+
+
+
{ name } +

@{ username }

+
+ +
+
+

おすすめのユーザーは見つかりませんでした。

+

読み込んでいます + +

もっと見る + + + +
diff --git a/src/web/app/desktop/tags/go-top.tag b/src/web/app/desktop/tags/go-top.tag index a11f4a3640..d43e68ea90 100644 --- a/src/web/app/desktop/tags/go-top.tag +++ b/src/web/app/desktop/tags/go-top.tag @@ -1,15 +1,14 @@ -mk-go-top - button.hidden(title='一番上へ') - i.fa.fa-angle-up + + + + diff --git a/src/web/app/desktop/tags/home-widgets/broadcast.tag b/src/web/app/desktop/tags/home-widgets/broadcast.tag index 0e21adec48..dda71218ab 100644 --- a/src/web/app/desktop/tags/home-widgets/broadcast.tag +++ b/src/web/app/desktop/tags/home-widgets/broadcast.tag @@ -1,75 +1,83 @@ -mk-broadcast-home-widget - div.icon - svg(height='32', version='1.1', viewBox='0 0 32 32', width='32') - path.tower(d='M16.04,11.24c1.79,0,3.239-1.45,3.239-3.24S17.83,4.76,16.04,4.76c-1.79,0-3.24,1.45-3.24,3.24 C12.78,9.78,14.24,11.24,16.04,11.24z M16.04,13.84c-0.82,0-1.66-0.2-2.4-0.6L7.34,29.98h2.98l1.72-2h8l1.681,2H24.7L18.42,13.24 C17.66,13.64,16.859,13.84,16.04,13.84z M16.02,14.8l2.02,7.2h-4L16.02,14.8z M12.04,25.98l2-2h4l2,2H12.04z') - path.wave.a(d='M4.66,1.04c-0.508-0.508-1.332-0.508-1.84,0c-1.86,1.92-2.8,4.44-2.8,6.94c0,2.52,0.94,5.04,2.8,6.96 c0.5,0.52,1.32,0.52,1.82,0s0.5-1.36,0-1.88C3.28,11.66,2.6,9.82,2.6,7.98S3.28,4.3,4.64,2.9C5.157,2.391,5.166,1.56,4.66,1.04z') - path.wave.b(d='M9.58,12.22c0.5-0.5,0.5-1.34,0-1.84C8.94,9.72,8.62,8.86,8.62,8s0.32-1.72,0.96-2.38c0.5-0.52,0.5-1.34,0-1.84 C9.346,3.534,9.02,3.396,8.68,3.4c-0.32,0-0.66,0.12-0.9,0.38C6.64,4.94,6.08,6.48,6.08,8s0.58,3.06,1.7,4.22 C8.28,12.72,9.1,12.72,9.58,12.22z') - path.wave.c(d='M22.42,3.78c-0.5,0.5-0.5,1.34,0,1.84c0.641,0.66,0.96,1.52,0.96,2.38s-0.319,1.72-0.96,2.38c-0.5,0.52-0.5,1.34,0,1.84 c0.487,0.497,1.285,0.505,1.781,0.018c0.007-0.006,0.013-0.012,0.02-0.018c1.139-1.16,1.699-2.7,1.699-4.22s-0.561-3.06-1.699-4.22 c-0.494-0.497-1.297-0.5-1.794-0.007C22.424,3.775,22.422,3.778,22.42,3.78z') - path.wave.d(d='M29.18,1.06c-0.479-0.502-1.273-0.522-1.775-0.044c-0.016,0.015-0.029,0.029-0.045,0.044c-0.5,0.52-0.5,1.36,0,1.88 c1.361,1.4,2.041,3.24,2.041,5.08s-0.68,3.66-2.041,5.08c-0.5,0.52-0.5,1.36,0,1.88c0.509,0.508,1.332,0.508,1.841,0 c1.86-1.92,2.8-4.44,2.8-6.96C31.99,5.424,30.98,2.931,29.18,1.06z') + +
+ + + + + + + +
+

開発者募集中!

+

Misskeyはオープンソースで開発されています。リポジトリはこちら。

+ +
diff --git a/src/web/app/desktop/tags/home-widgets/calendar.tag b/src/web/app/desktop/tags/home-widgets/calendar.tag index 87c65729d3..affa55c96b 100644 --- a/src/web/app/desktop/tags/home-widgets/calendar.tag +++ b/src/web/app/desktop/tags/home-widgets/calendar.tag @@ -1,147 +1,148 @@ -mk-calendar-home-widget(data-special={ special }) - div.calendar(data-is-holiday={ is-holiday }) - p.month-and-year - span.year { year }年 - span.month { month }月 - p.day { day }日 - p.week-day { week-day }曜日 - div.info - div - p - | 今日: - b { day-p.to-fixed(1) }% - div.meter - div.val(style={ 'width:' + day-p + '%' }) + +
+

{ year }年{ month }月

+

{ day }日

+

{ weekDay }曜日

+
+
+
+

今日:{ dayP.toFixed(1) }%

+
+
+
+
+
+

今月:{ monthP.toFixed(1) }%

+
+
+
+
+
+

今年:{ yearP.toFixed(1) }%

+
+
+
+
+
+ + +
diff --git a/src/web/app/desktop/tags/home-widgets/donation.tag b/src/web/app/desktop/tags/home-widgets/donation.tag index a41bd9f8a4..01d9b20ea2 100644 --- a/src/web/app/desktop/tags/home-widgets/donation.tag +++ b/src/web/app/desktop/tags/home-widgets/donation.tag @@ -1,37 +1,36 @@ -mk-donation-home-widget - article - h1 - i.fa.fa-heart - | 寄付のお願い - p - | Misskeyの運営にはドメイン、サーバー等のコストが掛かります。 - | Misskeyは広告を掲載したりしないため、 収入を皆様からの寄付に頼っています。 - | もしご興味があれば、 - a(href='/syuilo', data-user-preview='@syuilo') @syuilo - | までご連絡ください。ご協力ありがとうございます。 - -style. - display block - background #fff - border-color #ead8bb !important - - > article - padding 20px - - > h1 - margin 0 0 5px 0 - font-size 1em - color #888 - - > i - margin-right 0.25em - - > p + +
+

寄付のお願い

+

+ Misskeyの運営にはドメイン、サーバー等のコストが掛かります。 + Misskeyは広告を掲載したりしないため、 収入を皆様からの寄付に頼っています。 + もしご興味があれば、@syuiloまでご連絡ください。ご協力ありがとうございます。 +

+
+ + +
diff --git a/src/web/app/desktop/tags/home-widgets/mentions.tag b/src/web/app/desktop/tags/home-widgets/mentions.tag index 0f0cd0269d..81ceff6179 100644 --- a/src/web/app/desktop/tags/home-widgets/mentions.tag +++ b/src/web/app/desktop/tags/home-widgets/mentions.tag @@ -1,117 +1,112 @@ -mk-mentions-home-widget - header - span(data-is-active={ mode == 'all' }, onclick={ set-mode.bind(this, 'all') }) すべて - span(data-is-active={ mode == 'following' }, onclick={ set-mode.bind(this, 'following') }) フォロー中 - div.loading(if={ is-loading }) - mk-ellipsis-icon - p.empty(if={ is-empty }) - i.fa.fa-comments-o - span(if={ mode == 'all' }) あなた宛ての投稿はありません。 - span(if={ mode == 'following' }) あなたがフォローしているユーザーからの言及はありません。 - mk-timeline@timeline - - i.fa.fa-moon-o(if={ !parent.more-loading }) - i.fa.fa-spinner.fa-pulse.fa-fw(if={ parent.more-loading }) - - -style. - display block - background #fff - - > header - padding 8px 16px - border-bottom solid 1px #eee - - > span - margin-right 16px - line-height 27px - font-size 18px - color #555 - - &:not([data-is-active]) - color $theme-color - cursor pointer - - &:hover - text-decoration underline - - > .loading - padding 64px 0 - - > .empty - display block - margin 0 auto - padding 32px - max-width 400px - text-align center - color #999 - - > i + +
すべてフォロー中
+
+ +
+

あなた宛ての投稿はありません。あなたがフォローしているユーザーからの言及はありません。

+ + + +
diff --git a/src/web/app/desktop/tags/home-widgets/nav.tag b/src/web/app/desktop/tags/home-widgets/nav.tag index 5b8e7e1b3c..7e153bc234 100644 --- a/src/web/app/desktop/tags/home-widgets/nav.tag +++ b/src/web/app/desktop/tags/home-widgets/nav.tag @@ -1,23 +1,21 @@ -mk-nav-home-widget - a(href={ CONFIG.urls.about }) Misskeyについて - i ・ - a(href={ CONFIG.urls.about + '/status' }) ステータス - i ・ - a(href='https://github.com/syuilo/misskey') リポジトリ - i ・ - a(href={ CONFIG.urls.dev }) 開発者 - i ・ - a(href='https://twitter.com/misskey_xyz', target='_blank') Follow us on +Misskeyについてステータスリポジトリ開発者Follow us on + + diff --git a/src/web/app/desktop/tags/home-widgets/notifications.tag b/src/web/app/desktop/tags/home-widgets/notifications.tag index 588a765d02..43baa01439 100644 --- a/src/web/app/desktop/tags/home-widgets/notifications.tag +++ b/src/web/app/desktop/tags/home-widgets/notifications.tag @@ -1,49 +1,50 @@ -mk-notifications-home-widget - p.title - i.fa.fa-bell-o - | 通知 - button(onclick={ settings }, title='通知の設定'): i.fa.fa-cog - mk-notifications + +

通知

+ + + + +
diff --git a/src/web/app/desktop/tags/home-widgets/photo-stream.tag b/src/web/app/desktop/tags/home-widgets/photo-stream.tag index b972706574..245427badf 100644 --- a/src/web/app/desktop/tags/home-widgets/photo-stream.tag +++ b/src/web/app/desktop/tags/home-widgets/photo-stream.tag @@ -1,86 +1,87 @@ -mk-photo-stream-home-widget - p.title - i.fa.fa-camera - | フォトストリーム - p.initializing(if={ initializing }) - i.fa.fa-spinner.fa-pulse.fa-fw - | 読み込んでいます - mk-ellipsis - div.stream(if={ !initializing && images.length > 0 }) - virtual(each={ image in images }) - div.img(style={ 'background-image: url(' + image.url + '?thumbnail&size=256)' }) - p.empty(if={ !initializing && images.length == 0 }) - | 写真はありません + +

フォトストリーム

+

読み込んでいます + +

+
+ +
+
+
+

写真はありません

+ + +
diff --git a/src/web/app/desktop/tags/home-widgets/profile.tag b/src/web/app/desktop/tags/home-widgets/profile.tag index ae8d43c645..24a0035c4c 100644 --- a/src/web/app/desktop/tags/home-widgets/profile.tag +++ b/src/web/app/desktop/tags/home-widgets/profile.tag @@ -1,55 +1,56 @@ -mk-profile-home-widget - div.banner(style={ I.banner_url ? 'background-image: url(' + I.banner_url + '?thumbnail&size=256)' : '' }, onclick={ set-banner }) - img.avatar(src={ I.avatar_url + '?thumbnail&size=64' }, onclick={ set-avatar }, alt='avatar', data-user-preview={ I.id }) - a.name(href={ CONFIG.url + '/' + I.username }) { I.name } - p.username @{ I.username } + + avatar{ I.name } +

@{ I.username }

+ + +
diff --git a/src/web/app/desktop/tags/home-widgets/rss-reader.tag b/src/web/app/desktop/tags/home-widgets/rss-reader.tag index b9095fb2d2..bfd9d32e52 100644 --- a/src/web/app/desktop/tags/home-widgets/rss-reader.tag +++ b/src/web/app/desktop/tags/home-widgets/rss-reader.tag @@ -1,94 +1,94 @@ -mk-rss-reader-home-widget - p.title - i.fa.fa-rss-square - | RSS - button(onclick={ settings }, title='設定'): i.fa.fa-cog - div.feed(if={ !initializing }) - virtual(each={ item in items }) - a(href={ item.link }, target='_blank') { item.title } - p.initializing(if={ initializing }) - i.fa.fa-spinner.fa-pulse.fa-fw - | 読み込んでいます - mk-ellipsis - -style. - display block - background #fff - - > .title - margin 0 - padding 0 16px - line-height 42px - font-size 0.9em - font-weight bold - color #888 - box-shadow 0 1px rgba(0, 0, 0, 0.07) - - > i - margin-right 4px - - > button - position absolute - top 0 - right 0 - padding 0 - width 42px - font-size 0.9em - line-height 42px - color #ccc - - &:hover - color #aaa - - &:active - color #999 - - > .feed - padding 12px 16px - font-size 0.9em - - > a + +

RSS

+ + +

読み込んでいます + +

+ + +
diff --git a/src/web/app/desktop/tags/home-widgets/timeline.tag b/src/web/app/desktop/tags/home-widgets/timeline.tag index ea2746d1ed..2bd9d104da 100644 --- a/src/web/app/desktop/tags/home-widgets/timeline.tag +++ b/src/web/app/desktop/tags/home-widgets/timeline.tag @@ -1,113 +1,111 @@ -mk-timeline-home-widget - mk-following-setuper(if={ no-following }) - div.loading(if={ is-loading }) - mk-ellipsis-icon - p.empty(if={ is-empty }) - i.fa.fa-comments-o - | 自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。 - mk-timeline@timeline - - i.fa.fa-moon-o(if={ !parent.more-loading }) - i.fa.fa-spinner.fa-pulse.fa-fw(if={ parent.more-loading }) - - -style. - display block - background #fff - - > mk-following-setuper - border-bottom solid 1px #eee - - > .loading - padding 64px 0 - - > .empty - display block - margin 0 auto - padding 32px - max-width 400px - text-align center - color #999 - - > i + + +
+ +
+

自分の投稿や、自分がフォローしているユーザーの投稿が表示されます。

+ + + +
diff --git a/src/web/app/desktop/tags/home-widgets/tips.tag b/src/web/app/desktop/tags/home-widgets/tips.tag index 9c1aa33ec0..d85da0d295 100644 --- a/src/web/app/desktop/tags/home-widgets/tips.tag +++ b/src/web/app/desktop/tags/home-widgets/tips.tag @@ -1,70 +1,71 @@ -mk-tips-home-widget - p@tip - i.fa.fa-lightbulb-o - span@text + +

+ + +
diff --git a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag b/src/web/app/desktop/tags/home-widgets/user-recommendation.tag index bfb90da065..bcf770ddab 100644 --- a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag +++ b/src/web/app/desktop/tags/home-widgets/user-recommendation.tag @@ -1,154 +1,152 @@ -mk-user-recommendation-home-widget - p.title - i.fa.fa-users - | おすすめユーザー - button(onclick={ refresh }, title='他を見る'): i.fa.fa-refresh - div.user(if={ !loading && users.length != 0 }, each={ _user in users }) - a.avatar-anchor(href={ CONFIG.url + '/' + _user.username }) - img.avatar(src={ _user.avatar_url + '?thumbnail&size=42' }, alt='', data-user-preview={ _user.id }) - div.body - a.name(href={ CONFIG.url + '/' + _user.username }, data-user-preview={ _user.id }) { _user.name } - p.username @{ _user.username } - mk-follow-button(user={ _user }) - p.empty(if={ !loading && users.length == 0 }) - | いません! - p.loading(if={ loading }) - i.fa.fa-spinner.fa-pulse.fa-fw - | 読み込んでいます - mk-ellipsis - -style. - display block - background #fff - - > .title - margin 0 - padding 0 16px - line-height 42px - font-size 0.9em - font-weight bold - color #888 - border-bottom solid 1px #eee - - > i - margin-right 4px - - > button - position absolute - z-index 2 - top 0 - right 0 - padding 0 - width 42px - font-size 0.9em - line-height 42px - color #ccc - - &:hover - color #aaa - - &:active - color #999 - - > .user - padding 16px - border-bottom solid 1px #eee - - &:last-child - border-bottom none - - &:after - content "" + +

おすすめユーザー

+ +
+
{ _user.name } +

@{ _user.username }

+
+ +
+

いません!

+

読み込んでいます + +

+ + +
diff --git a/src/web/app/desktop/tags/home.tag b/src/web/app/desktop/tags/home.tag index 1ae856a6b2..6d4a308ac2 100644 --- a/src/web/app/desktop/tags/home.tag +++ b/src/web/app/desktop/tags/home.tag @@ -1,86 +1,91 @@ -mk-home - div.main - div.left@left - main - mk-timeline-home-widget@tl(if={ mode == 'timeline' }) - mk-mentions-home-widget@tl(if={ mode == 'mentions' }) - div.right@right - mk-detect-slow-internet-connection-notice - -style. - display block - - > .main - margin 0 auto - max-width 1200px - - &:after - content "" + +
+
+
+ + +
+
+
+ + + +
diff --git a/src/web/app/desktop/tags/image-dialog.tag b/src/web/app/desktop/tags/image-dialog.tag index 6a3885d7c7..41ec876621 100644 --- a/src/web/app/desktop/tags/image-dialog.tag +++ b/src/web/app/desktop/tags/image-dialog.tag @@ -1,73 +1,75 @@ -mk-image-dialog - div.bg@bg(onclick={ close }) - img@img(src={ image.url }, alt={ image.name }, title={ image.name }, onclick={ close }) + +
{ image.name } + + +
diff --git a/src/web/app/desktop/tags/images-viewer.tag b/src/web/app/desktop/tags/images-viewer.tag index a9939d67c4..c08c8d6926 100644 --- a/src/web/app/desktop/tags/images-viewer.tag +++ b/src/web/app/desktop/tags/images-viewer.tag @@ -1,43 +1,45 @@ -mk-images-viewer - div.image@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 }) - -style. - display block - padding 8px - overflow hidden - box-shadow 0 0 4px rgba(0, 0, 0, 0.2) - border-radius 4px - - > .image - cursor zoom-in - - > img + +
{ image.name }
+ + +
diff --git a/src/web/app/desktop/tags/input-dialog.tag b/src/web/app/desktop/tags/input-dialog.tag index 62ec4f5177..a71ee58623 100644 --- a/src/web/app/desktop/tags/input-dialog.tag +++ b/src/web/app/desktop/tags/input-dialog.tag @@ -1,156 +1,157 @@ -mk-input-dialog - mk-window@window(is-modal={ true }, width={ '500px' }) - - i.fa.fa-i-cursor - | { parent.title } - - - div.body - input@text(oninput={ parent.update }, onkeydown={ parent.on-keydown }, placeholder={ parent.placeholder }) - div.action - button.cancel(onclick={ parent.cancel }) キャンセル - button.ok(disabled={ !parent.allow-empty && refs.text.value.length == 0 }, onclick={ parent.ok }) 決定 - + + { parent.title } + +
+ +
+
+ + +
+
+ + +
diff --git a/src/web/app/desktop/tags/list-user.tag b/src/web/app/desktop/tags/list-user.tag index 1058de22e0..ecf1e04d2e 100644 --- a/src/web/app/desktop/tags/list-user.tag +++ b/src/web/app/desktop/tags/list-user.tag @@ -1,100 +1,98 @@ -mk-list-user - a.avatar-anchor(href={ CONFIG.url + '/' + user.username }) - img.avatar(src={ user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.main - header - div.left - a.name(href={ CONFIG.url + '/' + user.username }) - | { user.name } - span.username - | @{ user.username } - div.body - p.followed(if={ user.is_followed }) フォローされています - div.bio { user.bio } - mk-follow-button(user={ user }) - -style. - display block - margin 0 - padding 16px - font-size 16px - - &:after - content "" - display block - clear both - - > .avatar-anchor - display block - float left - margin 0 16px 0 0 - - > .avatar +avatar +
+
+
{ user.name }@{ user.username }
+
+
+

フォローされています

+
{ user.bio }
+
+
+ + + +
diff --git a/src/web/app/desktop/tags/messaging/form.tag b/src/web/app/desktop/tags/messaging/form.tag index 12eb0cb40f..b521eb2fd3 100644 --- a/src/web/app/desktop/tags/messaging/form.tag +++ b/src/web/app/desktop/tags/messaging/form.tag @@ -1,162 +1,161 @@ -mk-messaging-form - textarea@text(onkeypress={ onkeypress }, onpaste={ onpaste }, placeholder='ここにメッセージを入力') - div.files - mk-uploader@uploader - button.send(onclick={ send }, disabled={ sending }, title='メッセージを送信') - i.fa.fa-paper-plane(if={ !sending }) - i.fa.fa-spinner.fa-spin(if={ sending }) - button.attach-from-local(type='button', title='PCから画像を添付する') - i.fa.fa-upload - button.attach-from-drive(type='button', title='アルバムから画像を添付する') - i.fa.fa-folder-open - input(name='file', type='file', accept='image/*') - -style. - display block - - > textarea - cursor auto - display block - width 100% - min-width 100% - max-width 100% - height 64px - margin 0 - padding 8px - font-size 1em - color #000 - outline none - border none - border-top solid 1px #eee - border-radius 0 - box-shadow none - background transparent - - > .send - position absolute - bottom 0 - right 0 - margin 0 - padding 10px 14px - line-height 1em - font-size 1em - color #aaa - transition color 0.1s ease - - &:hover - color $theme-color - - &:active - color darken($theme-color, 10%) - transition color 0s ease - - .files - display block - margin 0 - padding 0 8px - list-style none - - &:after - content '' + + +
+ + + + + + + +
diff --git a/src/web/app/desktop/tags/messaging/index.tag b/src/web/app/desktop/tags/messaging/index.tag index 9f57500b83..eeb92fc3f0 100644 --- a/src/web/app/desktop/tags/messaging/index.tag +++ b/src/web/app/desktop/tags/messaging/index.tag @@ -1,302 +1,301 @@ -mk-messaging - div.search - div.form - label(for='search-input') - i.fa.fa-search - input@search-input(type='search', oninput={ search }, placeholder='ユーザーを探す') - div.result - ol.users(if={ search-result.length > 0 }) - li(each={ user in search-result }) - a(onclick={ user._click }) - img.avatar(src={ user.avatar_url + '?thumbnail&size=32' }, alt='') - span.name { user.name } - span.username @{ user.username } - div.main - div.history(if={ history.length > 0 }) - virtual(each={ history }) - a.user(data-is-me={ is_me }, data-is-read={ is_read }, onclick={ _click }): div - img.avatar(src={ (is_me ? recipient.avatar_url : user.avatar_url) + '?thumbnail&size=64' }, alt='') - header - span.name { is_me ? recipient.name : user.name } - span.username { '@' + (is_me ? recipient.username : user.username ) } - mk-time(time={ created_at }) - div.body - p.text - span.me(if={ is_me }) あなた: - | { text } - p.no-history(if={ history.length == 0 }) - | 履歴はありません。 - br - | ユーザーを検索して、いつでもメッセージを送受信できます。 + + +
+ +

履歴はありません。
ユーザーを検索して、いつでもメッセージを送受信できます。

+
+ + +
diff --git a/src/web/app/desktop/tags/messaging/message.tag b/src/web/app/desktop/tags/messaging/message.tag index d7a2cc32a6..517689d132 100644 --- a/src/web/app/desktop/tags/messaging/message.tag +++ b/src/web/app/desktop/tags/messaging/message.tag @@ -1,227 +1,230 @@ -mk-messaging-message(data-is-me={ message.is_me }) - a.avatar-anchor(href={ CONFIG.url + '/' + message.user.username }, title={ message.user.username }, target='_blank') - img.avatar(src={ message.user.avatar_url + '?thumbnail&size=64' }, alt='') - div.content-container - div.balloon - p.read(if={ message.is_me && message.is_read }) 既読 - button.delete-button(if={ message.is_me }, title='メッセージを削除') - img(src='/_/resources/desktop/messaging/delete.png', alt='Delete') - div.content(if={ !message.is_deleted }) - div@text - div.image(if={ message.file }) - img(src={ message.file.url }, alt='image', title={ message.file.name }) - div.content(if={ message.is_deleted }) - p.is-deleted このメッセージは削除されました - footer - mk-time(time={ message.created_at }) - i.fa.fa-pencil.is-edited(if={ message.is_edited }) + +
+
+

既読

+ +
+
+
image
+
+
+

このメッセージは削除されました

+
+
+
+ +
+
+ + +
diff --git a/src/web/app/desktop/tags/messaging/room-window.tag b/src/web/app/desktop/tags/messaging/room-window.tag index 673b11419a..46a2297f2a 100644 --- a/src/web/app/desktop/tags/messaging/room-window.tag +++ b/src/web/app/desktop/tags/messaging/room-window.tag @@ -1,26 +1,25 @@ -mk-messaging-room-window - mk-window@window(is-modal={ false }, width={ '500px' }, height={ '560px' }) - - i.fa.fa-comments - | メッセージ: { parent.user.name } - - - mk-messaging-room(user={ parent.user }) - + + メッセージ: { parent.user.name } + + + + + + diff --git a/src/web/app/desktop/tags/messaging/room.tag b/src/web/app/desktop/tags/messaging/room.tag index ca396d7418..929e62fc3a 100644 --- a/src/web/app/desktop/tags/messaging/room.tag +++ b/src/web/app/desktop/tags/messaging/room.tag @@ -1,227 +1,227 @@ -mk-messaging-room - div.stream@stream - p.initializing(if={ init }) - i.fa.fa-spinner.fa-spin - | 読み込み中 - p.empty(if={ !init && messages.length == 0 }) - i.fa.fa-info-circle - | このユーザーとまだ会話したことがありません - virtual(each={ message, i in messages }) - mk-messaging-message(message={ message }) - p.date(if={ i != messages.length - 1 && message._date != messages[i + 1]._date }) - span { messages[i + 1]._datetext } - - div.typings - footer - div@notifications - div.grippie(title='ドラッグしてフォームの広さを調整') - mk-messaging-form(user={ user }) - -style. - display block - - > .stream - position absolute - top 0 - left 0 - width 100% - height calc(100% - 100px) - overflow auto - - > .empty - width 100% - margin 0 - padding 16px 8px 8px 8px - text-align center - font-size 0.8em - color rgba(0, 0, 0, 0.4) - - i - margin-right 4px - - > .no-history + +
+

読み込み中

+

このユーザーとまだ会話したことがありません

+ + +

{ messages[i + 1]._datetext }

+
+
+
+
+
+
+ +
+ + +
diff --git a/src/web/app/desktop/tags/messaging/window.tag b/src/web/app/desktop/tags/messaging/window.tag index b6979b6244..17ebfd2280 100644 --- a/src/web/app/desktop/tags/messaging/window.tag +++ b/src/web/app/desktop/tags/messaging/window.tag @@ -1,29 +1,28 @@ -mk-messaging-window - mk-window@window(is-modal={ false }, width={ '500px' }, height={ '560px' }) - - i.fa.fa-comments - | メッセージ - - - mk-messaging@index - + + メッセージ + + + + + + diff --git a/src/web/app/desktop/tags/notifications.tag b/src/web/app/desktop/tags/notifications.tag index d47815a89b..b8f03fb6f2 100644 --- a/src/web/app/desktop/tags/notifications.tag +++ b/src/web/app/desktop/tags/notifications.tag @@ -1,226 +1,199 @@ -mk-notifications - div.notifications(if={ notifications.length != 0 }) - virtual(each={ notification, i in notifications }) - div.notification(class={ notification.type }) - mk-time(time={ notification.created_at }) + + +

ありません!

+

読み込んでいます + +

+ + +
diff --git a/src/web/app/desktop/tags/pages/entrance.tag b/src/web/app/desktop/tags/pages/entrance.tag index 5e18f616a3..4e1c5277a3 100644 --- a/src/web/app/desktop/tags/pages/entrance.tag +++ b/src/web/app/desktop/tags/pages/entrance.tag @@ -1,77 +1,80 @@ -mk-entrance - main - img(src='/_/resources/title.svg', alt='Misskey') - - mk-entrance-signin(if={ mode == 'signin' }) - mk-entrance-signup(if={ mode == 'signup' }) - div.introduction(if={ mode == 'introduction' }) - mk-introduction - button(onclick={ signin }) わかった - - mk-forkit - - footer - mk-copyright - - // ↓ https://github.com/riot/riot/issues/2134 (将来的) - style(data-disable-scope). + +
Misskey + + +
+ + +
+
+ +
+ +
+ + + + +
diff --git a/src/web/app/desktop/tags/pages/entrance/signin.tag b/src/web/app/desktop/tags/pages/entrance/signin.tag index 8ff39bc296..26bdb6898a 100644 --- a/src/web/app/desktop/tags/pages/entrance/signin.tag +++ b/src/web/app/desktop/tags/pages/entrance/signin.tag @@ -1,128 +1,130 @@ -mk-entrance-signin - a.help(href={ CONFIG.urls.about + '/help' }, title='お困りですか?'): i.fa.fa-question - div.form - h1 - img(if={ user }, src={ user.avatar_url + '?thumbnail&size=32' }) - p { user ? user.name : 'アカウント' } - mk-signin@signin - div.divider: span or - button.signup(onclick={ parent.signup }) 新規登録 - a.introduction(onclick={ introduction }) Misskeyについて - -style. - display block - width 290px - margin 0 auto - text-align center - - &:hover - > .help - opacity 1 - - > .help - cursor pointer - display block - position absolute - top 0 - right 0 - z-index 1 - margin 0 - padding 0 - font-size 1.2em - color #999 - border none - outline none - background transparent - opacity 0 - transition opacity 0.1s ease - - &:hover - color #444 - - &:active - color #222 - - > i - padding 14px - - > .form - padding 10px 28px 16px 28px - background #fff - box-shadow 0px 4px 16px rgba(0, 0, 0, 0.2) - - > h1 + +
+

+

{ user ? user.name : 'アカウント' }

+

+ +
+
or
+ Misskeyについて + + +
diff --git a/src/web/app/desktop/tags/pages/entrance/signup.tag b/src/web/app/desktop/tags/pages/entrance/signup.tag index 1b585f7000..2452b7d793 100644 --- a/src/web/app/desktop/tags/pages/entrance/signup.tag +++ b/src/web/app/desktop/tags/pages/entrance/signup.tag @@ -1,44 +1,51 @@ -mk-entrance-signup - mk-signup - button.cancel(type='button', onclick={ parent.signin }, title='キャンセル'): i.fa.fa-times + + + + + diff --git a/src/web/app/desktop/tags/pages/home.tag b/src/web/app/desktop/tags/pages/home.tag index 5d419a5802..3a0e713d30 100644 --- a/src/web/app/desktop/tags/pages/home.tag +++ b/src/web/app/desktop/tags/pages/home.tag @@ -1,51 +1,56 @@ -mk-home-page - mk-ui@ui(page={ page }): mk-home@home(mode={ parent.opts.mode }) + + + + + + + diff --git a/src/web/app/desktop/tags/pages/not-found.tag b/src/web/app/desktop/tags/pages/not-found.tag index fe23cc6fa4..e3db8c0f70 100644 --- a/src/web/app/desktop/tags/pages/not-found.tag +++ b/src/web/app/desktop/tags/pages/not-found.tag @@ -1,46 +1,54 @@ -mk-not-found - mk-ui - main - h1 Not Found - img(src='/_/resources/rogge.jpg', alt='') - div.mask - -style. - display block - - main - display block - width 600px - margin 32px auto - - > img + + +
+

Not Found

+
+
+
+ +
diff --git a/src/web/app/desktop/tags/pages/post.tag b/src/web/app/desktop/tags/pages/post.tag index 81ab9ce006..f355770d38 100644 --- a/src/web/app/desktop/tags/pages/post.tag +++ b/src/web/app/desktop/tags/pages/post.tag @@ -1,25 +1,32 @@ -mk-post-page - mk-ui@ui: main: mk-post-detail@detail(post={ parent.post }) + + +
+ +
+
+ + +
diff --git a/src/web/app/desktop/tags/pages/search.tag b/src/web/app/desktop/tags/pages/search.tag index a7878ddc0f..a3b3bafd99 100644 --- a/src/web/app/desktop/tags/pages/search.tag +++ b/src/web/app/desktop/tags/pages/search.tag @@ -1,14 +1,19 @@ -mk-search-page - mk-ui@ui: mk-search@search(query={ parent.opts.query }) + + + + + + + diff --git a/src/web/app/desktop/tags/pages/user.tag b/src/web/app/desktop/tags/pages/user.tag index d41093c298..d6587e8132 100644 --- a/src/web/app/desktop/tags/pages/user.tag +++ b/src/web/app/desktop/tags/pages/user.tag @@ -1,20 +1,25 @@ -mk-user-page - mk-ui@ui: mk-user@user(user={ parent.user }, page={ parent.opts.page }) + + + + + + + diff --git a/src/web/app/desktop/tags/post-detail-sub.tag b/src/web/app/desktop/tags/post-detail-sub.tag index b7aa745737..8b6411c12a 100644 --- a/src/web/app/desktop/tags/post-detail-sub.tag +++ b/src/web/app/desktop/tags/post-detail-sub.tag @@ -1,141 +1,140 @@ -mk-post-detail-sub(title={ title }) - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }) - img.avatar(src={ post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar', data-user-preview={ post.user_id }) - div.main - header - div.left - a.name(href={ CONFIG.url + '/' + post.user.username }, data-user-preview={ post.user_id }) - | { post.user.name } - span.username - | @{ post.user.username } - div.right - a.time(href={ url }) - mk-time(time={ post.created_at }) - div.body - div.text@text - div.media(if={ post.media }) - virtual(each={ file in post.media }) - img(src={ file.url + '?thumbnail&size=512' }, alt={ file.name }, title={ file.name }) - -style. - display block - margin 0 - padding 20px 32px - background #fdfdfd - - &:after - content "" - display block - clear both - - &:hover - > .main > footer > button - color #888 - - > .avatar-anchor - display block - float left - margin 0 16px 0 0 - - > .avatar +avatar +
+
+
{ post.user.name }@{ post.user.username }
+ +
+
+
+
+ { file.name } +
+
+
+ + +
diff --git a/src/web/app/desktop/tags/post-detail.tag b/src/web/app/desktop/tags/post-detail.tag index e071b7c704..c395a44328 100644 --- a/src/web/app/desktop/tags/post-detail.tag +++ b/src/web/app/desktop/tags/post-detail.tag @@ -1,415 +1,409 @@ -mk-post-detail(title={ title }) - - div.fetching(if={ fetching }) - mk-ellipsis-icon - - div.main(if={ !fetching }) - - button.read-more(if={ p.reply_to && p.reply_to.reply_to_id && context == null }, title='会話をもっと読み込む', onclick={ load-context }, disabled={ loading-context }) - i.fa.fa-ellipsis-v(if={ !loading-context }) - i.fa.fa-spinner.fa-pulse(if={ loading-context }) - - div.context - virtual(each={ post in context }) - mk-post-detail-sub(post={ post }) - - div.reply-to(if={ p.reply_to }) - mk-post-detail-sub(post={ p.reply_to }) - - div.repost(if={ is-repost }) - p - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }, data-user-preview={ post.user_id }): img.avatar(src={ post.user.avatar_url + '?thumbnail&size=32' }, alt='avatar') - i.fa.fa-retweet - a.name(href={ CONFIG.url + '/' + post.user.username }) { post.user.name } - | がRepost - - article - a.avatar-anchor(href={ CONFIG.url + '/' + p.user.username }) - img.avatar(src={ p.user.avatar_url + '?thumbnail&size=64' }, alt='avatar', data-user-preview={ p.user.id }) - header - a.name(href={ CONFIG.url + '/' + p.user.username }, data-user-preview={ p.user.id }) - | { p.user.name } - span.username - | @{ p.user.username } - a.time(href={ url }) - mk-time(time={ p.created_at }) - div.body - div.text@text - div.media(if={ p.media }) - virtual(each={ file in p.media }) - img(src={ file.url + '?thumbnail&size=512' }, alt={ file.name }, title={ file.name }) - footer - button(onclick={ reply }, title='返信') - i.fa.fa-reply - p.count(if={ p.replies_count > 0 }) { p.replies_count } - button(onclick={ repost }, title='Repost') - i.fa.fa-retweet - p.count(if={ p.repost_count > 0 }) { p.repost_count } - button(class={ liked: p.is_liked }, onclick={ like }, title='善哉') - i.fa.fa-thumbs-o-up - p.count(if={ p.likes_count > 0 }) { p.likes_count } - button(onclick={ NotImplementedException }): i.fa.fa-ellipsis-h - div.reposts-and-likes - div.reposts(if={ reposts && reposts.length > 0 }) - header - a { p.repost_count } - p Repost - ol.users - li.user(each={ reposts }) - a.avatar-anchor(href={ CONFIG.url + '/' + user.username }, title={ user.name }, data-user-preview={ user.id }) - img.avatar(src={ user.avatar_url + '?thumbnail&size=32' }, alt='') - div.likes(if={ likes && likes.length > 0 }) - header - a { p.likes_count } - p いいね - ol.users - li.user(each={ likes }) - a.avatar-anchor(href={ CONFIG.url + '/' + username }, title={ name }, data-user-preview={ id }) - img.avatar(src={ avatar_url + '?thumbnail&size=32' }, alt='') - - div.replies - virtual(each={ post in replies }) - mk-post-detail-sub(post={ post }) - -style. - display block - margin 0 - padding 0 - width 640px - overflow hidden - background #fff - border solid 1px rgba(0, 0, 0, 0.1) - border-radius 8px - - > .fetching - padding 64px 0 - - > .main - - > .read-more + +
+ +
+
+ +
+ + + +
+
+ +
+
+

avatar{ post.user.name }がRepost

+
+ +
+ + + +
+
+ + +
diff --git a/src/web/app/desktop/tags/post-form-window.tag b/src/web/app/desktop/tags/post-form-window.tag index 8727777944..753dea1adb 100644 --- a/src/web/app/desktop/tags/post-form-window.tag +++ b/src/web/app/desktop/tags/post-form-window.tag @@ -1,60 +1,55 @@ -mk-post-form-window + + 新規投稿返信添付: { parent.files.length }ファイル{ parent.uploadingFiles.length }個のファイルをアップロード中 + + +
+ +
+
+ +
+
+ + +
diff --git a/src/web/app/desktop/tags/post-form.tag b/src/web/app/desktop/tags/post-form.tag index 2248587885..3950d6cb07 100644 --- a/src/web/app/desktop/tags/post-form.tag +++ b/src/web/app/desktop/tags/post-form.tag @@ -1,430 +1,434 @@ -mk-post-form(ondragover={ ondragover }, ondragenter={ ondragenter }, ondragleave={ ondragleave }, ondrop={ ondrop }) - textarea@text(disabled={ wait }, class={ withfiles: files.length != 0 }, oninput={ update }, onkeydown={ onkeydown }, onpaste={ onpaste }, placeholder={ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }) - div.attaches(if={ files.length != 0 }) - ul.files@attaches - li.file(each={ files }) - div.img(style='background-image: url({ url + "?thumbnail&size=64" })', title={ name }) - img.remove(onclick={ _remove }, src='/_/resources/desktop/remove.png', title='添付取り消し', alt='') - li.add(if={ files.length < 4 }, title='PCからファイルを添付', onclick={ select-file }): i.fa.fa-plus - p.remain - | 残り{ 4 - files.length } - mk-uploader@uploader - button@upload(title='PCからファイルを添付', onclick={ select-file }): i.fa.fa-upload - button@drive(title='ドライブからファイルを添付', onclick={ select-file-from-drive }): i.fa.fa-cloud - p.text-count(class={ over: refs.text.value.length > 300 }) のこり{ 300 - refs.text.value.length }文字 - button@submit(class={ wait: wait }, disabled={ wait || (refs.text.value.length == 0 && files.length == 0) }, onclick={ post }) - | { wait ? '投稿中' : opts.reply ? '返信' : '投稿' } - mk-ellipsis(if={ wait }) - input@file(type='file', accept='image/*', multiple, tabindex='-1', onchange={ change-file }) - div.dropzone(if={ draghover }) - -style. - display block - padding 16px - background lighten($theme-color, 95%) - - &:after - content "" - display block - clear both - - > .attaches - margin 0 - padding 0 - background lighten($theme-color, 98%) - border solid 1px rgba($theme-color, 0.1) - border-top none - border-radius 0 0 4px 4px - transition border-color .3s ease - - > .remain + + +
+
    +
  • +
    +
  • +
  • +
+

残り{ 4 - files.length }

+
+ + + +

のこり{ 300 - refs.text.value.length }文字

+ + +
+ + +
diff --git a/src/web/app/desktop/tags/post-preview.tag b/src/web/app/desktop/tags/post-preview.tag index f17b152801..4035261782 100644 --- a/src/web/app/desktop/tags/post-preview.tag +++ b/src/web/app/desktop/tags/post-preview.tag @@ -1,94 +1,93 @@ -mk-post-preview(title={ title }) - article - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }) - img.avatar(src={ post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar', data-user-preview={ post.user_id }) - div.main - header - a.name(href={ CONFIG.url + '/' + post.user.username }, data-user-preview={ post.user_id }) - | { post.user.name } - span.username - | @{ post.user.username } - a.time(href={ CONFIG.url + '/' + post.user.username + '/' + post.id }) - mk-time(time={ post.created_at }) - div.body - mk-sub-post-content.text(post={ post }) - -style. - display block - margin 0 - padding 0 - font-size 0.9em - background #fff - - > article - - &:after - content "" + + + + + diff --git a/src/web/app/desktop/tags/post-status-graph.tag b/src/web/app/desktop/tags/post-status-graph.tag index ffb081e4f3..c6cdb53b47 100644 --- a/src/web/app/desktop/tags/post-status-graph.tag +++ b/src/web/app/desktop/tags/post-status-graph.tag @@ -1,72 +1,75 @@ -mk-post-status-graph - canvas@canv(width={ opts.width }, height={ opts.height }) + + + + + diff --git a/src/web/app/desktop/tags/progress-dialog.tag b/src/web/app/desktop/tags/progress-dialog.tag index 7c042686e6..48b04d3442 100644 --- a/src/web/app/desktop/tags/progress-dialog.tag +++ b/src/web/app/desktop/tags/progress-dialog.tag @@ -1,92 +1,94 @@ -mk-progress-dialog - mk-window@window(is-modal={ false }, can-close={ false }, width={ '500px' }) - - | { parent.title } - mk-ellipsis - - - div.body - p.init(if={ isNaN(parent.value) }) - | 待機中 - mk-ellipsis - p.percentage(if={ !isNaN(parent.value) }) { Math.floor((parent.value / parent.max) * 100) } - progress(if={ !isNaN(parent.value) && parent.value < parent.max }, value={ isNaN(parent.value) ? 0 : parent.value }, max={ parent.max }) - div.progress.waiting(if={ parent.value >= parent.max }) - + + + { parent.title } + + +
+

待機中 + +

+

{ Math.floor((parent.value / parent.max) * 100) }

+ +
+
+
+ + +
diff --git a/src/web/app/desktop/tags/repost-form-window.tag b/src/web/app/desktop/tags/repost-form-window.tag index 40012f951f..a1008b475b 100644 --- a/src/web/app/desktop/tags/repost-form-window.tag +++ b/src/web/app/desktop/tags/repost-form-window.tag @@ -1,38 +1,36 @@ -mk-repost-form-window - mk-window@window(is-modal={ true }, colored={ true }) - - i.fa.fa-retweet - | この投稿をRepostしますか? - - - mk-repost-form@form(post={ parent.opts.post }) - + + この投稿をRepostしますか? + + + + + + diff --git a/src/web/app/desktop/tags/repost-form.tag b/src/web/app/desktop/tags/repost-form.tag index 37fbad251d..0352cffc1b 100644 --- a/src/web/app/desktop/tags/repost-form.tag +++ b/src/web/app/desktop/tags/repost-form.tag @@ -1,140 +1,144 @@ -mk-repost-form - mk-post-preview(post={ opts.post }) - div.form(if={ quote }) - textarea@text(disabled={ wait }, placeholder='この投稿を引用...') - footer - a.quote(if={ !quote }, onclick={ onquote }) 引用する... - button.cancel(onclick={ cancel }) キャンセル - button.ok(onclick={ ok }) Repost + + +
+ +
+ + + +
diff --git a/src/web/app/desktop/tags/search-posts.tag b/src/web/app/desktop/tags/search-posts.tag index 9862ff6e4e..2d999e84ca 100644 --- a/src/web/app/desktop/tags/search-posts.tag +++ b/src/web/app/desktop/tags/search-posts.tag @@ -1,88 +1,86 @@ -mk-search-posts - div.loading(if={ is-loading }) - mk-ellipsis-icon - p.empty(if={ is-empty }) - i.fa.fa-search - | 「{ query }」に関する投稿は見つかりませんでした。 - mk-timeline@timeline - - i.fa.fa-moon-o(if={ !parent.more-loading }) - i.fa.fa-spinner.fa-pulse.fa-fw(if={ parent.more-loading }) - - -style. - display block - background #fff - - > .loading - padding 64px 0 - - > .empty - display block - margin 0 auto - padding 32px - max-width 400px - text-align center - color #999 - - > i + +
+ +
+

「{ query }」に関する投稿は見つかりませんでした。

+ + + +
diff --git a/src/web/app/desktop/tags/search.tag b/src/web/app/desktop/tags/search.tag index aec426ac79..1a9703016d 100644 --- a/src/web/app/desktop/tags/search.tag +++ b/src/web/app/desktop/tags/search.tag @@ -1,28 +1,32 @@ -mk-search - header - h1 { query } - mk-search-posts@posts(query={ query }) + +
+

{ query }

+
+ + + +
diff --git a/src/web/app/desktop/tags/select-file-from-drive-window.tag b/src/web/app/desktop/tags/select-file-from-drive-window.tag index 5042944837..3293abb220 100644 --- a/src/web/app/desktop/tags/select-file-from-drive-window.tag +++ b/src/web/app/desktop/tags/select-file-from-drive-window.tag @@ -1,160 +1,161 @@ -mk-select-file-from-drive-window - mk-window@window(is-modal={ true }, width={ '800px' }, height={ '500px' }) - - mk-raw(content={ parent.title }) - span.count(if={ parent.multiple && parent.file.length > 0 }) ({ parent.file.length }ファイル選択中) - - - mk-drive-browser@browser(multiple={ parent.multiple }) - div - button.upload(title='PCからドライブにファイルをアップロード', onclick={ parent.upload }): i.fa.fa-upload - button.cancel(onclick={ parent.close }) キャンセル - button.ok(disabled={ parent.multiple && parent.file.length == 0 }, onclick={ parent.ok }) 決定 - + + + ({ parent.file.length }ファイル選択中) + + +
+ + + +
+
+ + +
diff --git a/src/web/app/desktop/tags/set-avatar-suggestion.tag b/src/web/app/desktop/tags/set-avatar-suggestion.tag index 68c9c310df..a8fc2a69ee 100644 --- a/src/web/app/desktop/tags/set-avatar-suggestion.tag +++ b/src/web/app/desktop/tags/set-avatar-suggestion.tag @@ -1,44 +1,46 @@ -mk-set-avatar-suggestion(onclick={ set }) - p - b アバターを設定 - | してみませんか? - button(onclick={ close }): i.fa.fa-times - -style. - display block - cursor pointer - color #fff - background #a8cad0 - - &:hover - background #70abb5 - - > p - display block - margin 0 auto - padding 8px - max-width 1024px - - > a - font-weight bold + +

アバターを設定してみませんか? + +

+ + +
diff --git a/src/web/app/desktop/tags/set-banner-suggestion.tag b/src/web/app/desktop/tags/set-banner-suggestion.tag index bff0385803..ab4bbda047 100644 --- a/src/web/app/desktop/tags/set-banner-suggestion.tag +++ b/src/web/app/desktop/tags/set-banner-suggestion.tag @@ -1,44 +1,46 @@ -mk-set-banner-suggestion(onclick={ set }) - p - b バナーを設定 - | してみませんか? - button(onclick={ close }): i.fa.fa-times - -style. - display block - cursor pointer - color #fff - background #a8cad0 - - &:hover - background #70abb5 - - > p - display block - margin 0 auto - padding 8px - max-width 1024px - - > a - font-weight bold + +

バナーを設定してみませんか? + +

+ + +
diff --git a/src/web/app/desktop/tags/settings-window.tag b/src/web/app/desktop/tags/settings-window.tag index e259848718..6013f89673 100644 --- a/src/web/app/desktop/tags/settings-window.tag +++ b/src/web/app/desktop/tags/settings-window.tag @@ -1,26 +1,25 @@ -mk-settings-window - mk-window@window(is-modal={ true }, width={ '700px' }, height={ '550px' }) - - i.fa.fa-cog - | 設定 - - - mk-settings - + + 設定 + + + + + + diff --git a/src/web/app/desktop/tags/settings.tag b/src/web/app/desktop/tags/settings.tag index ac47fbf792..7e7811df21 100644 --- a/src/web/app/desktop/tags/settings.tag +++ b/src/web/app/desktop/tags/settings.tag @@ -1,271 +1,266 @@ -mk-settings - div.nav - p(class={ active: page == 'account' }, onmousedown={ set-page.bind(null, 'account') }) - i.fa.fa-fw.fa-user - | アカウント - p(class={ active: page == 'web' }, onmousedown={ set-page.bind(null, 'web') }) - i.fa.fa-fw.fa-desktop - | Web - p(class={ active: page == 'notification' }, onmousedown={ set-page.bind(null, 'notification') }) - i.fa.fa-fw.fa-bell-o - | 通知 - p(class={ active: page == 'drive' }, onmousedown={ set-page.bind(null, 'drive') }) - i.fa.fa-fw.fa-cloud - | ドライブ - p(class={ active: page == 'apps' }, onmousedown={ set-page.bind(null, 'apps') }) - i.fa.fa-fw.fa-puzzle-piece - | アプリ - p(class={ active: page == 'signin' }, onmousedown={ set-page.bind(null, 'signin') }) - i.fa.fa-fw.fa-sign-in - | ログイン履歴 - p(class={ active: page == 'password' }, onmousedown={ set-page.bind(null, 'password') }) - i.fa.fa-fw.fa-unlock-alt - | パスワード - p(class={ active: page == 'api' }, onmousedown={ set-page.bind(null, 'api') }) - i.fa.fa-fw.fa-key - | API - - div.pages - section.account(show={ page == 'account' }) - h1 アカウント - label.avatar - p アバター - img.avatar(src={ I.avatar_url + '?thumbnail&size=64' }, alt='avatar') - button.style-normal(onclick={ avatar }) 画像を選択 - label - p 名前 - input@account-name(type='text', value={ I.name }) - label - p 場所 - input@account-location(type='text', value={ I.location }) - label - p 自己紹介 - textarea@account-bio { I.bio } - label - p 誕生日 - input@account-birthday(type='date', value={ I.birthday }) - button.style-primary(onclick={ update-account }) 保存 - - section.web(show={ page == 'web' }) - h1 デザイン - label - p 壁紙 - button.style-normal(onclick={ wallpaper }) 画像を選択 - section.web(show={ page == 'web' }) - h1 その他 - label.checkbox - input(type='checkbox', checked={ I.data.cache }, onclick={ update-cache }) - p 読み込みを高速化する - p API通信時に新鮮なユーザー情報をキャッシュすることでフェッチのオーバーヘッドを無くします。(実験的) - label.checkbox - input(type='checkbox', checked={ I.data.debug }, onclick={ update-debug }) - p 開発者モード - p デバッグ等の開発者モードを有効にします。 - label.checkbox - input(type='checkbox', checked={ I.data.nya }, onclick={ update-nya }) - p にゃに変換する - p 攻撃的な投稿が多少和らぐ可能性があります。 - - section.signin(show={ page == 'signin' }) - h1 ログイン履歴 - mk-signin-history - - section.api(show={ page == 'api' }) - h1 API - p - | Token: - code { I.token } - p APIを利用するには、上記のトークンを「i」というキーでパラメータに付加してリクエストします。 - p アカウントを乗っ取られてしまう可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。 - p - | 万が一このトークンが漏れたりその可能性がある場合は - button.regenerate(onclick={ regenerate-token }) トークンを再生成 - | できます。(副作用として、ログインしているすべてのデバイスでログアウトが発生します) - -style. - display block - - input:not([type]) - input[type='text'] - input[type='password'] - input[type='email'] - textarea - padding 8px - width 100% - font-size 16px - color #55595c - border solid 1px #dadada - border-radius 4px - - &:hover - border-color #aeaeae - - &:focus - border-color #aeaeae - - > .nav - position absolute - top 0 - left 0 - width 200px - height 100% - padding 16px 0 0 0 - border-right solid 1px #ddd - - > p + + +
+ +
+

デザイン

+ +
+
+

その他

+ + + +
+ +
+

API

+

Token:{ I.token }

+

APIを利用するには、上記のトークンを「i」というキーでパラメータに付加してリクエストします。

+

アカウントを乗っ取られてしまう可能性があるため、このトークンは第三者に教えないでください(アプリなどにも入力しないでください)。

+

万が一このトークンが漏れたりその可能性がある場合は + できます。(副作用として、ログインしているすべてのデバイスでログアウトが発生します) +

+
+
+ + +
diff --git a/src/web/app/desktop/tags/signin-history.tag b/src/web/app/desktop/tags/signin-history.tag index 311f8bfeda..bd6006965f 100644 --- a/src/web/app/desktop/tags/signin-history.tag +++ b/src/web/app/desktop/tags/signin-history.tag @@ -1,73 +1,75 @@ -mk-signin-history - div.records(if={ history.length != 0 }) - div(each={ history }) - mk-time(time={ created_at }) - header - i.fa.fa-check(if={ success }) - i.fa.fa-times(if={ !success }) - span.ip { ip } - pre: code { JSON.stringify(headers, null, ' ') } + +
+
+ +
{ ip }
+
{ JSON.stringify(headers, null, '    ') }
+
+
+ + +
diff --git a/src/web/app/desktop/tags/stream-indicator.tag b/src/web/app/desktop/tags/stream-indicator.tag index 2eb5889ca6..4046f5fec4 100644 --- a/src/web/app/desktop/tags/stream-indicator.tag +++ b/src/web/app/desktop/tags/stream-indicator.tag @@ -1,59 +1,54 @@ -mk-stream-indicator - p(if={ state == 'initializing' }) - i.fa.fa-spinner.fa-spin - span - | 接続中 - mk-ellipsis - p(if={ state == 'reconnecting' }) - i.fa.fa-spinner.fa-spin - span - | 切断されました 接続中 - mk-ellipsis - p(if={ state == 'connected' }) - i.fa.fa-check - span 接続完了 + +

接続中 +

+

切断されました 接続中 +

+

接続完了

+ + +
diff --git a/src/web/app/desktop/tags/sub-post-content.tag b/src/web/app/desktop/tags/sub-post-content.tag index 976a6f398f..5b4497fda6 100644 --- a/src/web/app/desktop/tags/sub-post-content.tag +++ b/src/web/app/desktop/tags/sub-post-content.tag @@ -1,37 +1,38 @@ -mk-sub-post-content - div.body - a.reply(if={ post.reply_to_id }): i.fa.fa-reply - span@text - a.quote(if={ post.repost_id }, href={ '/post:' + post.repost_id }) RP: ... - details(if={ post.media }) - summary ({ post.media.length }枚の画像) - mk-images-viewer(images={ post.media }) + + +
+ ({ post.media.length }枚の画像) + +
+ + +
diff --git a/src/web/app/desktop/tags/timeline-post-sub.tag b/src/web/app/desktop/tags/timeline-post-sub.tag index 39b1ad7f71..a9a13e9f9c 100644 --- a/src/web/app/desktop/tags/timeline-post-sub.tag +++ b/src/web/app/desktop/tags/timeline-post-sub.tag @@ -1,95 +1,99 @@ -mk-timeline-post-sub(title={ title }) - article - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }) - img.avatar(src={ post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar', data-user-preview={ post.user_id }) - div.main - header - a.name(href={ CONFIG.url + '/' + post.user.username }, data-user-preview={ post.user_id }) - | { post.user.name } - span.username - | @{ post.user.username } - a.created-at(href={ CONFIG.url + '/' + post.user.username + '/' + post.id }) - mk-time(time={ post.created_at }) - div.body - mk-sub-post-content.text(post={ post }) + + + + + diff --git a/src/web/app/desktop/tags/timeline-post.tag b/src/web/app/desktop/tags/timeline-post.tag index 8b90f0d013..77d695c365 100644 --- a/src/web/app/desktop/tags/timeline-post.tag +++ b/src/web/app/desktop/tags/timeline-post.tag @@ -1,376 +1,332 @@ -mk-timeline-post(tabindex='-1', title={ title }, onkeydown={ on-key-down }) - - div.reply-to(if={ p.reply_to }) - mk-timeline-post-sub(post={ p.reply_to }) - - div.repost(if={ is-repost }) - p - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }, data-user-preview={ post.user_id }): img.avatar(src={ post.user.avatar_url + '?thumbnail&size=32' }, alt='avatar') - i.fa.fa-retweet - a.name(href={ CONFIG.url + '/' + post.user.username }, data-user-preview={ post.user_id }) { post.user.name } - | がRepost - mk-time(time={ post.created_at }) - - article - a.avatar-anchor(href={ CONFIG.url + '/' + p.user.username }) - img.avatar(src={ p.user.avatar_url + '?thumbnail&size=64' }, alt='avatar', data-user-preview={ p.user.id }) - div.main - header - a.name(href={ CONFIG.url + '/' + p.user.username }, data-user-preview={ p.user.id }) - | { p.user.name } - span.username - | @{ p.user.username } - a.created-at(href={ url }) - mk-time(time={ p.created_at }) - div.body - div.text - a.reply(if={ p.reply_to }): i.fa.fa-reply - span@text - a.quote(if={ p.repost != null }) RP: - div.media(if={ p.media }) - mk-images-viewer(images={ p.media }) - div.repost(if={ p.repost }) - i.fa.fa-quote-right.fa-flip-horizontal - mk-post-preview.repost(post={ p.repost }) - footer - button(onclick={ reply }, title='返信') - i.fa.fa-reply - p.count(if={ p.replies_count > 0 }) { p.replies_count } - button(onclick={ repost }, title='Repost') - i.fa.fa-retweet - p.count(if={ p.repost_count > 0 }) { p.repost_count } - button(class={ liked: p.is_liked }, onclick={ like }, title='善哉') - i.fa.fa-thumbs-o-up - p.count(if={ p.likes_count > 0 }) { p.likes_count } - button(onclick={ NotImplementedException }): i.fa.fa-ellipsis-h - button(onclick={ toggle-detail }, title='詳細') - i.fa.fa-caret-down(if={ !is-detail-opened }) - i.fa.fa-caret-up(if={ is-detail-opened }) - div.detail(if={ is-detail-opened }) - mk-post-status-graph(width='462', height='130', post={ p }) - -style. - display block - margin 0 - padding 0 - background #fff - - &:focus - z-index 1 - - &:after - content "" - pointer-events none - position absolute - top 2px - right 2px - bottom 2px - left 2px - border 2px solid rgba($theme-color, 0.3) - border-radius 4px - - > .repost - color #9dbb00 - background linear-gradient(to bottom, #edfde2 0%, #fff 100%) - - > p + +
+ +
+
+

avatar{ post.user.name }がRepost

+ +
+
avatar +
+
{ p.user.name }@{ p.user.username } +
+
+ +
+ +
+
+ +
+
+
+ + + + + +
+
+
+
+ +
+ + +
diff --git a/src/web/app/desktop/tags/timeline.tag b/src/web/app/desktop/tags/timeline.tag index dfd1b7c14e..ce6c00d0ba 100644 --- a/src/web/app/desktop/tags/timeline.tag +++ b/src/web/app/desktop/tags/timeline.tag @@ -1,86 +1,79 @@ -mk-timeline - virtual(each={ post, i in posts }) - mk-timeline-post(post={ post }) - p.date(if={ i != posts.length - 1 && post._date != posts[i + 1]._date }) - span - i.fa.fa-angle-up - | { post._datetext } - span - i.fa.fa-angle-down - | { posts[i + 1]._datetext } - footer(data-yield='footer') - | + + + +

{ post._datetext }{ posts[i + 1]._datetext }

+
+
+ + +
diff --git a/src/web/app/desktop/tags/ui-header-account.tag b/src/web/app/desktop/tags/ui-header-account.tag index ffb1eeec00..47351b5262 100644 --- a/src/web/app/desktop/tags/ui-header-account.tag +++ b/src/web/app/desktop/tags/ui-header-account.tag @@ -1,219 +1,212 @@ -mk-ui-header-account - button.header(data-active={ is-open.toString() }, onclick={ toggle }) - span.username - | { I.username } - i.fa.fa-angle-down(if={ !is-open }) - i.fa.fa-angle-up(if={ is-open }) - img.avatar(src={ I.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.menu(if={ is-open }) - ul - li: a(href={ '/' + I.username }) - i.fa.fa-user - | プロフィール - i.fa.fa-angle-right - li(onclick={ drive }): p - i.fa.fa-cloud - | ドライブ - i.fa.fa-angle-right - li: a(href='/i>mentions') - i.fa.fa-at - | あなた宛て - i.fa.fa-angle-right - ul - li(onclick={ settings }): p - i.fa.fa-cog - | 設定 - i.fa.fa-angle-right - ul - li(onclick={ signout }): p - i(class='fa fa-power-off') - | サインアウト - i.fa.fa-angle-right - -style. - display block - float left - - > .header - display block - margin 0 - padding 0 - color #9eaba8 - border none - background transparent - cursor pointer - - * - pointer-events none - - &:hover - color darken(#9eaba8, 20%) - - &:active - color darken(#9eaba8, 30%) - - &[data-active='true'] - color darken(#9eaba8, 20%) - - > .avatar - $saturate = 150% - filter saturate($saturate) - -webkit-filter saturate($saturate) - -moz-filter saturate($saturate) - -ms-filter saturate($saturate) - - > .username + + + + + + diff --git a/src/web/app/desktop/tags/ui-header-clock.tag b/src/web/app/desktop/tags/ui-header-clock.tag index 987907a684..da50d8401f 100644 --- a/src/web/app/desktop/tags/ui-header-clock.tag +++ b/src/web/app/desktop/tags/ui-header-clock.tag @@ -1,82 +1,87 @@ -mk-ui-header-clock - div.header - time@time - div.content - mk-analog-clock + +
+ +
+
+ +
+ + +
diff --git a/src/web/app/desktop/tags/ui-header-nav.tag b/src/web/app/desktop/tags/ui-header-nav.tag index 153c3137b4..8844307ae9 100644 --- a/src/web/app/desktop/tags/ui-header-nav.tag +++ b/src/web/app/desktop/tags/ui-header-nav.tag @@ -1,113 +1,113 @@ -mk-ui-header-nav: ul(if={ SIGNIN }) - li.home(class={ active: page == 'home' }): a(href={ CONFIG.url }) - i.fa.fa-home - p ホーム - li.messaging: a(onclick={ messaging }) - i.fa.fa-comments - p メッセージ - i.fa.fa-circle(if={ has-unread-messaging-messages }) - li.info: a(href='https://twitter.com/misskey_xyz', target='_blank') - i.fa.fa-info - p お知らせ - li.tv: a(href='https://misskey.tk', target='_blank') - i.fa.fa-television - p MisskeyTV™ - -style. - display inline-block - margin 0 - padding 0 - line-height 3rem - vertical-align top - - > ul - display inline-block - margin 0 - padding 0 - vertical-align top - line-height 3rem - list-style none - - > li - display inline-block - vertical-align top - height 48px - line-height 48px - - &.active - > a - border-bottom solid 3px $theme-color - - > a + +
    +
  • +

    ホーム

  • +
  • +

    メッセージ

  • +
  • +

    お知らせ

  • +
  • +

    MisskeyTV™

  • + + +
+
diff --git a/src/web/app/desktop/tags/ui-header-notifications.tag b/src/web/app/desktop/tags/ui-header-notifications.tag index 495aad5004..05d4f4c2cd 100644 --- a/src/web/app/desktop/tags/ui-header-notifications.tag +++ b/src/web/app/desktop/tags/ui-header-notifications.tag @@ -1,111 +1,114 @@ -mk-ui-header-notifications - button.header(data-active={ is-open }, onclick={ toggle }) - i.fa.fa-bell-o - div.notifications(if={ is-open }) - mk-notifications - -style. - display block - float left - - > .header - display block - margin 0 - padding 0 - width 32px - color #9eaba8 - border none - background transparent - cursor pointer - - * - pointer-events none - - &:hover - color darken(#9eaba8, 20%) - - &:active - color darken(#9eaba8, 30%) - - &[data-active='true'] - color darken(#9eaba8, 20%) - - > i - font-size 1.2em - line-height 48px - - > .notifications - display block - position absolute - top 56px - right -72px - width 300px - background #fff - border-radius 4px - box-shadow 0 1px 4px rgba(0, 0, 0, 0.25) - - &:before - content "" - pointer-events none + + +
+ +
+ + +
diff --git a/src/web/app/desktop/tags/ui-header-post-button.tag b/src/web/app/desktop/tags/ui-header-post-button.tag index 558c987619..79f836408a 100644 --- a/src/web/app/desktop/tags/ui-header-post-button.tag +++ b/src/web/app/desktop/tags/ui-header-post-button.tag @@ -1,39 +1,41 @@ -mk-ui-header-post-button - button(onclick={ post }, title='新規投稿') - i.fa.fa-pencil-square-o + + + + + diff --git a/src/web/app/desktop/tags/ui-header-search.tag b/src/web/app/desktop/tags/ui-header-search.tag index 24e4e44989..8803384938 100644 --- a/src/web/app/desktop/tags/ui-header-search.tag +++ b/src/web/app/desktop/tags/ui-header-search.tag @@ -1,37 +1,41 @@ -mk-ui-header-search - form.search(onsubmit={ onsubmit }) - input@q(type='search', placeholder!=' 検索') - div.result + + + + + diff --git a/src/web/app/desktop/tags/ui-header.tag b/src/web/app/desktop/tags/ui-header.tag index b02817cd84..4ec0ba183a 100644 --- a/src/web/app/desktop/tags/ui-header.tag +++ b/src/web/app/desktop/tags/ui-header.tag @@ -1,85 +1,85 @@ -mk-ui-header - mk-donation(if={ SIGNIN && !I.data.no_donation }) - mk-special-message - div.main - div.backdrop - div.main: div.container - div.left - mk-ui-header-nav(page={ opts.page }) - div.right - mk-ui-header-search - mk-ui-header-account(if={ SIGNIN }) - mk-ui-header-notifications(if={ SIGNIN }) - mk-ui-header-post-button(if={ SIGNIN }) - mk-ui-header-clock - -style. - display block - position fixed - top 0 - z-index 1024 - width 100% - box-shadow 0 1px 1px rgba(0, 0, 0, 0.075) - - > .main - - > .backdrop - position absolute + + + +
+
+
+
+
+ +
+
+ + + + + +
+
+
+
+ + + +
diff --git a/src/web/app/desktop/tags/ui-notification.tag b/src/web/app/desktop/tags/ui-notification.tag index 6e5f948b88..aacf23cf50 100644 --- a/src/web/app/desktop/tags/ui-notification.tag +++ b/src/web/app/desktop/tags/ui-notification.tag @@ -1,41 +1,44 @@ -mk-ui-notification - p { opts.message } + +

{ opts.message }

+ + +
diff --git a/src/web/app/desktop/tags/ui.tag b/src/web/app/desktop/tags/ui.tag index 6bced1f9e4..713db21d91 100644 --- a/src/web/app/desktop/tags/ui.tag +++ b/src/web/app/desktop/tags/ui.tag @@ -1,37 +1,37 @@ -mk-ui - div.global@global - mk-ui-header@header(page={ opts.page }) + +
+ + + +
+
+ + + +
diff --git a/src/web/app/desktop/tags/user-followers-window.tag b/src/web/app/desktop/tags/user-followers-window.tag index d18b04446c..c6899be46b 100644 --- a/src/web/app/desktop/tags/user-followers-window.tag +++ b/src/web/app/desktop/tags/user-followers-window.tag @@ -1,22 +1,19 @@ -mk-user-followers-window - mk-window(is-modal={ false }, width={ '400px' }, height={ '550px' }) - - img(src={ parent.user.avatar_url + '?thumbnail&size=64' }, alt='') - | { parent.user.name }のフォロワー - - - mk-user-followers(user={ parent.user }) - + + { parent.user.name }のフォロワー + + + + + + diff --git a/src/web/app/desktop/tags/user-followers.tag b/src/web/app/desktop/tags/user-followers.tag index 52f9f43836..9f96b00177 100644 --- a/src/web/app/desktop/tags/user-followers.tag +++ b/src/web/app/desktop/tags/user-followers.tag @@ -1,19 +1,22 @@ -mk-user-followers - mk-users-list(fetch={ fetch }, count={ user.followers_count }, you-know-count={ user.followers_you_know_count }, no-users={ 'フォロワーはいないようです。' }) + + + + + diff --git a/src/web/app/desktop/tags/user-following-window.tag b/src/web/app/desktop/tags/user-following-window.tag index 91f94f08d3..343820d4e0 100644 --- a/src/web/app/desktop/tags/user-following-window.tag +++ b/src/web/app/desktop/tags/user-following-window.tag @@ -1,22 +1,19 @@ -mk-user-following-window - mk-window(is-modal={ false }, width={ '400px' }, height={ '550px' }) - - img(src={ parent.user.avatar_url + '?thumbnail&size=64' }, alt='') - | { parent.user.name }のフォロー - - - mk-user-following(user={ parent.user }) - + + { parent.user.name }のフォロー + + + + + + diff --git a/src/web/app/desktop/tags/user-following.tag b/src/web/app/desktop/tags/user-following.tag index 0a39f2e4b8..87b88b6cd2 100644 --- a/src/web/app/desktop/tags/user-following.tag +++ b/src/web/app/desktop/tags/user-following.tag @@ -1,19 +1,22 @@ -mk-user-following - mk-users-list(fetch={ fetch }, count={ user.following_count }, you-know-count={ user.following_you_know_count }, no-users={ 'フォロー中のユーザーはいないようです。' }) + + + + + diff --git a/src/web/app/desktop/tags/user-friends-graph.tag b/src/web/app/desktop/tags/user-friends-graph.tag index 47c3a15613..13c0bc2c38 100644 --- a/src/web/app/desktop/tags/user-friends-graph.tag +++ b/src/web/app/desktop/tags/user-friends-graph.tag @@ -1,64 +1,67 @@ -mk-user-friends-graph - canvas@canv(width='750', height='250') + + + + + diff --git a/src/web/app/desktop/tags/user-graphs.tag b/src/web/app/desktop/tags/user-graphs.tag index f7f0fcd5e0..28643cd90b 100644 --- a/src/web/app/desktop/tags/user-graphs.tag +++ b/src/web/app/desktop/tags/user-graphs.tag @@ -1,36 +1,40 @@ -mk-user-graphs - section - h1 投稿 - mk-user-posts-graph(user={ opts.user }) + +
+

投稿

+ +
+
+

フォロー/フォロワー

+ +
+
+

いいね

+ +
+ + +
diff --git a/src/web/app/desktop/tags/user-header.tag b/src/web/app/desktop/tags/user-header.tag index 5abd79ff1c..7b4ebfb847 100644 --- a/src/web/app/desktop/tags/user-header.tag +++ b/src/web/app/desktop/tags/user-header.tag @@ -1,143 +1,142 @@ -mk-user-header(data-is-dark-background={ user.banner_url != null }) - div.banner@banner(style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=1024)' : '' }, onclick={ on-update-banner }) - img.avatar(src={ user.avatar_url + '?thumbnail&size=150' }, alt='avatar') - div.title - p.name(href={ CONFIG.url + '/' + user.username }) { user.name } - p.username @{ user.username } - p.location(if={ user.location }) - i.fa.fa-map-marker - | { user.location } - footer - a(href={ '/' + user.username }) 投稿 - a(href={ '/' + user.username + '/media' }) メディア - a(href={ '/' + user.username + '/graphs' }) グラフ - button(onclick={ NotImplementedException }): i.fa.fa-ellipsis-h + + avatar +
+

{ user.name }

+

@{ user.username }

+

{ user.location }

+
+ + + +
diff --git a/src/web/app/desktop/tags/user-home.tag b/src/web/app/desktop/tags/user-home.tag index 4bf0260ff6..602ce1b9c9 100644 --- a/src/web/app/desktop/tags/user-home.tag +++ b/src/web/app/desktop/tags/user-home.tag @@ -1,40 +1,45 @@ -mk-user-home - div.side - mk-user-profile(user={ user }) - mk-user-photos(user={ user }) - main - mk-user-timeline@tl(user={ user }) + +
+ + +
+
+ +
+ + +
diff --git a/src/web/app/desktop/tags/user-likes-graph.tag b/src/web/app/desktop/tags/user-likes-graph.tag index e9d1428713..1c2759a3a1 100644 --- a/src/web/app/desktop/tags/user-likes-graph.tag +++ b/src/web/app/desktop/tags/user-likes-graph.tag @@ -1,39 +1,42 @@ -mk-user-likes-graph - canvas@canv(width='750', height='250') + + + + + diff --git a/src/web/app/desktop/tags/user-photos.tag b/src/web/app/desktop/tags/user-photos.tag index 61a840ee61..eb79113e41 100644 --- a/src/web/app/desktop/tags/user-photos.tag +++ b/src/web/app/desktop/tags/user-photos.tag @@ -1,85 +1,86 @@ -mk-user-photos - p.title - i.fa.fa-camera - | フォト - p.initializing(if={ initializing }) - i.fa.fa-spinner.fa-pulse.fa-fw - | 読み込んでいます - mk-ellipsis - div.stream(if={ !initializing && images.length > 0 }) - virtual(each={ image in images }) - div.img(style={ 'background-image: url(' + image.url + '?thumbnail&size=256)' }) - p.empty(if={ !initializing && images.length == 0 }) - | 写真はありません + +

フォト

+

読み込んでいます + +

+
+ +
+
+
+

写真はありません

+ + +
diff --git a/src/web/app/desktop/tags/user-posts-graph.tag b/src/web/app/desktop/tags/user-posts-graph.tag index 75f4ac4a67..61070c3818 100644 --- a/src/web/app/desktop/tags/user-posts-graph.tag +++ b/src/web/app/desktop/tags/user-posts-graph.tag @@ -1,68 +1,71 @@ -mk-user-posts-graph - canvas@canv(width='750', height='250') + + + + + diff --git a/src/web/app/desktop/tags/user-preview.tag b/src/web/app/desktop/tags/user-preview.tag index f299e6236e..ed1d868781 100644 --- a/src/web/app/desktop/tags/user-preview.tag +++ b/src/web/app/desktop/tags/user-preview.tag @@ -1,143 +1,148 @@ -mk-user-preview - virtual(if={ user != null }) - div.banner(style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=512)' : '' }) - a.avatar(href={ CONFIG.url + '/' + user.username }, target='_blank'): img(src={ user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.title - p.name { user.name } - p.username @{ user.username } - div.bio { user.bio } - div.status - div - p 投稿 - a { user.posts_count } - div - p フォロー - a { user.following_count } - div - p フォロワー - a { user.followers_count } - mk-follow-button(if={ SIGNIN && user.id != I.id }, user={ user-promise }) - -style. - display block - position absolute - z-index 2048 - width 250px - background #fff - background-clip content-box - border solid 1px rgba(0, 0, 0, 0.1) - border-radius 4px - overflow hidden - - // https://github.com/riot/riot/issues/2081 - > virtual - display block - position relative - - > .banner - height 84px - background-color #f5f5f5 - background-size cover - background-position center - - > .avatar + + + avatar +
+

{ user.name }

+

@{ user.username }

+
+
{ user.bio }
+
+ +
+

フォロー

{ user.following_count } +
+
+

フォロワー

{ user.followers_count } +
+
+ +
+ + +
diff --git a/src/web/app/desktop/tags/user-profile.tag b/src/web/app/desktop/tags/user-profile.tag index adb685845c..1079282ed3 100644 --- a/src/web/app/desktop/tags/user-profile.tag +++ b/src/web/app/desktop/tags/user-profile.tag @@ -1,86 +1,83 @@ -mk-user-profile - div.friend-form(if={ SIGNIN && I.id != user.id }) - mk-big-follow-button(user={ user }) - p.followed(if={ user.is_followed }) フォローされています - div.bio(if={ user.bio != '' }) { user.bio } - div.birthday(if={ user.birthday }): p - i.fa.fa-birthday-cake - | { user.birthday.replace('-', '年').replace('-', '月') + '日' } - div.friends - p.following - i.fa.fa-angle-right - a(onclick={ show-following }) { user.following_count } - | 人を - b フォロー - p.followers - i.fa.fa-angle-right - a(onclick={ show-followers }) { user.followers_count } - | 人の - b フォロワー + +
+ +

フォローされています

+
+
{ user.bio }
+
+

{ user.birthday.replace('-', '年').replace('-', '月') + '日' }

+
+
+

{ user.following_count }人をフォロー

+

{ user.followers_count }人のフォロワー

+
+ + +
diff --git a/src/web/app/desktop/tags/user-timeline.tag b/src/web/app/desktop/tags/user-timeline.tag index ced90e2e84..89eb53933a 100644 --- a/src/web/app/desktop/tags/user-timeline.tag +++ b/src/web/app/desktop/tags/user-timeline.tag @@ -1,142 +1,138 @@ -mk-user-timeline - header - span(data-is-active={ mode == 'default' }, onclick={ set-mode.bind(this, 'default') }) 投稿 - span(data-is-active={ mode == 'with-replies' }, onclick={ set-mode.bind(this, 'with-replies') }) 投稿と返信 - div.loading(if={ is-loading }) - mk-ellipsis-icon - p.empty(if={ is-empty }) - i.fa.fa-comments-o - | このユーザーはまだ何も投稿していないようです。 - mk-timeline@timeline - - i.fa.fa-moon-o(if={ !parent.more-loading }) - i.fa.fa-spinner.fa-pulse.fa-fw(if={ parent.more-loading }) - - -style. - display block - background #fff - - > header - padding 8px 16px - border-bottom solid 1px #eee - - > span - margin-right 16px - line-height 27px - font-size 18px - color #555 - - &:not([data-is-active]) - color $theme-color - cursor pointer - - &:hover - text-decoration underline - - > .loading - padding 64px 0 - - > .empty - display block - margin 0 auto - padding 32px - max-width 400px - text-align center - color #999 - - > i + +
投稿投稿と返信
+
+ +
+

このユーザーはまだ何も投稿していないようです。

+ + + +
diff --git a/src/web/app/desktop/tags/user.tag b/src/web/app/desktop/tags/user.tag index 4d022e68c4..777d9caee7 100644 --- a/src/web/app/desktop/tags/user.tag +++ b/src/web/app/desktop/tags/user.tag @@ -1,45 +1,51 @@ -mk-user - div.user(if={ !fetching }) - header - mk-user-header(user={ user }) - div.body - mk-user-home(if={ page == 'home' }, user={ user }) - mk-user-graphs(if={ page == 'graphs' }, user={ user }) + +
+
+ +
+
+ + +
+
+ + +
diff --git a/src/web/app/desktop/tags/users-list.tag b/src/web/app/desktop/tags/users-list.tag index 9ae96eed9f..e2b0ef1332 100644 --- a/src/web/app/desktop/tags/users-list.tag +++ b/src/web/app/desktop/tags/users-list.tag @@ -1,139 +1,134 @@ -mk-users-list - nav: div - span(data-is-active={ mode == 'all' }, onclick={ set-mode.bind(this, 'all') }) - | すべて - span { opts.count } - // ↓ https://github.com/riot/riot/issues/2080 - span(if={ SIGNIN && opts.you-know-count != '' }, data-is-active={ mode == 'iknow' }, onclick={ set-mode.bind(this, 'iknow') }) - | 知り合い - span { opts.you-know-count } + + +
+
+ +
+
+ +

{ opts.noUsers }

+

読み込んでいます + +

+ + +
diff --git a/src/web/app/desktop/tags/window.tag b/src/web/app/desktop/tags/window.tag index 9732a6c552..750df64df0 100644 --- a/src/web/app/desktop/tags/window.tag +++ b/src/web/app/desktop/tags/window.tag @@ -1,515 +1,519 @@ -mk-window(data-flexible={ is-flexible }, data-colored={ opts.colored }, ondragover={ ondragover }) - div.bg@bg(show={ is-modal }, onclick={ bg-click }) - div.main@main(tabindex='-1', data-is-modal={ is-modal }, onmousedown={ on-body-mousedown }, onkeydown={ on-keydown }) - div.body - header@header(onmousedown={ on-header-mousedown }) - h1(data-yield='header') - | - button.close(if={ can-close }, onmousedown={ repel-move }, onclick={ close }, title='閉じる'): i.fa.fa-times - div.content(data-yield='content') - | - div.handle.top(if={ can-resize }, onmousedown={ on-top-handle-mousedown }) - div.handle.right(if={ can-resize }, onmousedown={ on-right-handle-mousedown }) - div.handle.bottom(if={ can-resize }, onmousedown={ on-bottom-handle-mousedown }) - div.handle.left(if={ can-resize }, onmousedown={ on-left-handle-mousedown }) - div.handle.top-left(if={ can-resize }, onmousedown={ on-top-left-handle-mousedown }) - div.handle.top-right(if={ can-resize }, onmousedown={ on-top-right-handle-mousedown }) - div.handle.bottom-right(if={ can-resize }, onmousedown={ on-bottom-right-handle-mousedown }) - div.handle.bottom-left(if={ can-resize }, onmousedown={ on-bottom-left-handle-mousedown }) + +
+
+
+
+

+ +
+
+
+
+
+
+
+
+
+
+
+
+ + +
diff --git a/src/web/app/dev/tags/new-app-form.tag b/src/web/app/dev/tags/new-app-form.tag index 443bf2bfff..c74a43d151 100644 --- a/src/web/app/dev/tags/new-app-form.tag +++ b/src/web/app/dev/tags/new-app-form.tag @@ -1,260 +1,243 @@ -mk-new-app-form - form(onsubmit={ onsubmit }, autocomplete='off') - section.name: label - p.caption - | アプリケーション名 - input@name( - type='text' - placeholder='ex) Misskey for iOS' - autocomplete='off' - required) - - section.nid: label - p.caption - | Named ID - input@nid( - type='text' - pattern='^[a-zA-Z0-9\-]{3,30}$' - placeholder='ex) misskey-for-ios' - autocomplete='off' - required - onkeyup={ on-change-nid }) - - p.info(if={ nid-state == 'wait' }, style='color:#999') - i.fa.fa-fw.fa-spinner.fa-pulse - | 確認しています... - p.info(if={ nid-state == 'ok' }, style='color:#3CB7B5') - i.fa.fa-fw.fa-check - | 利用できます - p.info(if={ nid-state == 'unavailable' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 既に利用されています - p.info(if={ nid-state == 'error' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 通信エラー - p.info(if={ nid-state == 'invalid-format' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | a~z、A~Z、0~9、-(ハイフン)が使えます - p.info(if={ nid-state == 'min-range' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 3文字以上でお願いします! - p.info(if={ nid-state == 'max-range' }, style='color:#FF1161') - i.fa.fa-fw.fa-exclamation-triangle - | 30文字以内でお願いします - - section.description: label - p.caption - | アプリの概要 - textarea@description( - placeholder='ex) Misskey iOSクライアント。' - autocomplete='off' - required) - - section.callback: label - p.caption - | コールバックURL (オプション) - input@cb( - type='url' - placeholder='ex) https://your.app.example.com/callback.php' - autocomplete='off') - - section.permission - p.caption - | 権限 - div@permission - label - input(type='checkbox', value='account-read') - p アカウントの情報を見る。 - label - input(type='checkbox', value='account-write') - p アカウントの情報を操作する。 - label - input(type='checkbox', value='post-write') - p 投稿する。 - label - input(type='checkbox', value='like-write') - p いいねしたりいいね解除する。 - label - input(type='checkbox', value='following-write') - p フォローしたりフォロー解除する。 - label - input(type='checkbox', value='drive-read') - p ドライブを見る。 - label - input(type='checkbox', value='drive-write') - p ドライブを操作する。 - label - input(type='checkbox', value='notification-read') - p 通知を見る。 - label - input(type='checkbox', value='notification-write') - p 通知を操作する。 - p - i.fa.fa-exclamation-triangle - | アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。 - - button(onclick={ onsubmit }) - | アプリ作成 - -style. - display block - overflow hidden - - > form - - section + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+

権限

+
+ + + + + + + + + +
+

アプリ作成後も変更できますが、新たな権限を付与する場合、その時点で関連付けられているユーザーキーはすべて無効になります。

+
+ +
+ + +
diff --git a/src/web/app/dev/tags/pages/app.tag b/src/web/app/dev/tags/pages/app.tag index aa9ba68f3f..4311f11565 100644 --- a/src/web/app/dev/tags/pages/app.tag +++ b/src/web/app/dev/tags/pages/app.tag @@ -1,24 +1,30 @@ -mk-app-page - p(if={ fetching }) 読み込み中 - main(if={ !fetching }) - header - h1 { app.name } - div.body - p App Secret - input(value={ app.secret }, readonly) + +

読み込み中

+
+
+

{ app.name }

+
+
+

App Secret

+ +
+
+ + +
diff --git a/src/web/app/dev/tags/pages/apps.tag b/src/web/app/dev/tags/pages/apps.tag index f46a9d3282..b7eb441faa 100644 --- a/src/web/app/dev/tags/pages/apps.tag +++ b/src/web/app/dev/tags/pages/apps.tag @@ -1,26 +1,30 @@ -mk-apps-page - h1 アプリを管理 - a(href='/app/new') アプリ作成 - div.apps - p(if={ fetching }) 読み込み中 - virtual(if={ !fetching }) - p(if={ apps.length == 0 }) アプリなし - ul(if={ apps.length > 0 }) - li(each={ app in apps }) - a(href={ '/app/' + app.id }) - p.name { app.name } + +

アプリを管理

アプリ作成 +
+

読み込み中

+ +

アプリなし

+ +
+
+ + +
diff --git a/src/web/app/dev/tags/pages/index.tag b/src/web/app/dev/tags/pages/index.tag index 7bc57fbb00..6be52e61ba 100644 --- a/src/web/app/dev/tags/pages/index.tag +++ b/src/web/app/dev/tags/pages/index.tag @@ -1,5 +1,11 @@ -mk-index - a(href='/apps') アプリ +アプリ + + diff --git a/src/web/app/dev/tags/pages/new-app.tag b/src/web/app/dev/tags/pages/new-app.tag index 8c19e39f4b..f255b84328 100644 --- a/src/web/app/dev/tags/pages/new-app.tag +++ b/src/web/app/dev/tags/pages/new-app.tag @@ -1,33 +1,42 @@ -mk-new-app-page - main - header - h1 新しいアプリを作成 - p MisskeyのAPIを利用したアプリケーションを作成できます。 - mk-new-app-form + +
+
+

新しいアプリを作成

+

MisskeyのAPIを利用したアプリケーションを作成できます。

+
+ +
+ +
diff --git a/src/web/app/mobile/tags/drive-selector.tag b/src/web/app/mobile/tags/drive-selector.tag index 442299026e..f4fd24326f 100644 --- a/src/web/app/mobile/tags/drive-selector.tag +++ b/src/web/app/mobile/tags/drive-selector.tag @@ -1,75 +1,78 @@ -mk-drive-selector - div.body - header - h1 - | ファイルを選択 - span.count(if={ files.length > 0 }) ({ files.length }) - button.close(onclick={ cancel }): i.fa.fa-times - button.ok(onclick={ ok }): i.fa.fa-check - mk-drive@browser(select={ true }, multiple={ opts.multiple }) + +
+
+

ファイルを選択({ files.length })

+ + +
+ +
+ + +
diff --git a/src/web/app/mobile/tags/drive.tag b/src/web/app/mobile/tags/drive.tag index fcc78d1e68..005f16d58f 100644 --- a/src/web/app/mobile/tags/drive.tag +++ b/src/web/app/mobile/tags/drive.tag @@ -1,338 +1,342 @@ -mk-drive - nav - p(onclick={ go-root }) - i.fa.fa-cloud - | ドライブ - virtual(each={ folder in hierarchy-folders }) - span: i.fa.fa-angle-right - p(onclick={ _move }) { folder.name } - span(if={ folder != null }): i.fa.fa-angle-right - p(if={ folder != null }) { folder.name } - div.browser(if={ file == null }, class={ loading: loading }) - div.folders(if={ folders.length > 0 }) - virtual(each={ folder in folders }) - mk-drive-folder(folder={ folder }) - p(if={ more-folders }) - | もっと読み込む - div.files(if={ files.length > 0 }) - virtual(each={ file in files }) - mk-drive-file(file={ file }) - p(if={ more-files }) - | もっと読み込む - div.empty(if={ files.length == 0 && folders.length == 0 && !loading }) - p(if={ !folder == null }) - | ドライブには何もありません。 - p(if={ folder != null }) - | このフォルダーは空です - div.loading(if={ loading }). + + +
+
+ + + +

もっと読み込む

+
+
+ + + +

もっと読み込む

+
+
+

ドライブには何もありません。

+

このフォルダーは空です

+
+
- mk-drive-file-viewer(if={ file != null }, file={ file }) +
+
+ + + +
diff --git a/src/web/app/mobile/tags/drive/file-viewer.tag b/src/web/app/mobile/tags/drive/file-viewer.tag index 8ce89a06f4..ac426278b3 100644 --- a/src/web/app/mobile/tags/drive/file-viewer.tag +++ b/src/web/app/mobile/tags/drive/file-viewer.tag @@ -1,8 +1,9 @@ -mk-drive-file-viewer - p.name { file.name } + +

{ file.name }

+ + +
diff --git a/src/web/app/mobile/tags/drive/file.tag b/src/web/app/mobile/tags/drive/file.tag index ec271441a5..3a2aa87731 100644 --- a/src/web/app/mobile/tags/drive/file.tag +++ b/src/web/app/mobile/tags/drive/file.tag @@ -1,130 +1,137 @@ -mk-drive-file(onclick={ onclick }, data-is-selected={ is-selected }) - div.container - div.thumbnail(style={ 'background-image: url(' + file.url + '?thumbnail&size=128)' }) - div.body - p.name { file.name } - // - if file.tags.length > 0 - ul.tags - each tag in file.tags - li.tag(style={background: tag.color, color: contrast(tag.color)})= tag.name - footer - p.type - mk-file-type-icon(file={ file }) - | { file.type } - p.separator - p.data-size { bytes-to-size(file.datasize) } - p.separator - p.created-at - i.fa.fa-clock-o - mk-time(time={ file.created_at }) - -style. - display block - - &, * - user-select none - - * - pointer-events none - - > .container - max-width 500px - margin 0 auto - padding 16px - - &:after - content "" + +
+
+
+

{ file.name }

+ +
+

+ { file.type } +

+

+

{ bytesToSize(file.datasize) }

+

+

+ +

+
+
+
+ + +
diff --git a/src/web/app/mobile/tags/drive/folder.tag b/src/web/app/mobile/tags/drive/folder.tag index ef3a72ea93..5a13686d4f 100644 --- a/src/web/app/mobile/tags/drive/folder.tag +++ b/src/web/app/mobile/tags/drive/folder.tag @@ -1,45 +1,46 @@ -mk-drive-folder(onclick={ onclick }) - div.container - p.name - i.fa.fa-folder - | { folder.name } - i.fa.fa-angle-right - -style. - display block - color #777 - - &, * - user-select none - - * - pointer-events none - - > .container - max-width 500px - margin 0 auto - padding 16px - - > .name + +
+

{ folder.name }

+
+ + +
diff --git a/src/web/app/mobile/tags/follow-button.tag b/src/web/app/mobile/tags/follow-button.tag index 7cedbbee88..d44fd3b79b 100644 --- a/src/web/app/mobile/tags/follow-button.tag +++ b/src/web/app/mobile/tags/follow-button.tag @@ -1,108 +1,105 @@ -mk-follow-button - button(if={ !init }, class={ wait: wait, follow: !user.is_following, unfollow: user.is_following }, - onclick={ onclick }, - disabled={ wait }) - i.fa.fa-minus(if={ !wait && user.is_following }) - i.fa.fa-plus(if={ !wait && !user.is_following }) - i.fa.fa-spinner.fa-pulse.fa-fw(if={ wait }) - | { user.is_following ? 'フォロー解除' : 'フォロー' } - div.init(if={ init }): i.fa.fa-spinner.fa-pulse.fa-fw + + +
+ + +
diff --git a/src/web/app/mobile/tags/home-timeline.tag b/src/web/app/mobile/tags/home-timeline.tag index 1754bb2b07..6ad7270cef 100644 --- a/src/web/app/mobile/tags/home-timeline.tag +++ b/src/web/app/mobile/tags/home-timeline.tag @@ -1,40 +1,43 @@ -mk-home-timeline - mk-timeline@timeline(init={ init }, more={ more }, empty={ '表示する投稿がありません。誰かしらをフォローするなどしましょう。' }) + + + + + diff --git a/src/web/app/mobile/tags/home.tag b/src/web/app/mobile/tags/home.tag index ebcf8f0bb2..e34d678126 100644 --- a/src/web/app/mobile/tags/home.tag +++ b/src/web/app/mobile/tags/home.tag @@ -1,17 +1,20 @@ -mk-home - mk-home-timeline@tl + + + + + diff --git a/src/web/app/mobile/tags/images-viewer.tag b/src/web/app/mobile/tags/images-viewer.tag index f9d774a124..12bb8e345d 100644 --- a/src/web/app/mobile/tags/images-viewer.tag +++ b/src/web/app/mobile/tags/images-viewer.tag @@ -1,25 +1,27 @@ -mk-images-viewer - div.image@view(onclick={ click }) - img@img(src={ image.url + '?thumbnail&size=512' }, alt={ image.name }, title={ image.name }) - -style. - display block - padding 8px - overflow hidden - box-shadow 0 0 4px rgba(0, 0, 0, 0.2) - border-radius 4px - - > .image - - > img + +
{ image.name }
+ + +
diff --git a/src/web/app/mobile/tags/notification-preview.tag b/src/web/app/mobile/tags/notification-preview.tag index ee936df7ab..c6b7414a81 100644 --- a/src/web/app/mobile/tags/notification-preview.tag +++ b/src/web/app/mobile/tags/notification-preview.tag @@ -1,117 +1,109 @@ -mk-notification-preview(class={ notification.type }) - div.main(if={ notification.type == 'like' }) - img.avatar(src={ notification.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-thumbs-o-up - | { notification.user.name } - p.post-ref { get-post-summary(notification.post) } - - div.main(if={ notification.type == 'repost' }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-retweet - | { notification.post.user.name } - p.post-ref { get-post-summary(notification.post.repost) } - - div.main(if={ notification.type == 'quote' }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-quote-left - | { notification.post.user.name } - p.post-preview { get-post-summary(notification.post) } - - div.main(if={ notification.type == 'follow' }) - img.avatar(src={ notification.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-user-plus - | { notification.user.name } - - div.main(if={ notification.type == 'reply' }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-reply - | { notification.post.user.name } - p.post-preview { get-post-summary(notification.post) } - - div.main(if={ notification.type == 'mention' }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-at - | { notification.post.user.name } - p.post-preview { get-post-summary(notification.post) } - -style. - display block - margin 0 - padding 8px - color #fff - - > .main - word-wrap break-word - - &:after - content "" - display block - clear both - - img - display block - float left - min-width 36px - min-height 36px - max-width 36px - max-height 36px - border-radius 6px - - .text - float right - width calc(100% - 36px) - padding-left 8px - - p + +
avatar +
+

{ notification.user.name }

+

{ getPostSummary(notification.post) }

+
+
+
avatar +
+

{ notification.post.user.name }

+

{ getPostSummary(notification.post.repost) }

+
+
+
avatar +
+

{ notification.post.user.name }

+

{ getPostSummary(notification.post) }

+
+
+
avatar +
+

{ notification.user.name }

+
+
+
avatar +
+

{ notification.post.user.name }

+

{ getPostSummary(notification.post) }

+
+
+
avatar +
+

{ notification.post.user.name }

+

{ getPostSummary(notification.post) }

+
+
+ + +
diff --git a/src/web/app/mobile/tags/notification.tag b/src/web/app/mobile/tags/notification.tag index afcc7441b4..155ebf2930 100644 --- a/src/web/app/mobile/tags/notification.tag +++ b/src/web/app/mobile/tags/notification.tag @@ -1,142 +1,122 @@ -mk-notification(class={ notification.type }) - mk-time(time={ notification.created_at }) - - div.main(if={ notification.type == 'like' }) - a.avatar-anchor(href={ CONFIG.url + '/' + notification.user.username }) - img.avatar(src={ notification.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-thumbs-o-up - a(href={ CONFIG.url + '/' + notification.user.username }) { notification.user.name } - a.post-ref(href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }) { get-post-summary(notification.post) } - - div.main(if={ notification.type == 'repost' }) - a.avatar-anchor(href={ CONFIG.url + '/' + notification.post.user.username }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-retweet - a(href={ CONFIG.url + '/' + notification.post.user.username }) { notification.post.user.name } - a.post-ref(href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }) { get-post-summary(notification.post.repost) } - - div.main(if={ notification.type == 'quote' }) - a.avatar-anchor(href={ CONFIG.url + '/' + notification.post.user.username }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-quote-left - a(href={ CONFIG.url + '/' + notification.post.user.username }) { notification.post.user.name } - a.post-preview(href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }) { get-post-summary(notification.post) } - - div.main(if={ notification.type == 'follow' }) - a.avatar-anchor(href={ CONFIG.url + '/' + notification.user.username }) - img.avatar(src={ notification.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-user-plus - a(href={ CONFIG.url + '/' + notification.user.username }) { notification.user.name } - - div.main(if={ notification.type == 'reply' }) - a.avatar-anchor(href={ CONFIG.url + '/' + notification.post.user.username }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-reply - a(href={ CONFIG.url + '/' + notification.post.user.username }) { notification.post.user.name } - a.post-preview(href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }) { get-post-summary(notification.post) } - - div.main(if={ notification.type == 'mention' }) - a.avatar-anchor(href={ CONFIG.url + '/' + notification.post.user.username }) - img.avatar(src={ notification.post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.text - p - i.fa.fa-at - a(href={ CONFIG.url + '/' + notification.post.user.username }) { notification.post.user.name } - a.post-preview(href={ CONFIG.url + '/' + notification.post.user.username + '/' + notification.post.id }) { get-post-summary(notification.post) } - -style. - display block - margin 0 - padding 16px - - > mk-time - display inline - position absolute - top 16px - right 12px - vertical-align top - color rgba(0, 0, 0, 0.6) - font-size 12px - - > .main - word-wrap break-word - - &:after - content "" - display block - clear both - - .avatar-anchor - display block - float left - - img - min-width 36px - min-height 36px - max-width 36px - max-height 36px - border-radius 6px - - .text - float right - width calc(100% - 36px) - padding-left 8px - - p + + + + + + + + + + + diff --git a/src/web/app/mobile/tags/notifications.tag b/src/web/app/mobile/tags/notifications.tag index 7510d59967..9ebe1dc5c8 100644 --- a/src/web/app/mobile/tags/notifications.tag +++ b/src/web/app/mobile/tags/notifications.tag @@ -1,98 +1,93 @@ -mk-notifications - div.notifications(if={ notifications.length != 0 }) - virtual(each={ notification, i in notifications }) - mk-notification(notification={ notification }) - - p.date(if={ i != notifications.length - 1 && notification._date != notifications[i + 1]._date }) - span - i.fa.fa-angle-up - | { notification._datetext } - span - i.fa.fa-angle-down - | { notifications[i + 1]._datetext } - - p.empty(if={ notifications.length == 0 && !loading }) - | ありません! - p.loading(if={ loading }) - i.fa.fa-spinner.fa-pulse.fa-fw - | 読み込んでいます - mk-ellipsis - -style. - display block - background #fff - - > .notifications - margin 0 auto - max-width 500px - - > mk-notification - border-bottom solid 1px rgba(0, 0, 0, 0.05) - - &:last-child - border-bottom none - - > .date + +
+ + +

{ notification._datetext }{ notifications[i + 1]._datetext }

+
+
+

ありません!

+

読み込んでいます + +

+ + +
diff --git a/src/web/app/mobile/tags/notify.tag b/src/web/app/mobile/tags/notify.tag index 9dd93ccf25..e50a1ef6c1 100644 --- a/src/web/app/mobile/tags/notify.tag +++ b/src/web/app/mobile/tags/notify.tag @@ -1,35 +1,38 @@ -mk-notify - mk-notification-preview(notification={ opts.notification }) + + + + + diff --git a/src/web/app/mobile/tags/page/drive.tag b/src/web/app/mobile/tags/page/drive.tag index 9bef7e6648..02287cecde 100644 --- a/src/web/app/mobile/tags/page/drive.tag +++ b/src/web/app/mobile/tags/page/drive.tag @@ -1,46 +1,51 @@ -mk-drive-page - mk-ui@ui: mk-drive@browser(folder={ parent.opts.folder }, file={ parent.opts.file }) + + + + + + + diff --git a/src/web/app/mobile/tags/page/entrance.tag b/src/web/app/mobile/tags/page/entrance.tag index 67d8bc9bbf..85910e8e89 100644 --- a/src/web/app/mobile/tags/page/entrance.tag +++ b/src/web/app/mobile/tags/page/entrance.tag @@ -1,57 +1,60 @@ -mk-entrance - main - img(src='/_/resources/title.svg', alt='Misskey') - - mk-entrance-signin(if={ mode == 'signin' }) - mk-entrance-signup(if={ mode == 'signup' }) - div.introduction(if={ mode == 'introduction' }) - mk-introduction - button(onclick={ signin }) わかった - - footer - mk-copyright - -style. - display block - height 100% - - > main - display block - - > img + +
Misskey + + +
+ + +
+
+
+ +
+ + +
diff --git a/src/web/app/mobile/tags/page/entrance/signin.tag b/src/web/app/mobile/tags/page/entrance/signin.tag index 484c414e8e..0c5efe620f 100644 --- a/src/web/app/mobile/tags/page/entrance/signin.tag +++ b/src/web/app/mobile/tags/page/entrance/signin.tag @@ -1,45 +1,51 @@ -mk-entrance-signin - mk-signin - div.divider: span or - button.signup(onclick={ parent.signup }) 新規登録 - a.introduction(onclick={ parent.introduction }) Misskeyについて - -style. - display block - margin 0 auto - padding 0 8px - max-width 350px - text-align center - - > .signup - padding 16px - width 100% - font-size 1em - color #fff - background $theme-color - border-radius 3px - - > .divider - padding 16px 0 - text-align center - - &:after - content "" + + +
or
+ Misskeyについて + +
diff --git a/src/web/app/mobile/tags/page/entrance/signup.tag b/src/web/app/mobile/tags/page/entrance/signup.tag index a28f85e634..77dff97511 100644 --- a/src/web/app/mobile/tags/page/entrance/signup.tag +++ b/src/web/app/mobile/tags/page/entrance/signup.tag @@ -1,35 +1,42 @@ -mk-entrance-signup - mk-signup - button.cancel(type='button', onclick={ parent.signin }, title='キャンセル'): i.fa.fa-times + + + + + diff --git a/src/web/app/mobile/tags/page/home.tag b/src/web/app/mobile/tags/page/home.tag index c8d7729652..eb53be6601 100644 --- a/src/web/app/mobile/tags/page/home.tag +++ b/src/web/app/mobile/tags/page/home.tag @@ -1,40 +1,45 @@ -mk-home-page - mk-ui@ui: mk-home@home + + + + + + + diff --git a/src/web/app/mobile/tags/page/new-post.tag b/src/web/app/mobile/tags/page/new-post.tag index 21e00fc1f9..1b6f73875c 100644 --- a/src/web/app/mobile/tags/page/new-post.tag +++ b/src/web/app/mobile/tags/page/new-post.tag @@ -1,5 +1,12 @@ -mk-new-post-page - mk-post-form@form + + + + diff --git a/src/web/app/mobile/tags/page/notifications.tag b/src/web/app/mobile/tags/page/notifications.tag index 9fb34dcd75..666a076cb2 100644 --- a/src/web/app/mobile/tags/page/notifications.tag +++ b/src/web/app/mobile/tags/page/notifications.tag @@ -1,18 +1,23 @@ -mk-notifications-page - mk-ui@ui: mk-notifications@notifications + + + + + + + diff --git a/src/web/app/mobile/tags/page/post.tag b/src/web/app/mobile/tags/page/post.tag index 1dc74d267a..40ba429ec4 100644 --- a/src/web/app/mobile/tags/page/post.tag +++ b/src/web/app/mobile/tags/page/post.tag @@ -1,31 +1,38 @@ -mk-post-page - mk-ui@ui: main: mk-post-detail@post(post={ parent.post }) + + +
+ +
+
+ + +
diff --git a/src/web/app/mobile/tags/page/search.tag b/src/web/app/mobile/tags/page/search.tag index 20de271f73..9dd1d4e92a 100644 --- a/src/web/app/mobile/tags/page/search.tag +++ b/src/web/app/mobile/tags/page/search.tag @@ -1,19 +1,24 @@ -mk-search-page - mk-ui@ui: mk-search@search(query={ parent.opts.query }) + + + + + + + diff --git a/src/web/app/mobile/tags/page/user-followers.tag b/src/web/app/mobile/tags/page/user-followers.tag index e7e9a6fd1e..9809f7085f 100644 --- a/src/web/app/mobile/tags/page/user-followers.tag +++ b/src/web/app/mobile/tags/page/user-followers.tag @@ -1,31 +1,36 @@ -mk-user-followers-page - mk-ui@ui: mk-user-followers@list(if={ !parent.fetching }, user={ parent.user }) + + + + + + + diff --git a/src/web/app/mobile/tags/page/user-following.tag b/src/web/app/mobile/tags/page/user-following.tag index a74ba97b72..71070eb0da 100644 --- a/src/web/app/mobile/tags/page/user-following.tag +++ b/src/web/app/mobile/tags/page/user-following.tag @@ -1,31 +1,36 @@ -mk-user-following-page - mk-ui@ui: mk-user-following@list(if={ !parent.fetching }, user={ parent.user }) + + + + + + + diff --git a/src/web/app/mobile/tags/page/user.tag b/src/web/app/mobile/tags/page/user.tag index 9667abfd14..f6106c95cc 100644 --- a/src/web/app/mobile/tags/page/user.tag +++ b/src/web/app/mobile/tags/page/user.tag @@ -1,20 +1,25 @@ -mk-user-page - mk-ui@ui: mk-user@user(user={ parent.user }, page={ parent.opts.page }) + + + + + + + diff --git a/src/web/app/mobile/tags/post-detail.tag b/src/web/app/mobile/tags/post-detail.tag index c7eb091ce6..b8d8ec3d8d 100644 --- a/src/web/app/mobile/tags/post-detail.tag +++ b/src/web/app/mobile/tags/post-detail.tag @@ -1,415 +1,409 @@ -mk-post-detail - - div.fetching(if={ fetching }) - mk-ellipsis-icon - - div.main(if={ !fetching }) - - button.read-more(if={ p.reply_to && p.reply_to.reply_to_id && context == null }, onclick={ load-context }, disabled={ loading-context }) - i.fa.fa-ellipsis-v(if={ !loading-context }) - i.fa.fa-spinner.fa-pulse(if={ loading-context }) - - div.context - virtual(each={ post in context }) - mk-post-preview(post={ post }) - - div.reply-to(if={ p.reply_to }) - mk-post-preview(post={ p.reply_to }) - - div.repost(if={ is-repost }) - p - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }): img.avatar(src={ post.user.avatar_url + '?thumbnail&size=32' }, alt='avatar') - i.fa.fa-retweet - a.name(href={ CONFIG.url + '/' + post.user.username }) { post.user.name } - | がRepost - - article - a.avatar-anchor(href={ CONFIG.url + '/' + p.user.username }) - img.avatar(src={ p.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - header - a.name(href={ CONFIG.url + '/' + p.user.username }) - | { p.user.name } - span.username - | @{ p.user.username } - div.body - div.text@text - div.media(if={ p.media }) - virtual(each={ file in p.media }) - img(src={ file.url + '?thumbnail&size=512' }, alt={ file.name }, title={ file.name }) - a.time(href={ url }) - mk-time(time={ p.created_at }, mode='detail') - footer - button(onclick={ reply }, title='返信') - i.fa.fa-reply - p.count(if={ p.replies_count > 0 }) { p.replies_count } - button(onclick={ repost }, title='Repost') - i.fa.fa-retweet - p.count(if={ p.repost_count > 0 }) { p.repost_count } - button(class={ liked: p.is_liked }, onclick={ like }, title='善哉') - i.fa.fa-thumbs-o-up - p.count(if={ p.likes_count > 0 }) { p.likes_count } - button(onclick={ NotImplementedException }): i.fa.fa-ellipsis-h - div.reposts-and-likes - div.reposts(if={ reposts && reposts.length > 0 }) - header - a { p.repost_count } - p Repost - ol.users - li.user(each={ reposts }) - a.avatar-anchor(href={ CONFIG.url + '/' + user.username }, title={ user.name }) - img.avatar(src={ user.avatar_url + '?thumbnail&size=32' }, alt='') - div.likes(if={ likes && likes.length > 0 }) - header - a { p.likes_count } - p いいね - ol.users - li.user(each={ likes }) - a.avatar-anchor(href={ CONFIG.url + '/' + username }, title={ name }) - img.avatar(src={ avatar_url + '?thumbnail&size=32' }, alt='') - - div.replies - virtual(each={ post in replies }) - mk-post-detail-sub(post={ post }) - -style. - display block - margin 0 - padding 0 - - > .fetching - padding 64px 0 - - > .main - - > .read-more + +
+ +
+
+ +
+ + + +
+
+ +
+
+

avatar{ post.user.name }がRepost

+
+ +
+ + + +
+
+ + +
diff --git a/src/web/app/mobile/tags/post-form.tag b/src/web/app/mobile/tags/post-form.tag index 759a0820b8..838de1fc48 100644 --- a/src/web/app/mobile/tags/post-form.tag +++ b/src/web/app/mobile/tags/post-form.tag @@ -1,254 +1,264 @@ -mk-post-form - header: div - button.cancel(onclick={ cancel }): i.fa.fa-times - div - span.text-count(class={ over: refs.text.value.length > 300 }) { 300 - refs.text.value.length } - button.submit(onclick={ post }) 投稿 - div.form - mk-post-preview(if={ opts.reply }, post={ opts.reply }) - textarea@text(disabled={ wait }, oninput={ update }, onkeypress={ onkeypress }, onpaste={ onpaste }, placeholder={ opts.reply ? 'この投稿への返信...' : 'いまどうしてる?' }) - div.attaches(if={ files.length != 0 }) - ul.files@attaches - li.file(each={ files }) - div.img(style='background-image: url({ url + "?thumbnail&size=64" })', title={ name }) - li.add(if={ files.length < 4 }, title='PCからファイルを添付', onclick={ select-file }): i.fa.fa-plus - mk-uploader@uploader - button@upload(onclick={ select-file }): i.fa.fa-upload - button@drive(onclick={ select-file-from-drive }): i.fa.fa-cloud - input@file(type='file', accept='image/*', multiple, onchange={ change-file }) + +
+
+ +
{ 300 - refs.text.value.length } + +
+
+
+
+ + +
+
    +
  • +
    +
  • +
  • +
+
+ + + + +
+ + +
diff --git a/src/web/app/mobile/tags/post-preview.tag b/src/web/app/mobile/tags/post-preview.tag index e15b2be244..71faab2b85 100644 --- a/src/web/app/mobile/tags/post-preview.tag +++ b/src/web/app/mobile/tags/post-preview.tag @@ -1,89 +1,86 @@ -mk-post-preview - article - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }) - img.avatar(src={ post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.main - header - a.name(href={ CONFIG.url + '/' + post.user.username }) - | { post.user.name } - span.username - | @{ post.user.username } - a.time(href={ CONFIG.url + '/' + post.user.username + '/' + post.id }) - mk-time(time={ post.created_at }) - div.body - mk-sub-post-content.text(post={ post }) - -style. - display block - margin 0 - padding 0 - font-size 0.9em - background #fff - - > article - - &:after - content "" + + + + + diff --git a/src/web/app/mobile/tags/search-posts.tag b/src/web/app/mobile/tags/search-posts.tag index 4b1b12af27..c22d794b5b 100644 --- a/src/web/app/mobile/tags/search-posts.tag +++ b/src/web/app/mobile/tags/search-posts.tag @@ -1,29 +1,32 @@ -mk-search-posts - mk-timeline(init={ init }, more={ more }, empty={ '「' + query + '」に関する投稿は見つかりませんでした。' }) + + + + + diff --git a/src/web/app/mobile/tags/search.tag b/src/web/app/mobile/tags/search.tag index bf2299cc9b..bb0744147f 100644 --- a/src/web/app/mobile/tags/search.tag +++ b/src/web/app/mobile/tags/search.tag @@ -1,12 +1,15 @@ -mk-search - mk-search-posts@posts(query={ query }) + + + + + diff --git a/src/web/app/mobile/tags/stream-indicator.tag b/src/web/app/mobile/tags/stream-indicator.tag index 2eb5889ca6..4046f5fec4 100644 --- a/src/web/app/mobile/tags/stream-indicator.tag +++ b/src/web/app/mobile/tags/stream-indicator.tag @@ -1,59 +1,54 @@ -mk-stream-indicator - p(if={ state == 'initializing' }) - i.fa.fa-spinner.fa-spin - span - | 接続中 - mk-ellipsis - p(if={ state == 'reconnecting' }) - i.fa.fa-spinner.fa-spin - span - | 切断されました 接続中 - mk-ellipsis - p(if={ state == 'connected' }) - i.fa.fa-check - span 接続完了 + +

接続中 +

+

切断されました 接続中 +

+

接続完了

+ + +
diff --git a/src/web/app/mobile/tags/sub-post-content.tag b/src/web/app/mobile/tags/sub-post-content.tag index 595f63d794..0f015fddfd 100644 --- a/src/web/app/mobile/tags/sub-post-content.tag +++ b/src/web/app/mobile/tags/sub-post-content.tag @@ -1,36 +1,37 @@ -mk-sub-post-content - div.body - a.reply(if={ post.reply_to_id }): i.fa.fa-reply - span@text - a.quote(if={ post.repost_id }, href={ '/post:' + post.repost_id }) RP: ... - details(if={ post.media }) - summary ({ post.media.length }枚の画像) - mk-images-viewer(images={ post.media }) + + +
+ ({ post.media.length }枚の画像) + +
+ + +
diff --git a/src/web/app/mobile/tags/timeline-post-sub.tag b/src/web/app/mobile/tags/timeline-post-sub.tag index 920503ebcc..e6f9df2be6 100644 --- a/src/web/app/mobile/tags/timeline-post-sub.tag +++ b/src/web/app/mobile/tags/timeline-post-sub.tag @@ -1,99 +1,96 @@ -mk-timeline-post-sub - article - a.avatar-anchor(href={ '/' + post.user.username }) - img.avatar(src={ post.user.avatar_url + '?thumbnail&size=96' }, alt='avatar') - div.main - header - a.name(href={ '/' + post.user.username }) - | { post.user.name } - span.username - | @{ post.user.username } - a.created-at(href={ '/' + post.user.username + '/' + post.id }) - mk-time(time={ post.created_at }) - div.body - mk-sub-post-content.text(post={ post }) - -style. - display block - margin 0 - padding 0 - font-size 0.9em - - > article - padding 16px - - &:after - content "" + + + + + diff --git a/src/web/app/mobile/tags/timeline-post.tag b/src/web/app/mobile/tags/timeline-post.tag index a71fab26f0..3037b4bef3 100644 --- a/src/web/app/mobile/tags/timeline-post.tag +++ b/src/web/app/mobile/tags/timeline-post.tag @@ -1,296 +1,291 @@ -mk-timeline-post(class={ repost: is-repost }) - - div.reply-to(if={ p.reply_to }) - mk-timeline-post-sub(post={ p.reply_to }) - - div.repost(if={ is-repost }) - p - a.avatar-anchor(href={ CONFIG.url + '/' + post.user.username }): img.avatar(src={ post.user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - i.fa.fa-retweet - a.name(href={ CONFIG.url + '/' + post.user.username }) { post.user.name } - | がRepost - mk-time(time={ post.created_at }) - - article - a.avatar-anchor(href={ CONFIG.url + '/' + p.user.username }) - img.avatar(src={ p.user.avatar_url + '?thumbnail&size=96' }, alt='avatar') - div.main - header - a.name(href={ CONFIG.url + '/' + p.user.username }) - | { p.user.name } - span.username - | @{ p.user.username } - a.created-at(href={ url }) - mk-time(time={ p.created_at }) - div.body - div.text - a.reply(if={ p.reply_to }): i.fa.fa-reply - soan@text - a.quote(if={ p.repost != null }) RP: - div.media(if={ p.media }) - mk-images-viewer(images={ p.media }) - div.repost(if={ p.repost }) - i.fa.fa-quote-right.fa-flip-horizontal - mk-post-preview.repost(post={ p.repost }) - footer - button(onclick={ reply }) - i.fa.fa-reply - p.count(if={ p.replies_count > 0 }) { p.replies_count } - button(onclick={ repost }, title='Repost') - i.fa.fa-retweet - p.count(if={ p.repost_count > 0 }) { p.repost_count } - button(class={ liked: p.is_liked }, onclick={ like }) - i.fa.fa-thumbs-o-up - p.count(if={ p.likes_count > 0 }) { p.likes_count } - -style. - display block - margin 0 - padding 0 - font-size 12px - - @media (min-width 350px) - font-size 14px - - @media (min-width 500px) - font-size 16px - - > .repost - color #9dbb00 - background linear-gradient(to bottom, #edfde2 0%, #fff 100%) - - > p + +
+ +
+
+

avatar{ post.user.name }がRepost

+ +
+
avatar +
+
{ p.user.name }@{ p.user.username } +
+
+
+ RP: +
+
+ +
+
+ +
+
+
+ + + +
+
+
+ + +
diff --git a/src/web/app/mobile/tags/timeline.tag b/src/web/app/mobile/tags/timeline.tag index 7114824872..cef05d54a0 100644 --- a/src/web/app/mobile/tags/timeline.tag +++ b/src/web/app/mobile/tags/timeline.tag @@ -1,128 +1,120 @@ -mk-timeline - div.init(if={ init }) - i.fa.fa-spinner.fa-pulse - | 読み込んでいます - div.empty(if={ !init && posts.length == 0 }) - i.fa.fa-comments-o - | { opts.empty || '表示するものがありません' } - virtual(each={ post, i in posts }) - mk-timeline-post(post={ post }) - p.date(if={ i != posts.length - 1 && post._date != posts[i + 1]._date }) - span - i.fa.fa-angle-up - | { post._datetext } - span - i.fa.fa-angle-down - | { posts[i + 1]._datetext } - footer(if={ !init }) - button(if={ can-fetch-more }, onclick={ more }, disabled={ fetching }) - span(if={ !fetching }) もっとみる - span(if={ fetching }) - | 読み込み中 - mk-ellipsis - -style. - display block - background #fff - background-clip content-box - overflow hidden - - > .init - padding 64px 0 - text-align center - color #999 - - > i - margin-right 4px - - > .empty - margin 0 auto - padding 32px - max-width 400px - text-align center - color #999 - - > i + +
読み込んでいます
+
{ opts.empty || '表示するものがありません' }
+ + +

{ post._datetext }{ posts[i + 1]._datetext }

+
+
+ +
+ + +
diff --git a/src/web/app/mobile/tags/ui-header.tag b/src/web/app/mobile/tags/ui-header.tag index 7105d065f8..273b03213e 100644 --- a/src/web/app/mobile/tags/ui-header.tag +++ b/src/web/app/mobile/tags/ui-header.tag @@ -1,98 +1,103 @@ -mk-ui-header - mk-special-message - div.main - div.backdrop - div.content - button.nav#hamburger: i.fa.fa-bars - h1@title Misskey - button.post(onclick={ post }): i.fa.fa-pencil + + +
+
+
+ +

Misskey

+ +
+
+ + +
diff --git a/src/web/app/mobile/tags/ui-nav.tag b/src/web/app/mobile/tags/ui-nav.tag index 2c551b30ad..de9c17cc8f 100644 --- a/src/web/app/mobile/tags/ui-nav.tag +++ b/src/web/app/mobile/tags/ui-nav.tag @@ -1,169 +1,151 @@ -mk-ui-nav - div.body: div.content - a.me(if={ SIGNIN }, href={ CONFIG.url + '/' + I.username }) - img.avatar(src={ I.avatar_url + '?thumbnail&size=128' }, alt='avatar') - p.name { I.name } - div.links - ul - li.post: a(href='/i/post') - i.icon.fa.fa-pencil-square-o - | 新規投稿 - i.angle.fa.fa-angle-right - ul - li.home: a(href='/') - i.icon.fa.fa-home - | ホーム - i.angle.fa.fa-angle-right - li.mentions: a(href='/i/mentions') - i.icon.fa.fa-at - | あなた宛て - i.angle.fa.fa-angle-right - li.notifications: a(href='/i/notifications') - i.icon.fa.fa-bell-o - | 通知 - i.angle.fa.fa-angle-right - li.messaging: a - i.icon.fa.fa-comments-o - | メッセージ - i.angle.fa.fa-angle-right - ul - li.settings: a(onclick={ search }) - i.icon.fa.fa-search - | 検索 - i.angle.fa.fa-angle-right - ul - li.settings: a(href='/i/drive') - i.icon.fa.fa-cloud - | ドライブ - i.angle.fa.fa-angle-right - li.settings: a(href='/i/upload') - i.icon.fa.fa-upload - | アップロード - i.angle.fa.fa-angle-right - ul - li.settings: a(href='/i/settings') - i.icon.fa.fa-cog - | 設定 - i.angle.fa.fa-angle-right - p.about - a Misskeyについて - -style. - display block - position fixed - top 0 - left 0 - z-index -1 - width 240px - color #fff - background #313538 - visibility hidden - - .body - height 100% - overflow hidden - - .content - min-height 100% - - .me - display block - margin 0 - padding 16px - - .avatar - display inline - max-width 64px - border-radius 32px - vertical-align middle - - .name + + + + + diff --git a/src/web/app/mobile/tags/ui.tag b/src/web/app/mobile/tags/ui.tag index 81dfac80ca..966cfb4255 100644 --- a/src/web/app/mobile/tags/ui.tag +++ b/src/web/app/mobile/tags/ui.tag @@ -1,50 +1,51 @@ -mk-ui - div.global@global - mk-ui-header@header(ready={ ready }) - mk-ui-nav@nav(ready={ ready }) + +
+ + +
+
+ + + +
diff --git a/src/web/app/mobile/tags/user-followers.tag b/src/web/app/mobile/tags/user-followers.tag index 7004398268..00d11f3970 100644 --- a/src/web/app/mobile/tags/user-followers.tag +++ b/src/web/app/mobile/tags/user-followers.tag @@ -1,22 +1,25 @@ -mk-user-followers - mk-users-list@list(fetch={ fetch }, count={ user.followers_count }, you-know-count={ user.followers_you_know_count }, no-users={ 'フォロワーはいないようです。' }) + + + + + diff --git a/src/web/app/mobile/tags/user-following.tag b/src/web/app/mobile/tags/user-following.tag index c122acd607..bbfa547c79 100644 --- a/src/web/app/mobile/tags/user-following.tag +++ b/src/web/app/mobile/tags/user-following.tag @@ -1,22 +1,25 @@ -mk-user-following - mk-users-list@list(fetch={ fetch }, count={ user.following_count }, you-know-count={ user.following_you_know_count }, no-users={ 'フォロー中のユーザーはいないようです。' }) + + + + + diff --git a/src/web/app/mobile/tags/user-preview.tag b/src/web/app/mobile/tags/user-preview.tag index 56bd93825c..7b00043a1c 100644 --- a/src/web/app/mobile/tags/user-preview.tag +++ b/src/web/app/mobile/tags/user-preview.tag @@ -1,92 +1,89 @@ -mk-user-preview - a.avatar-anchor(href={ CONFIG.url + '/' + user.username }) - img.avatar(src={ user.avatar_url + '?thumbnail&size=64' }, alt='avatar') - div.main - header - a.name(href={ CONFIG.url + '/' + user.username }) - | { user.name } - span.username - | @{ user.username } - div.body - div.bio { user.bio } - -style. - display block - margin 0 - padding 16px - font-size 12px - - @media (min-width 350px) - font-size 14px - - @media (min-width 500px) - font-size 16px - - &:after - content "" - display block - clear both - - > .avatar-anchor - display block - float left - margin 0 10px 0 0 - - @media (min-width 500px) - margin-right 16px - - > .avatar +avatar +
+
{ user.name }@{ user.username }
+
+
{ user.bio }
+
+
+ + +
diff --git a/src/web/app/mobile/tags/user-timeline.tag b/src/web/app/mobile/tags/user-timeline.tag index 848405d24e..354c0790c2 100644 --- a/src/web/app/mobile/tags/user-timeline.tag +++ b/src/web/app/mobile/tags/user-timeline.tag @@ -1,28 +1,31 @@ -mk-user-timeline - mk-timeline@timeline(init={ init }, more={ more }, empty={ with-media ? 'メディア付き投稿はありません。' : 'このユーザーはまだ投稿していないようです。' }) + + + + + diff --git a/src/web/app/mobile/tags/user.tag b/src/web/app/mobile/tags/user.tag index 1ecbc3d99e..bce6c883f5 100644 --- a/src/web/app/mobile/tags/user.tag +++ b/src/web/app/mobile/tags/user.tag @@ -1,201 +1,189 @@ -mk-user - div.user(if={ !fetching }) - header - div.banner(style={ user.banner_url ? 'background-image: url(' + user.banner_url + '?thumbnail&size=1024)' : '' }) - div.body - div.top - a.avatar: img(src={ user.avatar_url + '?thumbnail&size=160' }, alt='avatar') - mk-follow-button(if={ SIGNIN && I.id != user.id }, user={ user }) + +
+
+ +
+
avatar + +
+
+

{ user.name }

@{ user.username }フォローされています +
+
{ user.bio }
+
+

{ user.location }

+

{ user.birthday.replace('-', '年').replace('-', '月') + '日' }

+
+ +
+ +
+
+ + + +
+
+ + +
diff --git a/src/web/app/mobile/tags/users-list.tag b/src/web/app/mobile/tags/users-list.tag index 3e29a0a4cc..f64f196e46 100644 --- a/src/web/app/mobile/tags/users-list.tag +++ b/src/web/app/mobile/tags/users-list.tag @@ -1,125 +1,116 @@ -mk-users-list - nav - span(data-is-active={ mode == 'all' }, onclick={ set-mode.bind(this, 'all') }) - | すべて - span { opts.count } - // ↓ https://github.com/riot/riot/issues/2080 - span(if={ SIGNIN && opts.you-know-count != '' }, data-is-active={ mode == 'iknow' }, onclick={ set-mode.bind(this, 'iknow') }) - | 知り合い - span { opts.you-know-count } - - div.users(if={ !fetching && users.length != 0 }) - mk-user-preview(each={ users }, user={ this }) - - button.more(if={ !fetching && next != null }, onclick={ more }, disabled={ more-fetching }) - span(if={ !more-fetching }) もっと - span(if={ more-fetching }) - | 読み込み中 - mk-ellipsis - - p.no(if={ !fetching && users.length == 0 }) - | { opts.no-users } - p.fetching(if={ fetching }) - i.fa.fa-spinner.fa-pulse.fa-fw - | 読み込んでいます - mk-ellipsis - -style. - display block - background #fff - - > nav - display flex - justify-content center - margin 0 auto - max-width 600px - border-bottom solid 1px #ddd - - > span + + +
+ +
+ +

{ opts.noUsers }

+

読み込んでいます + +

+ + +