diff --git a/gulpfile.ts b/gulpfile.ts index 5246705a1..677225c39 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 f5b155555..21c2339bc 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 b7017daec..d4818b9bf 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 0fccf375e..c5041935f 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 19ef68bea..047388449 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 47eca62ac..71755dd8f 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 68b8f95ad..4569fe81f 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 7205fbe76..5e4405545 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 99df48567..cfeeb24ac 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 589c747b3..3b9879655 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 131826e59..ee7318a9f 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 3be690336..2afd2b9ff 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 6f4013b1c..dc5faca08 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 9b28d7d1f..c07b27fb1 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 5a6d5787e..ffba09c2d 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 52ad89a44..5456adb0b 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 6d4e9b636..6a081ddaf 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 605d26bc6..860d4d547 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 18892e810..be7db32c5 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 a4cfe5726..c84accb05 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 13d9df691..ecebf26a3 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 636853407..37c67f07b 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 7c3c7b8a2..c82a1e1e3 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 16e1a72b3..768c76d95 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 e2b522cb0..9f9ff2cc4 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 f11a0c085..09a746fb9 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 88a461db8..d0aab4995 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 9f8a1a672..49ea8332d 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 c8b51009e..d3a85e915 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 b3a5fc9a4..c7447a3c2 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 62e6425fe..2bcb15f87 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 7d7dca6c9..96779601d 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 1702bb650..8daa54983 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 67fb1047b..eb50e51c6 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 0f3b06d54..ddeb21027 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 398a26a80..34d6efdf5 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 5d18bc047..34731bb79 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 41bd1f0e1..300a5fe03 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 9b75a251e..6e8e40a2b 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 a11f4a364..d43e68ea9 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 0e21adec4..dda71218a 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 87c65729d..affa55c96 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 a41bd9f8a..01d9b20ea 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 0f0cd0269..81ceff617 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 5b8e7e1b3..7e153bc23 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 588a765d0..43baa0143 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 b97270657..245427bad 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 ae8d43c64..24a0035c4 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 b9095fb2d..bfd9d32e5 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 ea2746d1e..2bd9d104d 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 9c1aa33ec..d85da0d29 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 bfb90da06..bcf770dda 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 1ae856a6b..6d4a308ac 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 6a3885d7c..41ec87662 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 a9939d67c..c08c8d692 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 62ec4f517..a71ee5862 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 1058de22e..ecf1e04d2 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 12eb0cb40..b521eb2fd 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 9f57500b8..eeb92fc3f 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 d7a2cc32a..517689d13 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 673b11419..46a2297f2 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 ca396d741..929e62fc3 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 b6979b624..17ebfd228 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 d47815a89..b8f03fb6f 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 5e18f616a..4e1c5277a 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 8ff39bc29..26bdb6898 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 1b585f700..2452b7d79 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 5d419a580..3a0e713d3 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 fe23cc6fa..e3db8c0f7 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 81ab9ce00..f355770d3 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 a7878ddc0..a3b3bafd9 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 d41093c29..d6587e813 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 b7aa74573..8b6411c12 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 e071b7c70..c395a4432 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 872777794..753dea1ad 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 224858788..3950d6cb0 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 f17b15280..403526178 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 ffb081e4f..c6cdb53b4 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 7c042686e..48b04d344 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 40012f951..a1008b475 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 37fbad251..0352cffc1 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 9862ff6e4..2d999e84c 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 aec426ac7..1a9703016 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 504294483..3293abb22 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 68c9c310d..a8fc2a69e 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 bff038580..ab4bbda04 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 e25984871..6013f8967 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 ac47fbf79..7e7811df2 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 311f8bfed..bd6006965 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 2eb5889ca..4046f5fec 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 976a6f398..5b4497fda 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 39b1ad7f7..a9a13e9f9 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 8b90f0d01..77d695c36 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 dfd1b7c14..ce6c00d0b 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 ffb1eeec0..47351b526 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 987907a68..da50d8401 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 153c3137b..8844307ae 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 495aad500..05d4f4c2c 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 558c98761..79f836408 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 24e4e4498..880338493 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 b02817cd8..4ec0ba183 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 6e5f948b8..aacf23cf5 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 6bced1f9e..713db21d9 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 d18b04446..c6899be46 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 52f9f4383..9f96b0017 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 91f94f08d..343820d4e 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 0a39f2e4b..87b88b6cd 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 47c3a1561..13c0bc2c3 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 f7f0fcd5e..28643cd90 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 5abd79ff1..7b4ebfb84 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 4bf0260ff..602ce1b9c 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 e9d142871..1c2759a3a 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 61a840ee6..eb79113e4 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 75f4ac4a6..61070c381 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 f299e6236..ed1d86878 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 adb685845..1079282ed 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 ced90e2e8..89eb53933 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 4d022e68c..777d9caee 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 9ae96eed9..e2b0ef133 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 9732a6c55..750df64df 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 443bf2bff..c74a43d15 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 aa9ba68f3..4311f1156 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 f46a9d328..b7eb441fa 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 7bc57fbb0..6be52e61b 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 8c19e39f4..f255b8432 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 442299026..f4fd24326 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 fcc78d1e6..005f16d58 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 8ce89a06f..ac426278b 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 ec271441a..3a2aa8773 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 ef3a72ea9..5a13686d4 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 7cedbbee8..d44fd3b79 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 1754bb2b0..6ad7270ce 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 ebcf8f0bb..e34d67812 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 f9d774a12..12bb8e345 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 ee936df7a..c6b7414a8 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 afcc7441b..155ebf293 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 7510d5996..9ebe1dc5c 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 9dd93ccf2..e50a1ef6c 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 9bef7e664..02287cecd 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 67d8bc9bb..85910e8e8 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 484c414e8..0c5efe620 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 a28f85e63..77dff9751 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 c8d772965..eb53be660 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 21e00fc1f..1b6f73875 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 9fb34dcd7..666a076cb 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 1dc74d267..40ba429ec 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 20de271f7..9dd1d4e92 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 e7e9a6fd1..9809f7085 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 a74ba97b7..71070eb0d 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 9667abfd1..f6106c95c 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 c7eb091ce..b8d8ec3d8 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 759a0820b..838de1fc4 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 e15b2be24..71faab2b8 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 4b1b12af2..c22d794b5 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 bf2299cc9..bb0744147 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 2eb5889ca..4046f5fec 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 595f63d79..0f015fddf 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 920503ebc..e6f9df2be 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 a71fab26f..3037b4bef 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 711482487..cef05d54a 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 7105d065f..273b03213 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 2c551b30a..de9c17cc8 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 81dfac80c..966cfb425 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 700439826..00d11f397 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 c122acd60..bbfa547c7 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 56bd93825..7b00043a1 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 848405d24..354c0790c 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 1ecbc3d99..bce6c883f 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 3e29a0a4c..f64f196e4 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 }

+

読み込んでいます + +

+ + +