diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000000..679d4f12db --- /dev/null +++ b/.eslintrc @@ -0,0 +1,19 @@ +{ + "parserOptions": { + "parser": "typescript-eslint-parser" + }, + "extends": [ + "eslint:recommended", + "plugin:vue/recommended" + ], + "rules": { + "vue/require-v-for-key": false, + "vue/max-attributes-per-line": false, + "vue/html-indent": false, + "vue/html-self-closing": false, + "vue/no-unused-vars": false, + "no-console": 0, + "no-unused-vars": 0, + "no-empty": 0 + } +} diff --git a/.gitattributes b/.gitattributes index c6c5947baf..952d6cd0e9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,3 @@ *.svg -diff -text *.psd -diff -text *.ai -diff -text - -*.tag linguist-language=HTML diff --git a/gulpfile.ts b/gulpfile.ts index 21870473ed..736507bafb 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -56,7 +56,7 @@ gulp.task('build:js', () => ); gulp.task('build:ts', () => { - const tsProject = ts.createProject('./src/tsconfig.json'); + const tsProject = ts.createProject('./tsconfig.json'); return tsProject .src() diff --git a/locales/index.ts b/locales/index.ts index 0593af366c..ced3b4cb32 100644 --- a/locales/index.ts +++ b/locales/index.ts @@ -11,7 +11,7 @@ const loadLang = lang => yaml.safeLoad( const native = loadLang('ja'); const langs = { - 'en': loadLang('en'), + //'en': loadLang('en'), 'ja': native }; diff --git a/package.json b/package.json index bd51144807..4521b0ceb5 100644 --- a/package.json +++ b/package.json @@ -81,9 +81,9 @@ "accesses": "2.5.0", "animejs": "2.2.0", "autwh": "0.0.1", - "awesome-typescript-loader": "3.4.1", "bcryptjs": "2.4.3", "body-parser": "1.18.2", + "cache-loader": "^1.2.0", "cafy": "3.2.1", "chai": "4.1.2", "chai-http": "3.0.0", @@ -99,6 +99,8 @@ "diskusage": "0.2.4", "elasticsearch": "14.1.0", "escape-regexp": "0.0.1", + "eslint": "^4.18.0", + "eslint-plugin-vue": "^4.2.2", "eventemitter3": "3.0.0", "exif-js": "2.3.0", "express": "4.16.2", @@ -118,12 +120,15 @@ "gulp-typescript": "3.2.4", "gulp-uglify": "3.0.0", "gulp-util": "3.0.8", + "hard-source-webpack-plugin": "0.6.0-alpha.8", "highlight.js": "9.12.0", + "html-minifier": "^3.5.9", "inquirer": "5.0.1", "is-root": "1.0.0", "is-url": "1.2.2", "js-yaml": "3.10.0", "license-checker": "16.0.0", + "loader-utils": "^1.1.0", "mecab-async": "0.1.2", "mkdirp": "0.5.1", "mocha": "5.0.0", @@ -145,6 +150,7 @@ "recaptcha-promise": "0.1.3", "reconnecting-websocket": "3.2.2", "redis": "2.8.0", + "replace-string-loader": "0.0.7", "request": "2.83.0", "rimraf": "2.6.2", "riot": "3.8.1", @@ -155,6 +161,7 @@ "serve-favicon": "2.4.5", "sortablejs": "1.7.0", "speakeasy": "2.0.0", + "string-replace-loader": "^1.3.0", "string-replace-webpack-plugin": "0.1.3", "style-loader": "0.20.1", "stylus": "0.54.5", @@ -165,15 +172,25 @@ "tcp-port-used": "0.1.2", "textarea-caret": "3.0.2", "tmp": "0.0.33", + "ts-loader": "^3.5.0", "ts-node": "4.1.0", "tslint": "5.9.1", "typescript": "2.7.1", + "typescript-eslint-parser": "^13.0.0", "uglify-es": "3.3.9", "uglifyjs-webpack-plugin": "1.1.8", "uuid": "3.2.1", "vhost": "3.0.2", + "vue": "^2.5.13", + "vue-cropperjs": "^2.2.0", + "vue-js-modal": "^1.3.9", + "vue-loader": "^14.1.1", + "vue-router": "^3.0.1", + "vue-template-compiler": "^2.5.13", + "vuedraggable": "^2.16.0", "web-push": "3.2.5", "webpack": "3.10.0", + "webpack-replace-loader": "^1.3.0", "websocket": "1.0.25", "xev": "2.0.0" } diff --git a/src/api/bot/core.ts b/src/api/bot/core.ts index ddae6405f5..0a073a3127 100644 --- a/src/api/bot/core.ts +++ b/src/api/bot/core.ts @@ -305,7 +305,7 @@ class TlContext extends Context { private async getTl() { const tl = await require('../endpoints/posts/timeline')({ limit: 5, - max_id: this.next ? this.next : undefined + until_id: this.next ? this.next : undefined }, this.bot.user); if (tl.length > 0) { @@ -357,7 +357,7 @@ class NotificationsContext extends Context { private async getNotifications() { const notifications = await require('../endpoints/i/notifications')({ limit: 5, - max_id: this.next ? this.next : undefined + until_id: this.next ? this.next : undefined }, this.bot.user); if (notifications.length > 0) { diff --git a/src/api/endpoints.ts b/src/api/endpoints.ts index e846381578..ff214c3004 100644 --- a/src/api/endpoints.ts +++ b/src/api/endpoints.ts @@ -194,6 +194,11 @@ const endpoints: Endpoint[] = [ withCredential: true, secure: true }, + { + name: 'i/update_client_setting', + withCredential: true, + secure: true + }, { name: 'i/pin', kind: 'account-write' diff --git a/src/api/endpoints/i/update.ts b/src/api/endpoints/i/update.ts index 7bbbf95900..43c5245044 100644 --- a/src/api/endpoints/i/update.ts +++ b/src/api/endpoints/i/update.ts @@ -46,19 +46,13 @@ module.exports = async (params, user, _, isSecure) => new Promise(async (res, re if (bannerIdErr) return rej('invalid banner_id param'); if (bannerId) user.banner_id = bannerId; - // Get 'show_donation' parameter - const [showDonation, showDonationErr] = $(params.show_donation).optional.boolean().$; - if (showDonationErr) return rej('invalid show_donation param'); - if (showDonation) user.client_settings.show_donation = showDonation; - await User.update(user._id, { $set: { name: user.name, description: user.description, avatar_id: user.avatar_id, banner_id: user.banner_id, - profile: user.profile, - 'client_settings.show_donation': user.client_settings.show_donation + profile: user.profile } }); diff --git a/src/api/endpoints/i/update_client_setting.ts b/src/api/endpoints/i/update_client_setting.ts new file mode 100644 index 0000000000..b817ff354c --- /dev/null +++ b/src/api/endpoints/i/update_client_setting.ts @@ -0,0 +1,43 @@ +/** + * Module dependencies + */ +import $ from 'cafy'; +import User, { pack } from '../../models/user'; +import event from '../../event'; + +/** + * Update myself + * + * @param {any} params + * @param {any} user + * @return {Promise} + */ +module.exports = async (params, user) => new Promise(async (res, rej) => { + // Get 'name' parameter + const [name, nameErr] = $(params.name).string().$; + if (nameErr) return rej('invalid name param'); + + // Get 'value' parameter + const [value, valueErr] = $(params.value).nullable.any().$; + if (valueErr) return rej('invalid value param'); + + const x = {}; + x[`client_settings.${name}`] = value; + + await User.update(user._id, { + $set: x + }); + + // Serialize + user.client_settings[name] = value; + const iObj = await pack(user, user, { + detail: true, + includeSecrets: true + }); + + // Send response + res(iObj); + + // Publish i updated event + event(user._id, 'i_updated', iObj); +}); diff --git a/src/api/private/signup.ts b/src/api/private/signup.ts index 8efdb6db47..19e3314756 100644 --- a/src/api/private/signup.ts +++ b/src/api/private/signup.ts @@ -15,7 +15,7 @@ const home = { 'profile', 'calendar', 'activity', - 'rss-reader', + 'rss', 'trends', 'photo-stream', 'version' @@ -23,8 +23,8 @@ const home = { right: [ 'broadcast', 'notifications', - 'user-recommendation', - 'recommended-polls', + 'users', + 'polls', 'server', 'donation', 'nav', diff --git a/src/common/build/i18n.ts b/src/common/build/i18n.ts index 1ae22147c4..5e3c0381a9 100644 --- a/src/common/build/i18n.ts +++ b/src/common/build/i18n.ts @@ -17,7 +17,14 @@ export default class Replacer { } private get(key: string) { - let text = locale[this.lang]; + const texts = locale[this.lang]; + + if (texts == null) { + console.warn(`lang '${this.lang}' is not supported`); + return key; // Fallback + } + + let text = texts; // Check the key existance const error = key.split('.').some(k => { diff --git a/src/web/app/app.vue b/src/web/app/app.vue new file mode 100644 index 0000000000..321e003930 --- /dev/null +++ b/src/web/app/app.vue @@ -0,0 +1,3 @@ + diff --git a/src/web/app/auth/tags/form.tag b/src/web/app/auth/tags/form.tag deleted file mode 100644 index 4a236f7594..0000000000 --- a/src/web/app/auth/tags/form.tag +++ /dev/null @@ -1,130 +0,0 @@ - -
-

{ 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 deleted file mode 100644 index e71214f4a3..0000000000 --- a/src/web/app/auth/tags/index.tag +++ /dev/null @@ -1,143 +0,0 @@ - -
-

読み込み中

- -
-

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

-

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

-
-
-

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

-

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

-

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

-
-
-

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

-
-
-
-

サインインしてください

- -
-
Misskey
- - -
diff --git a/src/web/app/auth/tags/index.ts b/src/web/app/auth/tags/index.ts deleted file mode 100644 index 42dffe67d9..0000000000 --- a/src/web/app/auth/tags/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -require('./index.tag'); -require('./form.tag'); diff --git a/src/web/app/auth/views/form.vue b/src/web/app/auth/views/form.vue new file mode 100644 index 0000000000..30ad64ed2d --- /dev/null +++ b/src/web/app/auth/views/form.vue @@ -0,0 +1,140 @@ + + + + + diff --git a/src/web/app/auth/views/index.vue b/src/web/app/auth/views/index.vue new file mode 100644 index 0000000000..1e372c0bde --- /dev/null +++ b/src/web/app/auth/views/index.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/src/web/app/ch/tags/channel.tag b/src/web/app/ch/tags/channel.tag index cc8ce1ed9e..b5c6ce1e69 100644 --- a/src/web/app/ch/tags/channel.tag +++ b/src/web/app/ch/tags/channel.tag @@ -1,12 +1,12 @@
-
+

{ channel.title }

-
-

このチャンネルをウォッチしています ウォッチ解除

-

このチャンネルをウォッチする

+
+

このチャンネルをウォッチしています ウォッチ解除

+

このチャンネルをウォッチする

-

読み込み中

-
-

まだ投稿がありません

- +

読み込み中

+
+

まだ投稿がありません

+

- -
+ +

参加するにはログインまたは新規登録してください


@@ -33,7 +33,7 @@ Misskey ver { _VERSION_ } (葵 aoi)
- - diff --git a/src/web/app/ch/tags/index.tag b/src/web/app/ch/tags/index.tag index 5f3871802a..88df2ec45d 100644 --- a/src/web/app/ch/tags/index.tag +++ b/src/web/app/ch/tags/index.tag @@ -1,21 +1,21 @@
- +
-
    + - - diff --git a/src/web/app/common/tags/signin-history.tag b/src/web/app/common/-tags/signin-history.tag similarity index 82% rename from src/web/app/common/tags/signin-history.tag rename to src/web/app/common/-tags/signin-history.tag index cdd58c4c67..a347c7c235 100644 --- a/src/web/app/common/tags/signin-history.tag +++ b/src/web/app/common/-tags/signin-history.tag @@ -1,13 +1,13 @@ -
    +
    - - - diff --git a/src/web/app/common/tags/ellipsis.tag b/src/web/app/common/tags/ellipsis.tag deleted file mode 100644 index 97ef745d02..0000000000 --- a/src/web/app/common/tags/ellipsis.tag +++ /dev/null @@ -1,24 +0,0 @@ -... - - diff --git a/src/web/app/common/tags/error.tag b/src/web/app/common/tags/error.tag deleted file mode 100644 index a5b8d14898..0000000000 --- a/src/web/app/common/tags/error.tag +++ /dev/null @@ -1,215 +0,0 @@ - - -

    %i18n:common.tags.mk-error.title%

    -

    { - '%i18n:common.tags.mk-error.description%'.substr(0, '%i18n:common.tags.mk-error.description%'.indexOf('{')) - }{ - '%i18n:common.tags.mk-error.description%'.match(/\{(.+?)\}/)[1] - }{ - '%i18n:common.tags.mk-error.description%'.substr('%i18n:common.tags.mk-error.description%'.indexOf('}') + 1) - }

    - - -

    %i18n:common.tags.mk-error.thanks%

    - - -
    - - -

    %fa:wrench%%i18n:common.tags.mk-error.troubleshooter.title%

    -
    -

    %fa:check%%fa:times%{ network == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-network%' : '%i18n:common.tags.mk-error.troubleshooter.network%' }

    -

    %fa:check%%fa:times%{ internet == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-internet%' : '%i18n:common.tags.mk-error.troubleshooter.internet%' }

    -

    %fa:check%%fa:times%{ server == null ? '%i18n:common.tags.mk-error.troubleshooter.checking-server%' : '%i18n:common.tags.mk-error.troubleshooter.server%' }

    -
    -

    %i18n:common.tags.mk-error.troubleshooter.finding%

    -

    %fa:exclamation-triangle%%i18n:common.tags.mk-error.troubleshooter.no-network%
    %i18n:common.tags.mk-error.troubleshooter.no-network-desc%

    -

    %fa:exclamation-triangle%%i18n:common.tags.mk-error.troubleshooter.no-internet%
    %i18n:common.tags.mk-error.troubleshooter.no-internet-desc%

    -

    %fa:exclamation-triangle%%i18n:common.tags.mk-error.troubleshooter.no-server%
    %i18n:common.tags.mk-error.troubleshooter.no-server-desc%

    -

    %fa:info-circle%%i18n:common.tags.mk-error.troubleshooter.success%
    %i18n:common.tags.mk-error.troubleshooter.success-desc%

    - - - -
    diff --git a/src/web/app/common/tags/file-type-icon.tag b/src/web/app/common/tags/file-type-icon.tag deleted file mode 100644 index dba2ae44d6..0000000000 --- a/src/web/app/common/tags/file-type-icon.tag +++ /dev/null @@ -1,10 +0,0 @@ - - %fa:file-image% - - - diff --git a/src/web/app/common/tags/forkit.tag b/src/web/app/common/tags/forkit.tag deleted file mode 100644 index 55d5731081..0000000000 --- a/src/web/app/common/tags/forkit.tag +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - diff --git a/src/web/app/common/tags/index.ts b/src/web/app/common/tags/index.ts deleted file mode 100644 index df99d93cc5..0000000000 --- a/src/web/app/common/tags/index.ts +++ /dev/null @@ -1,30 +0,0 @@ -require('./error.tag'); -require('./url.tag'); -require('./url-preview.tag'); -require('./time.tag'); -require('./file-type-icon.tag'); -require('./uploader.tag'); -require('./ellipsis.tag'); -require('./raw.tag'); -require('./number.tag'); -require('./special-message.tag'); -require('./signin.tag'); -require('./signup.tag'); -require('./forkit.tag'); -require('./introduction.tag'); -require('./signin-history.tag'); -require('./twitter-setting.tag'); -require('./authorized-apps.tag'); -require('./poll.tag'); -require('./poll-editor.tag'); -require('./messaging/room.tag'); -require('./messaging/message.tag'); -require('./messaging/index.tag'); -require('./messaging/form.tag'); -require('./stream-indicator.tag'); -require('./activity-table.tag'); -require('./reaction-picker.tag'); -require('./reactions-viewer.tag'); -require('./reaction-icon.tag'); -require('./post-menu.tag'); -require('./nav-links.tag'); diff --git a/src/web/app/common/tags/introduction.tag b/src/web/app/common/tags/introduction.tag deleted file mode 100644 index 28afc6fa46..0000000000 --- a/src/web/app/common/tags/introduction.tag +++ /dev/null @@ -1,25 +0,0 @@ - - - - diff --git a/src/web/app/common/tags/messaging/form.tag b/src/web/app/common/tags/messaging/form.tag deleted file mode 100644 index 7b133a71c4..0000000000 --- a/src/web/app/common/tags/messaging/form.tag +++ /dev/null @@ -1,175 +0,0 @@ - - -
    - - - - - - - -
    diff --git a/src/web/app/common/tags/messaging/index.tag b/src/web/app/common/tags/messaging/index.tag deleted file mode 100644 index d26cec6cdf..0000000000 --- a/src/web/app/common/tags/messaging/index.tag +++ /dev/null @@ -1,456 +0,0 @@ - - - -

    %i18n:common.tags.mk-messaging.no-history%

    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/common/tags/messaging/message.tag b/src/web/app/common/tags/messaging/message.tag deleted file mode 100644 index 354022d7df..0000000000 --- a/src/web/app/common/tags/messaging/message.tag +++ /dev/null @@ -1,238 +0,0 @@ - - - - -
    -
    -

    %i18n:common.tags.mk-messaging-message.is-read%

    - -
    -
    -
    image
    -
    -
    -

    %i18n:common.tags.mk-messaging-message.deleted%

    -
    -
    -
    - %fa:pencil-alt% -
    -
    - - -
    diff --git a/src/web/app/common/tags/messaging/room.tag b/src/web/app/common/tags/messaging/room.tag deleted file mode 100644 index 7b4d1be569..0000000000 --- a/src/web/app/common/tags/messaging/room.tag +++ /dev/null @@ -1,319 +0,0 @@ - -
    -

    %fa:spinner .spin%%i18n:common.loading%

    -

    %fa:info-circle%%i18n:common.tags.mk-messaging-room.empty%

    -

    0 && !moreMessagesIsInStock }>%fa:flag%%i18n:common.tags.mk-messaging-room.no-history%

    - - - -

    { messages[i + 1]._datetext }

    -
    -
    -
    -
    -
    - -
    - - -
    diff --git a/src/web/app/common/tags/nav-links.tag b/src/web/app/common/tags/nav-links.tag deleted file mode 100644 index ea122575aa..0000000000 --- a/src/web/app/common/tags/nav-links.tag +++ /dev/null @@ -1,10 +0,0 @@ - - %i18n:common.tags.mk-nav-links.about%%i18n:common.tags.mk-nav-links.stats%%i18n:common.tags.mk-nav-links.status%%i18n:common.tags.mk-nav-links.wiki%%i18n:common.tags.mk-nav-links.donors%%i18n:common.tags.mk-nav-links.repository%%i18n:common.tags.mk-nav-links.develop%Follow us on %fa:B twitter% - - - diff --git a/src/web/app/common/tags/number.tag b/src/web/app/common/tags/number.tag deleted file mode 100644 index 7afb8b3983..0000000000 --- a/src/web/app/common/tags/number.tag +++ /dev/null @@ -1,16 +0,0 @@ - - - - diff --git a/src/web/app/common/tags/poll-editor.tag b/src/web/app/common/tags/poll-editor.tag deleted file mode 100644 index e79209e9b4..0000000000 --- a/src/web/app/common/tags/poll-editor.tag +++ /dev/null @@ -1,121 +0,0 @@ - -

    - %fa:exclamation-triangle%%i18n:common.tags.mk-poll-editor.no-only-one-choice% -

    -
      -
    • - - -
    • -
    - - - - -
    diff --git a/src/web/app/common/tags/poll.tag b/src/web/app/common/tags/poll.tag deleted file mode 100644 index 32542418aa..0000000000 --- a/src/web/app/common/tags/poll.tag +++ /dev/null @@ -1,109 +0,0 @@ - -
      -
    • -
      - - %fa:check% - { text } - ({ '%i18n:common.tags.mk-poll.vote-count%'.replace('{}', votes) }) - -
    • -
    -

    0 }> - { '%i18n:common.tags.mk-poll.total-users%'.replace('{}', total) } - ・ - { result ? '%i18n:common.tags.mk-poll.vote%' : '%i18n:common.tags.mk-poll.show-result%' } - %i18n:common.tags.mk-poll.voted% -

    - - -
    diff --git a/src/web/app/common/tags/post-menu.tag b/src/web/app/common/tags/post-menu.tag deleted file mode 100644 index be4468a214..0000000000 --- a/src/web/app/common/tags/post-menu.tag +++ /dev/null @@ -1,157 +0,0 @@ - -
    -
    - -
    - - -
    -
    - - -
    diff --git a/src/web/app/common/tags/raw.tag b/src/web/app/common/tags/raw.tag deleted file mode 100644 index adc6de5a3b..0000000000 --- a/src/web/app/common/tags/raw.tag +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/src/web/app/common/tags/reaction-icon.tag b/src/web/app/common/tags/reaction-icon.tag deleted file mode 100644 index 0127293917..0000000000 --- a/src/web/app/common/tags/reaction-icon.tag +++ /dev/null @@ -1,21 +0,0 @@ - - %i18n:common.reactions.like% - %i18n:common.reactions.love% - %i18n:common.reactions.laugh% - %i18n:common.reactions.hmm% - %i18n:common.reactions.surprise% - %i18n:common.reactions.congrats% - %i18n:common.reactions.angry% - %i18n:common.reactions.confused% - %i18n:common.reactions.pudding% - - - diff --git a/src/web/app/common/tags/reaction-picker.tag b/src/web/app/common/tags/reaction-picker.tag deleted file mode 100644 index 458d16ec71..0000000000 --- a/src/web/app/common/tags/reaction-picker.tag +++ /dev/null @@ -1,184 +0,0 @@ - -
    -
    -

    { title }

    -
    - - - - - - - - - -
    -
    - - -
    diff --git a/src/web/app/common/tags/reactions-viewer.tag b/src/web/app/common/tags/reactions-viewer.tag deleted file mode 100644 index 50fb023f70..0000000000 --- a/src/web/app/common/tags/reactions-viewer.tag +++ /dev/null @@ -1,46 +0,0 @@ - - - { reactions.like } - { reactions.love } - { reactions.laugh } - { reactions.hmm } - { reactions.surprise } - { reactions.congrats } - { reactions.angry } - { reactions.confused } - { reactions.pudding } - - - - diff --git a/src/web/app/common/tags/signin.tag b/src/web/app/common/tags/signin.tag deleted file mode 100644 index f5a2be94ed..0000000000 --- a/src/web/app/common/tags/signin.tag +++ /dev/null @@ -1,155 +0,0 @@ - -
    - - - - -
    - - -
    diff --git a/src/web/app/common/tags/signup.tag b/src/web/app/common/tags/signup.tag deleted file mode 100644 index b488efb927..0000000000 --- a/src/web/app/common/tags/signup.tag +++ /dev/null @@ -1,307 +0,0 @@ - -
    - - - - - - -
    - - -
    diff --git a/src/web/app/common/tags/special-message.tag b/src/web/app/common/tags/special-message.tag deleted file mode 100644 index 6643b1324a..0000000000 --- a/src/web/app/common/tags/special-message.tag +++ /dev/null @@ -1,27 +0,0 @@ - -

    %i18n:common.tags.mk-special-message.new-year%

    -

    %i18n:common.tags.mk-special-message.christmas%

    - - -
    diff --git a/src/web/app/common/tags/stream-indicator.tag b/src/web/app/common/tags/stream-indicator.tag deleted file mode 100644 index 0eb6196b6d..0000000000 --- a/src/web/app/common/tags/stream-indicator.tag +++ /dev/null @@ -1,78 +0,0 @@ - -

    - %fa:spinner .pulse% - %i18n:common.tags.mk-stream-indicator.connecting% -

    -

    - %fa:spinner .pulse% - %i18n:common.tags.mk-stream-indicator.reconnecting% -

    -

    - %fa:check% - %i18n:common.tags.mk-stream-indicator.connected% -

    - - -
    diff --git a/src/web/app/common/tags/time.tag b/src/web/app/common/tags/time.tag deleted file mode 100644 index b0d7d24533..0000000000 --- a/src/web/app/common/tags/time.tag +++ /dev/null @@ -1,50 +0,0 @@ - - - - diff --git a/src/web/app/common/tags/twitter-setting.tag b/src/web/app/common/tags/twitter-setting.tag deleted file mode 100644 index 4d57cfa55a..0000000000 --- a/src/web/app/common/tags/twitter-setting.tag +++ /dev/null @@ -1,62 +0,0 @@ - -

    %i18n:common.tags.mk-twitter-setting.description%%i18n:common.tags.mk-twitter-setting.detail%

    - -

    - { I.twitter ? '%i18n:common.tags.mk-twitter-setting.reconnect%' : '%i18n:common.tags.mk-twitter-setting.connect%' } - or - %i18n:common.tags.mk-twitter-setting.disconnect% -

    -

    Twitter ID: { I.twitter.user_id }

    - - -
    diff --git a/src/web/app/common/tags/uploader.tag b/src/web/app/common/tags/uploader.tag deleted file mode 100644 index a95004b46d..0000000000 --- a/src/web/app/common/tags/uploader.tag +++ /dev/null @@ -1,199 +0,0 @@ - -
      0 }> -
    1. -
      -

      %fa:spinner .pulse%{ name }

      -

      %i18n:common.tags.mk-uploader.waiting%{ 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 deleted file mode 100644 index 7dbdd8fea2..0000000000 --- a/src/web/app/common/tags/url-preview.tag +++ /dev/null @@ -1,117 +0,0 @@ - - -
    -
    -
    -

    { title }

    -
    -

    { description }

    -
    - -

    { sitename }

    -
    -
    -
    - - -
    diff --git a/src/web/app/common/tags/url.tag b/src/web/app/common/tags/url.tag deleted file mode 100644 index 2690afc5da..0000000000 --- a/src/web/app/common/tags/url.tag +++ /dev/null @@ -1,54 +0,0 @@ - - - { schema }// - { hostname } - :{ port } - { pathname } - { query } - { hash } - %fa:external-link-square-alt% - - - - diff --git a/src/web/app/common/views/components/connect-failed.troubleshooter.vue b/src/web/app/common/views/components/connect-failed.troubleshooter.vue new file mode 100644 index 0000000000..bede504b58 --- /dev/null +++ b/src/web/app/common/views/components/connect-failed.troubleshooter.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/web/app/common/views/components/connect-failed.vue b/src/web/app/common/views/components/connect-failed.vue new file mode 100644 index 0000000000..b48f7cecb9 --- /dev/null +++ b/src/web/app/common/views/components/connect-failed.vue @@ -0,0 +1,104 @@ + + + + + + diff --git a/src/web/app/common/views/components/ellipsis.vue b/src/web/app/common/views/components/ellipsis.vue new file mode 100644 index 0000000000..07349902de --- /dev/null +++ b/src/web/app/common/views/components/ellipsis.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/web/app/common/views/components/file-type-icon.vue b/src/web/app/common/views/components/file-type-icon.vue new file mode 100644 index 0000000000..aa2f0ed519 --- /dev/null +++ b/src/web/app/common/views/components/file-type-icon.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/web/app/common/views/components/forkit.vue b/src/web/app/common/views/components/forkit.vue new file mode 100644 index 0000000000..54fc011d16 --- /dev/null +++ b/src/web/app/common/views/components/forkit.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/web/app/common/views/components/images.vue b/src/web/app/common/views/components/images.vue new file mode 100644 index 0000000000..dc802a0180 --- /dev/null +++ b/src/web/app/common/views/components/images.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/web/app/common/views/components/index.ts b/src/web/app/common/views/components/index.ts new file mode 100644 index 0000000000..ab0f1767d4 --- /dev/null +++ b/src/web/app/common/views/components/index.ts @@ -0,0 +1,43 @@ +import Vue from 'vue'; + +import signin from './signin.vue'; +import signup from './signup.vue'; +import forkit from './forkit.vue'; +import nav from './nav.vue'; +import postHtml from './post-html'; +import poll from './poll.vue'; +import pollEditor from './poll-editor.vue'; +import reactionIcon from './reaction-icon.vue'; +import reactionsViewer from './reactions-viewer.vue'; +import time from './time.vue'; +import images from './images.vue'; +import uploader from './uploader.vue'; +import specialMessage from './special-message.vue'; +import streamIndicator from './stream-indicator.vue'; +import ellipsis from './ellipsis.vue'; +import messaging from './messaging.vue'; +import messagingRoom from './messaging-room.vue'; +import urlPreview from './url-preview.vue'; +import twitterSetting from './twitter-setting.vue'; +import fileTypeIcon from './file-type-icon.vue'; + +Vue.component('mk-signin', signin); +Vue.component('mk-signup', signup); +Vue.component('mk-forkit', forkit); +Vue.component('mk-nav', nav); +Vue.component('mk-post-html', postHtml); +Vue.component('mk-poll', poll); +Vue.component('mk-poll-editor', pollEditor); +Vue.component('mk-reaction-icon', reactionIcon); +Vue.component('mk-reactions-viewer', reactionsViewer); +Vue.component('mk-time', time); +Vue.component('mk-images', images); +Vue.component('mk-uploader', uploader); +Vue.component('mk-special-message', specialMessage); +Vue.component('mk-stream-indicator', streamIndicator); +Vue.component('mk-ellipsis', ellipsis); +Vue.component('mk-messaging', messaging); +Vue.component('mk-messaging-room', messagingRoom); +Vue.component('mk-url-preview', urlPreview); +Vue.component('mk-twitter-setting', twitterSetting); +Vue.component('mk-file-type-icon', fileTypeIcon); diff --git a/src/web/app/common/views/components/messaging-room.form.vue b/src/web/app/common/views/components/messaging-room.form.vue new file mode 100644 index 0000000000..b89365a5d8 --- /dev/null +++ b/src/web/app/common/views/components/messaging-room.form.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/src/web/app/common/views/components/messaging-room.message.vue b/src/web/app/common/views/components/messaging-room.message.vue new file mode 100644 index 0000000000..2464eceb7f --- /dev/null +++ b/src/web/app/common/views/components/messaging-room.message.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/web/app/common/views/components/messaging-room.vue b/src/web/app/common/views/components/messaging-room.vue new file mode 100644 index 0000000000..cfb1e23acf --- /dev/null +++ b/src/web/app/common/views/components/messaging-room.vue @@ -0,0 +1,322 @@ + + + + + diff --git a/src/web/app/common/views/components/messaging.vue b/src/web/app/common/views/components/messaging.vue new file mode 100644 index 0000000000..6dc19b8741 --- /dev/null +++ b/src/web/app/common/views/components/messaging.vue @@ -0,0 +1,457 @@ + + + + + diff --git a/src/web/app/common/views/components/nav.vue b/src/web/app/common/views/components/nav.vue new file mode 100644 index 0000000000..8ce75d3529 --- /dev/null +++ b/src/web/app/common/views/components/nav.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/web/app/common/views/components/poll-editor.vue b/src/web/app/common/views/components/poll-editor.vue new file mode 100644 index 0000000000..065e919660 --- /dev/null +++ b/src/web/app/common/views/components/poll-editor.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/web/app/common/views/components/poll.vue b/src/web/app/common/views/components/poll.vue new file mode 100644 index 0000000000..7ed5bc6b1e --- /dev/null +++ b/src/web/app/common/views/components/poll.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/web/app/common/views/components/post-html.ts b/src/web/app/common/views/components/post-html.ts new file mode 100644 index 0000000000..16d670e851 --- /dev/null +++ b/src/web/app/common/views/components/post-html.ts @@ -0,0 +1,102 @@ +declare const _URL_: string; + +import Vue from 'vue'; +import * as pictograph from 'pictograph'; + +import MkUrl from './url.vue'; + +const escape = text => + text + .replace(/>/g, '>') + .replace(/ { + switch (token.type) { + case 'text': + const text = escape(token.content) + .replace(/(\r\n|\n|\r)/g, '\n'); + + if ((this as any).shouldBreak) { + if (text.indexOf('\n') != -1) { + return text.split('\n').map(t => [createElement('span', t), createElement('br')]); + } else { + return createElement('span', text); + } + } else { + return createElement('span', text.replace(/\n/g, ' ')); + } + + case 'bold': + return createElement('strong', escape(token.bold)); + + case 'url': + return createElement(MkUrl, { + props: { + url: escape(token.content), + target: '_blank' + } + }); + + case 'link': + return createElement('a', { + attrs: { + class: 'link', + href: escape(token.url), + target: '_blank', + title: escape(token.url) + } + }, escape(token.title)); + + case 'mention': + return (createElement as any)('a', { + attrs: { + href: `${_URL_}/${escape(token.username)}`, + target: '_blank', + dataIsMe: (this as any).i && (this as any).i.username == token.username + }, + directives: [{ + name: 'user-preview', + value: token.content + }] + }, token.content); + + case 'hashtag': + return createElement('a', { + attrs: { + href: `${_URL_}/search?q=${escape(token.content)}`, + target: '_blank' + } + }, escape(token.content)); + + case 'code': + return createElement('pre', [ + createElement('code', token.html) + ]); + + case 'inline-code': + return createElement('code', token.html); + + case 'emoji': + return createElement('span', pictograph.dic[token.emoji] || token.content); + } + })); + + return createElement('span', els); + } +}); diff --git a/src/web/app/common/views/components/post-menu.vue b/src/web/app/common/views/components/post-menu.vue new file mode 100644 index 0000000000..a53680e55a --- /dev/null +++ b/src/web/app/common/views/components/post-menu.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/web/app/common/views/components/reaction-icon.vue b/src/web/app/common/views/components/reaction-icon.vue new file mode 100644 index 0000000000..7d24f4f9e9 --- /dev/null +++ b/src/web/app/common/views/components/reaction-icon.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/web/app/common/views/components/reaction-picker.vue b/src/web/app/common/views/components/reaction-picker.vue new file mode 100644 index 0000000000..f3731cd632 --- /dev/null +++ b/src/web/app/common/views/components/reaction-picker.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/web/app/common/views/components/reactions-viewer.vue b/src/web/app/common/views/components/reactions-viewer.vue new file mode 100644 index 0000000000..f6a27d9139 --- /dev/null +++ b/src/web/app/common/views/components/reactions-viewer.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/web/app/common/views/components/signin.vue b/src/web/app/common/views/components/signin.vue new file mode 100644 index 0000000000..31243e99a1 --- /dev/null +++ b/src/web/app/common/views/components/signin.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/web/app/common/views/components/signup.vue b/src/web/app/common/views/components/signup.vue new file mode 100644 index 0000000000..1fdc49a181 --- /dev/null +++ b/src/web/app/common/views/components/signup.vue @@ -0,0 +1,285 @@ + + + + + diff --git a/src/web/app/common/views/components/special-message.vue b/src/web/app/common/views/components/special-message.vue new file mode 100644 index 0000000000..2fd4d6515e --- /dev/null +++ b/src/web/app/common/views/components/special-message.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/web/app/common/views/components/stream-indicator.vue b/src/web/app/common/views/components/stream-indicator.vue new file mode 100644 index 0000000000..c1c0672e48 --- /dev/null +++ b/src/web/app/common/views/components/stream-indicator.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/web/app/common/views/components/time.vue b/src/web/app/common/views/components/time.vue new file mode 100644 index 0000000000..6e0d2b0dcb --- /dev/null +++ b/src/web/app/common/views/components/time.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/web/app/common/views/components/twitter-setting.vue b/src/web/app/common/views/components/twitter-setting.vue new file mode 100644 index 0000000000..aaca6ccddd --- /dev/null +++ b/src/web/app/common/views/components/twitter-setting.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/web/app/common/views/components/uploader.vue b/src/web/app/common/views/components/uploader.vue new file mode 100644 index 0000000000..6367b69973 --- /dev/null +++ b/src/web/app/common/views/components/uploader.vue @@ -0,0 +1,210 @@ + + + + + diff --git a/src/web/app/common/views/components/url-preview.vue b/src/web/app/common/views/components/url-preview.vue new file mode 100644 index 0000000000..b846346179 --- /dev/null +++ b/src/web/app/common/views/components/url-preview.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/web/app/common/views/components/url.vue b/src/web/app/common/views/components/url.vue new file mode 100644 index 0000000000..14d4fc82f3 --- /dev/null +++ b/src/web/app/common/views/components/url.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/web/app/common/views/directives/focus.ts b/src/web/app/common/views/directives/focus.ts new file mode 100644 index 0000000000..b4fbcb6a87 --- /dev/null +++ b/src/web/app/common/views/directives/focus.ts @@ -0,0 +1,5 @@ +export default { + inserted(el) { + el.focus(); + } +}; diff --git a/src/web/app/common/views/directives/index.ts b/src/web/app/common/views/directives/index.ts new file mode 100644 index 0000000000..358866f500 --- /dev/null +++ b/src/web/app/common/views/directives/index.ts @@ -0,0 +1,5 @@ +import Vue from 'vue'; + +import focus from './focus'; + +Vue.directive('focus', focus); diff --git a/src/web/app/config.ts b/src/web/app/config.ts new file mode 100644 index 0000000000..2461b22158 --- /dev/null +++ b/src/web/app/config.ts @@ -0,0 +1,29 @@ +declare const _HOST_: string; +declare const _URL_: string; +declare const _API_URL_: string; +declare const _DOCS_URL_: string; +declare const _STATS_URL_: string; +declare const _STATUS_URL_: string; +declare const _DEV_URL_: string; +declare const _CH_URL_: string; +declare const _LANG_: string; +declare const _RECAPTCHA_SITEKEY_: string; +declare const _SW_PUBLICKEY_: string; +declare const _THEME_COLOR_: string; +declare const _COPYRIGHT_: string; +declare const _VERSION_: string; + +export const host = _HOST_; +export const url = _URL_; +export const apiUrl = _API_URL_; +export const docsUrl = _DOCS_URL_; +export const statsUrl = _STATS_URL_; +export const statusUrl = _STATUS_URL_; +export const devUrl = _DEV_URL_; +export const chUrl = _CH_URL_; +export const lang = _LANG_; +export const recaptchaSitekey = _RECAPTCHA_SITEKEY_; +export const swPublickey = _SW_PUBLICKEY_; +export const themeColor = _THEME_COLOR_; +export const copyright = _COPYRIGHT_; +export const version = _VERSION_; diff --git a/src/web/app/desktop/api/choose-drive-file.ts b/src/web/app/desktop/api/choose-drive-file.ts new file mode 100644 index 0000000000..8920362445 --- /dev/null +++ b/src/web/app/desktop/api/choose-drive-file.ts @@ -0,0 +1,30 @@ +import { url } from '../../config'; +import MkChooseFileFromDriveWindow from '../views/components/choose-file-from-drive-window.vue'; + +export default function(opts) { + return new Promise((res, rej) => { + const o = opts || {}; + + if (document.body.clientWidth > 800) { + const w = new MkChooseFileFromDriveWindow({ + propsData: { + title: o.title, + multiple: o.multiple, + initFolder: o.currentFolder + } + }).$mount(); + w.$once('selected', file => { + res(file); + }); + document.body.appendChild(w.$el); + } else { + window['cb'] = file => { + res(file); + }; + + window.open(url + '/selectdrive', + 'drive_window', + 'height=500, width=800'); + } + }); +} diff --git a/src/web/app/desktop/api/choose-drive-folder.ts b/src/web/app/desktop/api/choose-drive-folder.ts new file mode 100644 index 0000000000..9b33a20d9a --- /dev/null +++ b/src/web/app/desktop/api/choose-drive-folder.ts @@ -0,0 +1,17 @@ +import MkChooseFolderFromDriveWindow from '../views/components/choose-folder-from-drive-window.vue'; + +export default function(opts) { + return new Promise((res, rej) => { + const o = opts || {}; + const w = new MkChooseFolderFromDriveWindow({ + propsData: { + title: o.title, + initFolder: o.currentFolder + } + }).$mount(); + w.$once('selected', folder => { + res(folder); + }); + document.body.appendChild(w.$el); + }); +} diff --git a/src/web/app/desktop/api/contextmenu.ts b/src/web/app/desktop/api/contextmenu.ts new file mode 100644 index 0000000000..b70d7122d3 --- /dev/null +++ b/src/web/app/desktop/api/contextmenu.ts @@ -0,0 +1,16 @@ +import Ctx from '../views/components/context-menu.vue'; + +export default function(e, menu, opts?) { + const o = opts || {}; + const vm = new Ctx({ + propsData: { + menu, + x: e.pageX - window.pageXOffset, + y: e.pageY - window.pageYOffset, + } + }).$mount(); + vm.$once('closed', () => { + if (o.closed) o.closed(); + }); + document.body.appendChild(vm.$el); +} diff --git a/src/web/app/desktop/api/dialog.ts b/src/web/app/desktop/api/dialog.ts new file mode 100644 index 0000000000..07935485b0 --- /dev/null +++ b/src/web/app/desktop/api/dialog.ts @@ -0,0 +1,19 @@ +import Dialog from '../views/components/dialog.vue'; + +export default function(opts) { + return new Promise((res, rej) => { + const o = opts || {}; + const d = new Dialog({ + propsData: { + title: o.title, + text: o.text, + modal: o.modal, + buttons: o.actions + } + }).$mount(); + d.$once('clicked', id => { + res(id); + }); + document.body.appendChild(d.$el); + }); +} diff --git a/src/web/app/desktop/api/input.ts b/src/web/app/desktop/api/input.ts new file mode 100644 index 0000000000..ce26a8112f --- /dev/null +++ b/src/web/app/desktop/api/input.ts @@ -0,0 +1,20 @@ +import InputDialog from '../views/components/input-dialog.vue'; + +export default function(opts) { + return new Promise((res, rej) => { + const o = opts || {}; + const d = new InputDialog({ + propsData: { + title: o.title, + placeholder: o.placeholder, + default: o.default, + type: o.type || 'text', + allowEmpty: o.allowEmpty + } + }).$mount(); + d.$once('done', text => { + res(text); + }); + document.body.appendChild(d.$el); + }); +} diff --git a/src/web/app/desktop/api/notify.ts b/src/web/app/desktop/api/notify.ts new file mode 100644 index 0000000000..1f89f40ce6 --- /dev/null +++ b/src/web/app/desktop/api/notify.ts @@ -0,0 +1,10 @@ +import Notification from '../views/components/ui-notification.vue'; + +export default function(message) { + const vm = new Notification({ + propsData: { + message + } + }).$mount(); + document.body.appendChild(vm.$el); +} diff --git a/src/web/app/desktop/api/post.ts b/src/web/app/desktop/api/post.ts new file mode 100644 index 0000000000..cf49615df3 --- /dev/null +++ b/src/web/app/desktop/api/post.ts @@ -0,0 +1,21 @@ +import PostFormWindow from '../views/components/post-form-window.vue'; +import RepostFormWindow from '../views/components/repost-form-window.vue'; + +export default function(opts) { + const o = opts || {}; + if (o.repost) { + const vm = new RepostFormWindow({ + propsData: { + repost: o.repost + } + }).$mount(); + document.body.appendChild(vm.$el); + } else { + const vm = new PostFormWindow({ + propsData: { + reply: o.reply + } + }).$mount(); + document.body.appendChild(vm.$el); + } +} diff --git a/src/web/app/desktop/api/update-avatar.ts b/src/web/app/desktop/api/update-avatar.ts new file mode 100644 index 0000000000..c3e0ce14c7 --- /dev/null +++ b/src/web/app/desktop/api/update-avatar.ts @@ -0,0 +1,98 @@ +import OS from '../../common/mios'; +import { apiUrl } from '../../config'; +import CropWindow from '../views/components/crop-window.vue'; +import ProgressDialog from '../views/components/progress-dialog.vue'; + +export default (os: OS) => (cb, file = null) => { + const fileSelected = file => { + + const w = new CropWindow({ + propsData: { + image: file, + title: 'アバターとして表示する部分を選択', + aspectRatio: 1 / 1 + } + }).$mount(); + + w.$once('cropped', blob => { + const data = new FormData(); + data.append('i', os.i.token); + data.append('file', blob, file.name + '.cropped.png'); + + os.api('drive/folders/find', { + name: 'アイコン' + }).then(iconFolder => { + if (iconFolder.length === 0) { + os.api('drive/folders/create', { + name: 'アイコン' + }).then(iconFolder => { + upload(data, iconFolder); + }); + } else { + upload(data, iconFolder[0]); + } + }); + }); + + w.$once('skipped', () => { + set(file); + }); + + document.body.appendChild(w.$el); + }; + + const upload = (data, folder) => { + const dialog = new ProgressDialog({ + propsData: { + title: '新しいアバターをアップロードしています' + } + }).$mount(); + document.body.appendChild(dialog.$el); + + if (folder) data.append('folder_id', folder.id); + + const xhr = new XMLHttpRequest(); + xhr.open('POST', apiUrl + '/drive/files/create', true); + xhr.onload = e => { + const file = JSON.parse((e.target as any).response); + (dialog as any).close(); + set(file); + }; + + xhr.upload.onprogress = e => { + if (e.lengthComputable) (dialog as any).update(e.loaded, e.total); + }; + + xhr.send(data); + }; + + const set = file => { + os.api('i/update', { + avatar_id: file.id + }).then(i => { + os.i.avatar_id = i.avatar_id; + os.i.avatar_url = i.avatar_url; + + os.apis.dialog({ + title: '%fa:info-circle%アバターを更新しました', + text: '新しいアバターが反映されるまで時間がかかる場合があります。', + actions: [{ + text: 'わかった' + }] + }); + + if (cb) cb(i); + }); + }; + + if (file) { + fileSelected(file); + } else { + os.apis.chooseDriveFile({ + multiple: false, + title: '%fa:image%アバターにする画像を選択' + }).then(file => { + fileSelected(file); + }); + } +}; diff --git a/src/web/app/desktop/api/update-banner.ts b/src/web/app/desktop/api/update-banner.ts new file mode 100644 index 0000000000..9e94dc423b --- /dev/null +++ b/src/web/app/desktop/api/update-banner.ts @@ -0,0 +1,98 @@ +import OS from '../../common/mios'; +import { apiUrl } from '../../config'; +import CropWindow from '../views/components/crop-window.vue'; +import ProgressDialog from '../views/components/progress-dialog.vue'; + +export default (os: OS) => (cb, file = null) => { + const fileSelected = file => { + + const w = new CropWindow({ + propsData: { + image: file, + title: 'バナーとして表示する部分を選択', + aspectRatio: 16 / 9 + } + }).$mount(); + + w.$once('cropped', blob => { + const data = new FormData(); + data.append('i', os.i.token); + data.append('file', blob, file.name + '.cropped.png'); + + os.api('drive/folders/find', { + name: 'バナー' + }).then(bannerFolder => { + if (bannerFolder.length === 0) { + os.api('drive/folders/create', { + name: 'バナー' + }).then(iconFolder => { + upload(data, iconFolder); + }); + } else { + upload(data, bannerFolder[0]); + } + }); + }); + + w.$once('skipped', () => { + set(file); + }); + + document.body.appendChild(w.$el); + }; + + const upload = (data, folder) => { + const dialog = new ProgressDialog({ + propsData: { + title: '新しいバナーをアップロードしています' + } + }).$mount(); + document.body.appendChild(dialog.$el); + + if (folder) data.append('folder_id', folder.id); + + const xhr = new XMLHttpRequest(); + xhr.open('POST', apiUrl + '/drive/files/create', true); + xhr.onload = e => { + const file = JSON.parse((e.target as any).response); + (dialog as any).close(); + set(file); + }; + + xhr.upload.onprogress = e => { + if (e.lengthComputable) (dialog as any).update(e.loaded, e.total); + }; + + xhr.send(data); + }; + + const set = file => { + os.api('i/update', { + banner_id: file.id + }).then(i => { + os.i.banner_id = i.banner_id; + os.i.banner_url = i.banner_url; + + os.apis.dialog({ + title: '%fa:info-circle%バナーを更新しました', + text: '新しいバナーが反映されるまで時間がかかる場合があります。', + actions: [{ + text: 'わかった' + }] + }); + + if (cb) cb(i); + }); + }; + + if (file) { + fileSelected(file); + } else { + os.apis.chooseDriveFile({ + multiple: false, + title: '%fa:image%バナーにする画像を選択' + }).then(file => { + fileSelected(file); + }); + } +}; diff --git a/src/web/app/desktop/mixins/index.ts b/src/web/app/desktop/mixins/index.ts deleted file mode 100644 index e0c94ec5ee..0000000000 --- a/src/web/app/desktop/mixins/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -require('./user-preview'); -require('./widget'); diff --git a/src/web/app/desktop/mixins/user-preview.ts b/src/web/app/desktop/mixins/user-preview.ts deleted file mode 100644 index 614de72bea..0000000000 --- a/src/web/app/desktop/mixins/user-preview.ts +++ /dev/null @@ -1,66 +0,0 @@ -import * as riot from 'riot'; - -riot.mixin('user-preview', { - init: function() { - const scan = () => { - this.root.querySelectorAll('[data-user-preview]:not([data-user-preview-attached])') - .forEach(attach.bind(this)); - }; - this.on('mount', scan); - this.on('updated', scan); - } -}); - -function attach(el) { - el.setAttribute('data-user-preview-attached', true); - - const user = el.getAttribute('data-user-preview'); - let tag = null; - let showTimer = null; - let hideTimer = null; - - el.addEventListener('mouseover', () => { - clearTimeout(showTimer); - clearTimeout(hideTimer); - showTimer = setTimeout(show, 500); - }); - - el.addEventListener('mouseleave', () => { - clearTimeout(showTimer); - clearTimeout(hideTimer); - hideTimer = setTimeout(close, 500); - }); - - this.on('unmount', () => { - clearTimeout(showTimer); - clearTimeout(hideTimer); - close(); - }); - - const show = () => { - if (tag) return; - const preview = document.createElement('mk-user-preview'); - const rect = el.getBoundingClientRect(); - const x = rect.left + el.offsetWidth + window.pageXOffset; - const y = rect.top + window.pageYOffset; - preview.style.top = y + 'px'; - preview.style.left = x + 'px'; - preview.addEventListener('mouseover', () => { - clearTimeout(hideTimer); - }); - preview.addEventListener('mouseleave', () => { - clearTimeout(showTimer); - hideTimer = setTimeout(close, 500); - }); - tag = (riot as any).mount(document.body.appendChild(preview), { - user: user - })[0]; - }; - - const close = () => { - if (tag) { - tag.close(); - tag = null; - } - }; -} diff --git a/src/web/app/desktop/mixins/widget.ts b/src/web/app/desktop/mixins/widget.ts deleted file mode 100644 index 04131cd8f0..0000000000 --- a/src/web/app/desktop/mixins/widget.ts +++ /dev/null @@ -1,31 +0,0 @@ -import * as riot from 'riot'; - -// ミックスインにオプションを渡せないのアレ -// SEE: https://github.com/riot/riot/issues/2434 - -(riot as any).mixin('widget', { - init: function() { - this.mixin('i'); - this.mixin('api'); - - this.id = this.opts.id; - this.place = this.opts.place; - - if (this.data) { - Object.keys(this.data).forEach(prop => { - this.data[prop] = this.opts.data.hasOwnProperty(prop) ? this.opts.data[prop] : this.data[prop]; - }); - } - }, - - save: function() { - this.update(); - this.api('i/update_home', { - id: this.id, - data: this.data - }).then(() => { - this.I.client_settings.home.find(w => w.id == this.id).data = this.data; - this.I.update(); - }); - } -}); diff --git a/src/web/app/desktop/router.ts b/src/web/app/desktop/router.ts deleted file mode 100644 index ce68c4f2d1..0000000000 --- a/src/web/app/desktop/router.ts +++ /dev/null @@ -1,100 +0,0 @@ -/** - * Desktop App Router - */ - -import * as riot from 'riot'; -import * as route from 'page'; -import MiOS from '../common/mios'; -let page = null; - -export default (mios: MiOS) => { - route('/', index); - route('/selectdrive', selectDrive); - route('/i/customize-home', customizeHome); - route('/i/drive', drive); - route('/i/drive/folder/:folder', drive); - route('/i/messaging/:user', messaging); - route('/i/mentions', mentions); - route('/post::post', post); - route('/search', search); - route('/:user', user.bind(null, 'home')); - route('/:user/graphs', user.bind(null, 'graphs')); - route('/:user/:post', post); - route('*', notFound); - - function index() { - mios.isSignedin ? home() : entrance(); - } - - function home() { - mount(document.createElement('mk-home-page')); - } - - function customizeHome() { - mount(document.createElement('mk-home-customize-page')); - } - - function entrance() { - mount(document.createElement('mk-entrance')); - document.documentElement.setAttribute('data-page', 'entrance'); - } - - function mentions() { - const el = document.createElement('mk-home-page'); - el.setAttribute('mode', 'mentions'); - mount(el); - } - - function search(ctx) { - const el = document.createElement('mk-search-page'); - el.setAttribute('query', ctx.querystring.substr(2)); - mount(el); - } - - function user(page, ctx) { - const el = document.createElement('mk-user-page'); - el.setAttribute('user', ctx.params.user); - el.setAttribute('page', page); - mount(el); - } - - function post(ctx) { - const el = document.createElement('mk-post-page'); - el.setAttribute('post', ctx.params.post); - mount(el); - } - - function selectDrive() { - mount(document.createElement('mk-selectdrive-page')); - } - - function drive(ctx) { - const el = document.createElement('mk-drive-page'); - if (ctx.params.folder) el.setAttribute('folder', ctx.params.folder); - mount(el); - } - - function messaging(ctx) { - const el = document.createElement('mk-messaging-room-page'); - el.setAttribute('user', ctx.params.user); - mount(el); - } - - function notFound() { - mount(document.createElement('mk-not-found')); - } - - (riot as any).mixin('page', { - page: route - }); - - // EXEC - (route as any)(); -}; - -function mount(content) { - document.documentElement.removeAttribute('data-page'); - if (page) page.unmount(); - const body = document.getElementById('app'); - page = riot.mount(body.appendChild(content))[0]; -} diff --git a/src/web/app/desktop/script.ts b/src/web/app/desktop/script.ts index b06cb180e1..e7c8f8e492 100644 --- a/src/web/app/desktop/script.ts +++ b/src/web/app/desktop/script.ts @@ -5,24 +5,55 @@ // Style import './style.styl'; -require('./tags'); -require('./mixins'); -import * as riot from 'riot'; import init from '../init'; -import route from './router'; -import fuckAdBlock from './scripts/fuck-ad-block'; -import MiOS from '../common/mios'; +import fuckAdBlock from '../common/scripts/fuck-ad-block'; import HomeStreamManager from '../common/scripts/streaming/home-stream-manager'; import composeNotification from '../common/scripts/compose-notification'; +import chooseDriveFolder from './api/choose-drive-folder'; +import chooseDriveFile from './api/choose-drive-file'; +import dialog from './api/dialog'; +import input from './api/input'; +import post from './api/post'; +import notify from './api/notify'; +import updateAvatar from './api/update-avatar'; +import updateBanner from './api/update-banner'; + +import MkIndex from './views/pages/index.vue'; +import MkUser from './views/pages/user/user.vue'; +import MkSelectDrive from './views/pages/selectdrive.vue'; +import MkDrive from './views/pages/drive.vue'; +import MkHomeCustomize from './views/pages/home-customize.vue'; +import MkMessagingRoom from './views/pages/messaging-room.vue'; +import MkPost from './views/pages/post.vue'; +import MkSearch from './views/pages/search.vue'; + /** * init */ -init(async (mios: MiOS) => { +init(async (launch) => { + // Register directives + require('./views/directives'); + + // Register components + require('./views/components'); + + // Launch the app + const [app, os] = launch(os => ({ + chooseDriveFolder, + chooseDriveFile, + dialog, + input, + post, + notify, + updateAvatar: updateAvatar(os), + updateBanner: updateBanner(os) + })); + /** * Fuck AD Block */ - fuckAdBlock(); + fuckAdBlock(os); /** * Init Notification @@ -34,12 +65,22 @@ init(async (mios: MiOS) => { } if ((Notification as any).permission == 'granted') { - registerNotifications(mios.stream); + registerNotifications(app.$data.os.stream); } } - // Start routing - route(mios); + // Routing + app.$router.addRoutes([ + { path: '/', name: 'index', component: MkIndex }, + { path: '/i/customize-home', component: MkHomeCustomize }, + { path: '/i/messaging/:username', component: MkMessagingRoom }, + { path: '/i/drive', component: MkDrive }, + { path: '/i/drive/folder/:folder', component: MkDrive }, + { path: '/selectdrive', component: MkSelectDrive }, + { path: '/search', component: MkSearch }, + { path: '/:user', component: MkUser }, + { path: '/:user/:post', component: MkPost } + ]); }, true); function registerNotifications(stream: HomeStreamManager) { @@ -98,9 +139,9 @@ function registerNotifications(stream: HomeStreamManager) { }); n.onclick = () => { n.close(); - (riot as any).mount(document.body.appendChild(document.createElement('mk-messaging-room-window')), { + /*(riot as any).mount(document.body.appendChild(document.createElement('mk-messaging-room-window')), { user: message.user - }); + });*/ }; setTimeout(n.close.bind(n), 7000); }); diff --git a/src/web/app/desktop/scripts/dialog.ts b/src/web/app/desktop/scripts/dialog.ts deleted file mode 100644 index 816ba4b5f5..0000000000 --- a/src/web/app/desktop/scripts/dialog.ts +++ /dev/null @@ -1,16 +0,0 @@ -import * as riot from 'riot'; - -export default (title, text, buttons, canThrough?, onThrough?) => { - const dialog = document.body.appendChild(document.createElement('mk-dialog')); - const controller = riot.observable(); - (riot as any).mount(dialog, { - controller: controller, - title: title, - text: text, - buttons: buttons, - canThrough: canThrough, - onThrough: onThrough - }); - controller.trigger('open'); - return controller; -}; diff --git a/src/web/app/desktop/scripts/fuck-ad-block.ts b/src/web/app/desktop/scripts/fuck-ad-block.ts deleted file mode 100644 index ddeb600b6e..0000000000 --- a/src/web/app/desktop/scripts/fuck-ad-block.ts +++ /dev/null @@ -1,20 +0,0 @@ -require('fuckadblock'); -import dialog from './dialog'; - -declare const fuckAdBlock: any; - -export default () => { - if (fuckAdBlock === undefined) { - adBlockDetected(); - } else { - fuckAdBlock.onDetected(adBlockDetected); - } -}; - -function adBlockDetected() { - dialog('%fa:exclamation-triangle%広告ブロッカーを無効にしてください', - 'Misskeyは広告を掲載していませんが、広告をブロックする機能が有効だと一部の機能が利用できなかったり、不具合が発生する場合があります。', - [{ - text: 'OK' - }]); -} diff --git a/src/web/app/desktop/scripts/input-dialog.ts b/src/web/app/desktop/scripts/input-dialog.ts deleted file mode 100644 index b06d011c6b..0000000000 --- a/src/web/app/desktop/scripts/input-dialog.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as riot from 'riot'; - -export default (title, placeholder, defaultValue, onOk, onCancel) => { - const dialog = document.body.appendChild(document.createElement('mk-input-dialog')); - return (riot as any).mount(dialog, { - title: title, - placeholder: placeholder, - 'default': defaultValue, - onOk: onOk, - onCancel: onCancel - }); -}; diff --git a/src/web/app/desktop/scripts/not-implemented-exception.ts b/src/web/app/desktop/scripts/not-implemented-exception.ts deleted file mode 100644 index b4660fa62f..0000000000 --- a/src/web/app/desktop/scripts/not-implemented-exception.ts +++ /dev/null @@ -1,8 +0,0 @@ -import dialog from './dialog'; - -export default () => { - dialog('%fa:exclamation-triangle%Not implemented yet', - '要求された操作は実装されていません。
    Misskeyの開発に参加する', [{ - text: 'OK' - }]); -}; diff --git a/src/web/app/desktop/scripts/notify.ts b/src/web/app/desktop/scripts/notify.ts deleted file mode 100644 index 2e6cbdeed8..0000000000 --- a/src/web/app/desktop/scripts/notify.ts +++ /dev/null @@ -1,8 +0,0 @@ -import * as riot from 'riot'; - -export default message => { - const notification = document.body.appendChild(document.createElement('mk-ui-notification')); - (riot as any).mount(notification, { - message: message - }); -}; diff --git a/src/web/app/desktop/scripts/password-dialog.ts b/src/web/app/desktop/scripts/password-dialog.ts deleted file mode 100644 index 39d7f3db7a..0000000000 --- a/src/web/app/desktop/scripts/password-dialog.ts +++ /dev/null @@ -1,11 +0,0 @@ -import * as riot from 'riot'; - -export default (title, onOk, onCancel) => { - const dialog = document.body.appendChild(document.createElement('mk-input-dialog')); - return (riot as any).mount(dialog, { - title: title, - type: 'password', - onOk: onOk, - onCancel: onCancel - }); -}; diff --git a/src/web/app/desktop/scripts/scroll-follower.ts b/src/web/app/desktop/scripts/scroll-follower.ts deleted file mode 100644 index 05072958ce..0000000000 --- a/src/web/app/desktop/scripts/scroll-follower.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * 要素をスクロールに追従させる - */ -export default class ScrollFollower { - private follower: Element; - private containerTop: number; - private topPadding: number; - - constructor(follower: Element, topPadding: number) { - //#region - this.follow = this.follow.bind(this); - //#endregion - - this.follower = follower; - this.containerTop = follower.getBoundingClientRect().top; - this.topPadding = topPadding; - - window.addEventListener('scroll', this.follow); - window.addEventListener('resize', this.follow); - } - - /** - * 追従解除 - */ - public dispose() { - window.removeEventListener('scroll', this.follow); - window.removeEventListener('resize', this.follow); - } - - private follow() { - const windowBottom = window.scrollY + window.innerHeight; - const windowTop = window.scrollY + this.topPadding; - - const rect = this.follower.getBoundingClientRect(); - const followerBottom = (rect.top + window.scrollY) + rect.height; - const screenHeight = window.innerHeight - this.topPadding; - - // スクロールの上部(+余白)がフォロワーコンテナの上部よりも上方にある - if (window.scrollY + this.topPadding < this.containerTop) { - // フォロワーをコンテナの最上部に合わせる - (this.follower.parentNode as any).style.marginTop = '0px'; - return; - } - - // スクロールの下部がフォロワーの下部よりも下方にある かつ 表示領域の縦幅がフォロワーの縦幅よりも狭い - if (windowBottom > followerBottom && rect.height > screenHeight) { - // フォロワーの下部をスクロール下部に合わせる - const top = (windowBottom - rect.height) - this.containerTop; - (this.follower.parentNode as any).style.marginTop = `${top}px`; - return; - } - - // スクロールの上部(+余白)がフォロワーの上部よりも上方にある または 表示領域の縦幅がフォロワーの縦幅よりも広い - if (windowTop < rect.top + window.scrollY || rect.height < screenHeight) { - // フォロワーの上部をスクロール上部(+余白)に合わせる - const top = windowTop - this.containerTop; - (this.follower.parentNode as any).style.marginTop = `${top}px`; - return; - } - } -} diff --git a/src/web/app/desktop/scripts/update-avatar.ts b/src/web/app/desktop/scripts/update-avatar.ts deleted file mode 100644 index fea5db80bb..0000000000 --- a/src/web/app/desktop/scripts/update-avatar.ts +++ /dev/null @@ -1,88 +0,0 @@ -declare const _API_URL_: string; - -import * as riot from 'riot'; -import dialog from './dialog'; -import api from '../../common/scripts/api'; - -export default (I, cb, file = null) => { - const fileSelected = file => { - const cropper = (riot as any).mount(document.body.appendChild(document.createElement('mk-crop-window')), { - file: file, - title: 'アバターとして表示する部分を選択', - aspectRatio: 1 / 1 - })[0]; - - cropper.on('cropped', blob => { - const data = new FormData(); - data.append('i', I.token); - data.append('file', blob, file.name + '.cropped.png'); - - api(I, 'drive/folders/find', { - name: 'アイコン' - }).then(iconFolder => { - if (iconFolder.length === 0) { - api(I, 'drive/folders/create', { - name: 'アイコン' - }).then(iconFolder => { - upload(data, iconFolder); - }); - } else { - upload(data, iconFolder[0]); - } - }); - }); - - cropper.on('skipped', () => { - set(file); - }); - }; - - const upload = (data, folder) => { - const progress = (riot as any).mount(document.body.appendChild(document.createElement('mk-progress-dialog')), { - title: '新しいアバターをアップロードしています' - })[0]; - - if (folder) data.append('folder_id', folder.id); - - const xhr = new XMLHttpRequest(); - xhr.open('POST', _API_URL_ + '/drive/files/create', true); - xhr.onload = e => { - const file = JSON.parse((e.target as any).response); - progress.close(); - set(file); - }; - - xhr.upload.onprogress = e => { - if (e.lengthComputable) progress.updateProgress(e.loaded, e.total); - }; - - xhr.send(data); - }; - - const set = file => { - api(I, 'i/update', { - avatar_id: file.id - }).then(i => { - dialog('%fa:info-circle%アバターを更新しました', - '新しいアバターが反映されるまで時間がかかる場合があります。', - [{ - text: 'わかった' - }]); - - if (cb) cb(i); - }); - }; - - if (file) { - fileSelected(file); - } else { - const browser = (riot as any).mount(document.body.appendChild(document.createElement('mk-select-file-from-drive-window')), { - multiple: false, - title: '%fa:image%アバターにする画像を選択' - })[0]; - - browser.one('selected', file => { - fileSelected(file); - }); - } -}; diff --git a/src/web/app/desktop/scripts/update-banner.ts b/src/web/app/desktop/scripts/update-banner.ts deleted file mode 100644 index 325775622d..0000000000 --- a/src/web/app/desktop/scripts/update-banner.ts +++ /dev/null @@ -1,88 +0,0 @@ -declare const _API_URL_: string; - -import * as riot from 'riot'; -import dialog from './dialog'; -import api from '../../common/scripts/api'; - -export default (I, cb, file = null) => { - const fileSelected = file => { - const cropper = (riot as any).mount(document.body.appendChild(document.createElement('mk-crop-window')), { - file: file, - title: 'バナーとして表示する部分を選択', - aspectRatio: 16 / 9 - })[0]; - - cropper.on('cropped', blob => { - const data = new FormData(); - data.append('i', I.token); - data.append('file', blob, file.name + '.cropped.png'); - - api(I, 'drive/folders/find', { - name: 'バナー' - }).then(iconFolder => { - if (iconFolder.length === 0) { - api(I, 'drive/folders/create', { - name: 'バナー' - }).then(iconFolder => { - upload(data, iconFolder); - }); - } else { - upload(data, iconFolder[0]); - } - }); - }); - - cropper.on('skipped', () => { - set(file); - }); - }; - - const upload = (data, folder) => { - const progress = (riot as any).mount(document.body.appendChild(document.createElement('mk-progress-dialog')), { - title: '新しいバナーをアップロードしています' - })[0]; - - if (folder) data.append('folder_id', folder.id); - - const xhr = new XMLHttpRequest(); - xhr.open('POST', _API_URL_ + '/drive/files/create', true); - xhr.onload = e => { - const file = JSON.parse((e.target as any).response); - progress.close(); - set(file); - }; - - xhr.upload.onprogress = e => { - if (e.lengthComputable) progress.updateProgress(e.loaded, e.total); - }; - - xhr.send(data); - }; - - const set = file => { - api(I, 'i/update', { - banner_id: file.id - }).then(i => { - dialog('%fa:info-circle%バナーを更新しました', - '新しいバナーが反映されるまで時間がかかる場合があります。', - [{ - text: 'わかりました。' - }]); - - if (cb) cb(i); - }); - }; - - if (file) { - fileSelected(file); - } else { - const browser = (riot as any).mount(document.body.appendChild(document.createElement('mk-select-file-from-drive-window')), { - multiple: false, - title: '%fa:image%バナーにする画像を選択' - })[0]; - - browser.one('selected', file => { - fileSelected(file); - }); - } -}; diff --git a/src/web/app/desktop/style.styl b/src/web/app/desktop/style.styl index c893e2ed67..4d295035f7 100644 --- a/src/web/app/desktop/style.styl +++ b/src/web/app/desktop/style.styl @@ -42,10 +42,10 @@ background rgba(0, 0, 0, 0.2) html + height 100% background #f7f7f7 - // ↓ workaround of https://github.com/riot/riot/issues/2134 - &[data-page='entrance'] - #wait - right auto - left 15px +body + display flex + flex-direction column + min-height 100% diff --git a/src/web/app/desktop/tags/autocomplete-suggestion.tag b/src/web/app/desktop/tags/autocomplete-suggestion.tag deleted file mode 100644 index 7311606694..0000000000 --- a/src/web/app/desktop/tags/autocomplete-suggestion.tag +++ /dev/null @@ -1,197 +0,0 @@ - -
      0 }> -
    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 deleted file mode 100644 index 7634043b20..0000000000 --- a/src/web/app/desktop/tags/big-follow-button.tag +++ /dev/null @@ -1,153 +0,0 @@ - - -
    %fa:spinner .pulse .fw%
    - - -
    diff --git a/src/web/app/desktop/tags/contextmenu.tag b/src/web/app/desktop/tags/contextmenu.tag deleted file mode 100644 index 2a3b2a7726..0000000000 --- a/src/web/app/desktop/tags/contextmenu.tag +++ /dev/null @@ -1,138 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/crop-window.tag b/src/web/app/desktop/tags/crop-window.tag deleted file mode 100644 index 4845b669d2..0000000000 --- a/src/web/app/desktop/tags/crop-window.tag +++ /dev/null @@ -1,196 +0,0 @@ - - - %fa:crop%{ parent.title } - -
    -
    - - - -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/detailed-post-window.tag b/src/web/app/desktop/tags/detailed-post-window.tag deleted file mode 100644 index 04f9acf974..0000000000 --- a/src/web/app/desktop/tags/detailed-post-window.tag +++ /dev/null @@ -1,80 +0,0 @@ - -
    -
    - -
    - - -
    diff --git a/src/web/app/desktop/tags/dialog.tag b/src/web/app/desktop/tags/dialog.tag deleted file mode 100644 index 743fd63942..0000000000 --- a/src/web/app/desktop/tags/dialog.tag +++ /dev/null @@ -1,144 +0,0 @@ - -
    -
    -
    -
    -
    - - - -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/donation.tag b/src/web/app/desktop/tags/donation.tag deleted file mode 100644 index 1c19fac1f5..0000000000 --- a/src/web/app/desktop/tags/donation.tag +++ /dev/null @@ -1,66 +0,0 @@ - - -
    -

    利用者の皆さま、

    -

    - 今日は、日本の皆さまにお知らせがあります。 - 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 deleted file mode 100644 index b16dbf55d6..0000000000 --- a/src/web/app/desktop/tags/drive/base-contextmenu.tag +++ /dev/null @@ -1,44 +0,0 @@ - - -
      -
    • -

      %fa:R folder%%i18n:desktop.tags.mk-drive-browser-base-contextmenu.create-folder%

      -
    • -
    • -

      %fa:upload%%i18n:desktop.tags.mk-drive-browser-base-contextmenu.upload%

      -
    • -
    • -

      %fa:cloud-upload-alt%%i18n:desktop.tags.mk-drive-browser-base-contextmenu.url-upload%

      -
    • -
    -
    - -
    diff --git a/src/web/app/desktop/tags/drive/browser-window.tag b/src/web/app/desktop/tags/drive/browser-window.tag deleted file mode 100644 index 57042f0163..0000000000 --- a/src/web/app/desktop/tags/drive/browser-window.tag +++ /dev/null @@ -1,60 +0,0 @@ - - - -

    { parent.usage.toFixed(1) }% %i18n:desktop.tags.mk-drive-browser-window.used%

    - %fa:cloud%%i18n:desktop.tags.mk-drive-browser-window.drive% -
    - - - -
    - - -
    diff --git a/src/web/app/desktop/tags/drive/browser.tag b/src/web/app/desktop/tags/drive/browser.tag deleted file mode 100644 index a60a46b790..0000000000 --- a/src/web/app/desktop/tags/drive/browser.tag +++ /dev/null @@ -1,736 +0,0 @@ - - -
    -
    -
    -
    0 }> - - - - -
    - -
    -
    0 }> - - - - -
    - -
    -
    -

    %i18n:desktop.tags.mk-drive-browser.empty-draghover%

    -

    %i18n:desktop.tags.mk-drive-browser.empty-drive%
    %i18n:desktop.tags.mk-drive-browser.empty-drive-description%

    -

    %i18n:desktop.tags.mk-drive-browser.empty-folder%

    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - - - -
    diff --git a/src/web/app/desktop/tags/drive/file-contextmenu.tag b/src/web/app/desktop/tags/drive/file-contextmenu.tag deleted file mode 100644 index 532417c757..0000000000 --- a/src/web/app/desktop/tags/drive/file-contextmenu.tag +++ /dev/null @@ -1,99 +0,0 @@ - - -
      -
    • -

      %fa:i-cursor%%i18n:desktop.tags.mk-drive-browser-file-contextmenu.rename%

      -
    • -
    • -

      %fa:link%%i18n:desktop.tags.mk-drive-browser-file-contextmenu.copy-url%

      -
    • -
    • %fa:download%%i18n:desktop.tags.mk-drive-browser-file-contextmenu.download%
    • -
    • -
    • -

      %fa:R trash-alt%%i18n:common.delete%

      -
    • -
    • -
    • -

      %i18n:desktop.tags.mk-drive-browser-file-contextmenu.else-files%%fa:caret-right%

      -
        -
      • -

        %i18n:desktop.tags.mk-drive-browser-file-contextmenu.set-as-avatar%

        -
      • -
      • -

        %i18n:desktop.tags.mk-drive-browser-file-contextmenu.set-as-banner%

        -
      • -
      -
    • -
    • -

      %i18n:desktop.tags.mk-drive-browser-file-contextmenu.open-in-app%...%fa:caret-right%

      -
        -
      • -

        %i18n:desktop.tags.mk-drive-browser-file-contextmenu.add-app%...

        -
      • -
      -
    • -
    -
    - -
    diff --git a/src/web/app/desktop/tags/drive/file.tag b/src/web/app/desktop/tags/drive/file.tag deleted file mode 100644 index 8b3d36b3f3..0000000000 --- a/src/web/app/desktop/tags/drive/file.tag +++ /dev/null @@ -1,217 +0,0 @@ - -
    -

    %i18n:desktop.tags.mk-drive-browser-file.avatar%

    -
    -
    -

    %i18n:desktop.tags.mk-drive-browser-file.banner%

    -
    -
    - -
    -

    { 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 deleted file mode 100644 index c6a1ea3b84..0000000000 --- a/src/web/app/desktop/tags/drive/folder-contextmenu.tag +++ /dev/null @@ -1,63 +0,0 @@ - - -
      -
    • -

      %fa:arrow-right%%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.move-to-this-folder%

      -
    • -
    • -

      %fa:R window-restore%%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.show-in-new-window%

      -
    • -
    • -
    • -

      %fa:i-cursor%%i18n:desktop.tags.mk-drive-browser-folder-contextmenu.rename%

      -
    • -
    • -
    • -

      %fa:R trash-alt%%i18n:common.delete%

      -
    • -
    -
    - -
    diff --git a/src/web/app/desktop/tags/drive/folder.tag b/src/web/app/desktop/tags/drive/folder.tag deleted file mode 100644 index 0b7ee6e2d1..0000000000 --- a/src/web/app/desktop/tags/drive/folder.tag +++ /dev/null @@ -1,202 +0,0 @@ - -

    %fa:R folder-open .fw%%fa:R folder .fw%{ folder.name }

    - - -
    diff --git a/src/web/app/desktop/tags/ellipsis-icon.tag b/src/web/app/desktop/tags/ellipsis-icon.tag deleted file mode 100644 index 8462bfc4af..0000000000 --- a/src/web/app/desktop/tags/ellipsis-icon.tag +++ /dev/null @@ -1,37 +0,0 @@ - -
    -
    -
    - -
    diff --git a/src/web/app/desktop/tags/follow-button.tag b/src/web/app/desktop/tags/follow-button.tag deleted file mode 100644 index ce6de3ac69..0000000000 --- a/src/web/app/desktop/tags/follow-button.tag +++ /dev/null @@ -1,150 +0,0 @@ - - -
    %fa:spinner .pulse .fw%
    - - -
    diff --git a/src/web/app/desktop/tags/following-setuper.tag b/src/web/app/desktop/tags/following-setuper.tag deleted file mode 100644 index a51a38ccd5..0000000000 --- a/src/web/app/desktop/tags/following-setuper.tag +++ /dev/null @@ -1,169 +0,0 @@ - -

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

    -
    0 }> -
    -
    { name } -

    @{ username }

    -
    - -
    -
    -

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

    -

    %fa:spinner .pulse .fw%読み込んでいます

    - もっと見る - - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/access-log.tag b/src/web/app/desktop/tags/home-widgets/access-log.tag deleted file mode 100644 index 91a71022a7..0000000000 --- a/src/web/app/desktop/tags/home-widgets/access-log.tag +++ /dev/null @@ -1,95 +0,0 @@ - - -

    %fa:server%%i18n:desktop.tags.mk-access-log-home-widget.title%

    -
    -
    -

    - { ip } - { method } - { path } -

    -
    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/activity.tag b/src/web/app/desktop/tags/home-widgets/activity.tag deleted file mode 100644 index 2274e84162..0000000000 --- a/src/web/app/desktop/tags/home-widgets/activity.tag +++ /dev/null @@ -1,32 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/home-widgets/broadcast.tag b/src/web/app/desktop/tags/home-widgets/broadcast.tag deleted file mode 100644 index 6f4bb0756d..0000000000 --- a/src/web/app/desktop/tags/home-widgets/broadcast.tag +++ /dev/null @@ -1,143 +0,0 @@ - -
    - - - - - - - -
    -

    %i18n:desktop.tags.mk-broadcast-home-widget.fetching%

    -

    { - broadcasts.length == 0 ? '%i18n:desktop.tags.mk-broadcast-home-widget.no-broadcasts%' : broadcasts[i].title - }

    -

    %i18n:desktop.tags.mk-broadcast-home-widget.have-a-nice-day%

    - 1 } onclick={ next }>%i18n:desktop.tags.mk-broadcast-home-widget.next% >> - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/calendar.tag b/src/web/app/desktop/tags/home-widgets/calendar.tag deleted file mode 100644 index fded57e07a..0000000000 --- a/src/web/app/desktop/tags/home-widgets/calendar.tag +++ /dev/null @@ -1,167 +0,0 @@ - -
    -

    { year }年{ month }月

    -

    { day }日

    -

    { weekDay }曜日

    -
    -
    -
    -

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

    -
    -
    -
    -
    -
    -

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

    -
    -
    -
    -
    -
    -

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

    -
    -
    -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/channel.tag b/src/web/app/desktop/tags/home-widgets/channel.tag deleted file mode 100644 index 545bc38acf..0000000000 --- a/src/web/app/desktop/tags/home-widgets/channel.tag +++ /dev/null @@ -1,318 +0,0 @@ - - -

    %fa:tv%{ - channel ? channel.title : '%i18n:desktop.tags.mk-channel-home-widget.title%' - }

    - -
    -

    %i18n:desktop.tags.mk-channel-home-widget.get-started%

    - - - -
    - - -

    読み込み中

    -
    -

    まだ投稿がありません

    - -
    - - - -
    - - -
    - { post.index }: - { post.user.name } - ID:{ post.user.username } -
    -
    - >>{ post.reply.index } - { post.text } -
    - - - { - - -
    -
    - - -
    - - - - - - diff --git a/src/web/app/desktop/tags/home-widgets/donation.tag b/src/web/app/desktop/tags/home-widgets/donation.tag deleted file mode 100644 index a51a7bebbb..0000000000 --- a/src/web/app/desktop/tags/home-widgets/donation.tag +++ /dev/null @@ -1,36 +0,0 @@ - -
    -

    %fa:heart%%i18n:desktop.tags.mk-donation-home-widget.title%

    -

    {'%i18n:desktop.tags.mk-donation-home-widget.text%'.substr(0, '%i18n:desktop.tags.mk-donation-home-widget.text%'.indexOf('{'))}@syuilo{'%i18n:desktop.tags.mk-donation-home-widget.text%'.substr('%i18n:desktop.tags.mk-donation-home-widget.text%'.indexOf('}') + 1)}

    -
    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/mentions.tag b/src/web/app/desktop/tags/home-widgets/mentions.tag deleted file mode 100644 index 2687283079..0000000000 --- a/src/web/app/desktop/tags/home-widgets/mentions.tag +++ /dev/null @@ -1,125 +0,0 @@ - -
    すべてフォロー中
    -
    - -
    -

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

    - - - %fa:moon% - %fa:spinner .pulse .fw% - - - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/messaging.tag b/src/web/app/desktop/tags/home-widgets/messaging.tag deleted file mode 100644 index f2c7c35896..0000000000 --- a/src/web/app/desktop/tags/home-widgets/messaging.tag +++ /dev/null @@ -1,52 +0,0 @@ - - -

    %fa:comments%%i18n:desktop.tags.mk-messaging-home-widget.title%

    -
    - - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/nav.tag b/src/web/app/desktop/tags/home-widgets/nav.tag deleted file mode 100644 index 61c0b4cb55..0000000000 --- a/src/web/app/desktop/tags/home-widgets/nav.tag +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/home-widgets/notifications.tag b/src/web/app/desktop/tags/home-widgets/notifications.tag deleted file mode 100644 index 0ccd832d71..0000000000 --- a/src/web/app/desktop/tags/home-widgets/notifications.tag +++ /dev/null @@ -1,66 +0,0 @@ - - -

    %fa:R bell%%i18n:desktop.tags.mk-notifications-home-widget.title%

    - -
    - - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/photo-stream.tag b/src/web/app/desktop/tags/home-widgets/photo-stream.tag deleted file mode 100644 index e3bf3a988c..0000000000 --- a/src/web/app/desktop/tags/home-widgets/photo-stream.tag +++ /dev/null @@ -1,118 +0,0 @@ - - -

    %fa:camera%%i18n:desktop.tags.mk-photo-stream-home-widget.title%

    -
    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    -
    0 }> - -
    -
    -
    -

    %i18n:desktop.tags.mk-photo-stream-home-widget.no-photos%

    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/post-form.tag b/src/web/app/desktop/tags/home-widgets/post-form.tag deleted file mode 100644 index c8ccc5a30e..0000000000 --- a/src/web/app/desktop/tags/home-widgets/post-form.tag +++ /dev/null @@ -1,103 +0,0 @@ - - - - -

    %fa:pencil-alt%%i18n:desktop.tags.mk-post-form-home-widget.title%

    -
    - - -
    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/profile.tag b/src/web/app/desktop/tags/home-widgets/profile.tag deleted file mode 100644 index eb8ba52e84..0000000000 --- a/src/web/app/desktop/tags/home-widgets/profile.tag +++ /dev/null @@ -1,116 +0,0 @@ - - - avatar - { I.name } -

    @{ I.username }

    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/recommended-polls.tag b/src/web/app/desktop/tags/home-widgets/recommended-polls.tag deleted file mode 100644 index 776f666015..0000000000 --- a/src/web/app/desktop/tags/home-widgets/recommended-polls.tag +++ /dev/null @@ -1,119 +0,0 @@ - - -

    %fa:chart-pie%%i18n:desktop.tags.mk-recommended-polls-home-widget.title%

    - -
    - -

    %i18n:desktop.tags.mk-recommended-polls-home-widget.nothing%

    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/rss-reader.tag b/src/web/app/desktop/tags/home-widgets/rss-reader.tag deleted file mode 100644 index a927693ce8..0000000000 --- a/src/web/app/desktop/tags/home-widgets/rss-reader.tag +++ /dev/null @@ -1,109 +0,0 @@ - - -

    %fa:rss-square%RSS

    - -
    - -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/server.tag b/src/web/app/desktop/tags/home-widgets/server.tag deleted file mode 100644 index b9b191c181..0000000000 --- a/src/web/app/desktop/tags/home-widgets/server.tag +++ /dev/null @@ -1,533 +0,0 @@ - - -

    %fa:server%%i18n:desktop.tags.mk-server-home-widget.title%

    - -
    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - - - - - - - -
    - - - - - - - - - - - - - - - - - CPU { cpuP }% - - - - - - - - - - - - - - - - MEM { memP }% - - - - - - - -
    -

    %fa:microchip%CPU

    -

    { cores } Cores

    -

    { model }

    -
    - - -
    - - - -
    -

    %fa:flask%Memory

    -

    Total: { bytesToSize(total, 1) }

    -

    Used: { bytesToSize(used, 1) }

    -

    Free: { bytesToSize(free, 1) }

    -
    - - -
    - - - -
    -

    %fa:R hdd%Storage

    -

    Total: { bytesToSize(total, 1) }

    -

    Available: { bytesToSize(available, 1) }

    -

    Used: { bytesToSize(used, 1) }

    -
    - - -
    - - -

    Uptimes

    -

    Process: { process ? process.toFixed(0) : '---' }s

    -

    OS: { os ? os.toFixed(0) : '---' }s

    - - -
    - - -

    Maintainer: { meta.maintainer }

    -

    Machine: { meta.machine }

    -

    Node: { meta.node }

    - - -
    - - - - - - { (p * 100).toFixed(0) }% - - - - diff --git a/src/web/app/desktop/tags/home-widgets/slideshow.tag b/src/web/app/desktop/tags/home-widgets/slideshow.tag deleted file mode 100644 index 53fe047000..0000000000 --- a/src/web/app/desktop/tags/home-widgets/slideshow.tag +++ /dev/null @@ -1,151 +0,0 @@ - -
    -

    クリックしてフォルダを指定してください

    -

    このフォルダには画像がありません

    -
    -
    -
    - - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/timeline.tag b/src/web/app/desktop/tags/home-widgets/timeline.tag deleted file mode 100644 index 9571b09f34..0000000000 --- a/src/web/app/desktop/tags/home-widgets/timeline.tag +++ /dev/null @@ -1,143 +0,0 @@ - - -
    - -
    -

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

    - - - %fa:moon% - %fa:spinner .pulse .fw% - - - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/timemachine.tag b/src/web/app/desktop/tags/home-widgets/timemachine.tag deleted file mode 100644 index 3cddf53551..0000000000 --- a/src/web/app/desktop/tags/home-widgets/timemachine.tag +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/home-widgets/tips.tag b/src/web/app/desktop/tags/home-widgets/tips.tag deleted file mode 100644 index 53b61dca91..0000000000 --- a/src/web/app/desktop/tags/home-widgets/tips.tag +++ /dev/null @@ -1,94 +0,0 @@ - -

    %fa:R lightbulb%

    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/trends.tag b/src/web/app/desktop/tags/home-widgets/trends.tag deleted file mode 100644 index 3a2304111b..0000000000 --- a/src/web/app/desktop/tags/home-widgets/trends.tag +++ /dev/null @@ -1,125 +0,0 @@ - - -

    %fa:fire%%i18n:desktop.tags.mk-trends-home-widget.title%

    - -
    -
    -

    { post.text }

    -

    @{ post.user.username }

    -
    -

    %i18n:desktop.tags.mk-trends-home-widget.nothing%

    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag b/src/web/app/desktop/tags/home-widgets/user-recommendation.tag deleted file mode 100644 index a1af7a5c49..0000000000 --- a/src/web/app/desktop/tags/home-widgets/user-recommendation.tag +++ /dev/null @@ -1,165 +0,0 @@ - - -

    %fa:users%%i18n:desktop.tags.mk-user-recommendation-home-widget.title%

    - -
    -
    - - - -
    - { _user.name } -

    @{ _user.username }

    -
    - -
    -

    %i18n:desktop.tags.mk-user-recommendation-home-widget.no-one%

    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/desktop/tags/home-widgets/version.tag b/src/web/app/desktop/tags/home-widgets/version.tag deleted file mode 100644 index 2b66b0490e..0000000000 --- a/src/web/app/desktop/tags/home-widgets/version.tag +++ /dev/null @@ -1,20 +0,0 @@ - -

    ver { _VERSION_ } (葵 aoi)

    - - -
    diff --git a/src/web/app/desktop/tags/home.tag b/src/web/app/desktop/tags/home.tag deleted file mode 100644 index 50f6c84604..0000000000 --- a/src/web/app/desktop/tags/home.tag +++ /dev/null @@ -1,388 +0,0 @@ - -
    - %fa:check%完了 -
    -
    -

    ウィジェットを追加:

    - - -
    -
    -
    -

    ゴミ箱

    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -
    -
    -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/images.tag b/src/web/app/desktop/tags/images.tag deleted file mode 100644 index 0cd408576f..0000000000 --- a/src/web/app/desktop/tags/images.tag +++ /dev/null @@ -1,172 +0,0 @@ - - - - - - - - - - - - - - - -
    { - - -
    diff --git a/src/web/app/desktop/tags/index.ts b/src/web/app/desktop/tags/index.ts deleted file mode 100644 index 4edda83534..0000000000 --- a/src/web/app/desktop/tags/index.ts +++ /dev/null @@ -1,89 +0,0 @@ -require('./contextmenu.tag'); -require('./dialog.tag'); -require('./window.tag'); -require('./input-dialog.tag'); -require('./follow-button.tag'); -require('./drive/base-contextmenu.tag'); -require('./drive/file-contextmenu.tag'); -require('./drive/folder-contextmenu.tag'); -require('./drive/file.tag'); -require('./drive/folder.tag'); -require('./drive/nav-folder.tag'); -require('./drive/browser-window.tag'); -require('./drive/browser.tag'); -require('./select-file-from-drive-window.tag'); -require('./select-folder-from-drive-window.tag'); -require('./crop-window.tag'); -require('./settings.tag'); -require('./settings-window.tag'); -require('./analog-clock.tag'); -require('./notifications.tag'); -require('./post-form-window.tag'); -require('./post-form.tag'); -require('./post-preview.tag'); -require('./repost-form-window.tag'); -require('./home-widgets/user-recommendation.tag'); -require('./home-widgets/timeline.tag'); -require('./home-widgets/mentions.tag'); -require('./home-widgets/calendar.tag'); -require('./home-widgets/donation.tag'); -require('./home-widgets/tips.tag'); -require('./home-widgets/nav.tag'); -require('./home-widgets/profile.tag'); -require('./home-widgets/notifications.tag'); -require('./home-widgets/rss-reader.tag'); -require('./home-widgets/photo-stream.tag'); -require('./home-widgets/broadcast.tag'); -require('./home-widgets/version.tag'); -require('./home-widgets/recommended-polls.tag'); -require('./home-widgets/trends.tag'); -require('./home-widgets/activity.tag'); -require('./home-widgets/server.tag'); -require('./home-widgets/slideshow.tag'); -require('./home-widgets/channel.tag'); -require('./home-widgets/timemachine.tag'); -require('./home-widgets/post-form.tag'); -require('./home-widgets/access-log.tag'); -require('./home-widgets/messaging.tag'); -require('./timeline.tag'); -require('./messaging/window.tag'); -require('./messaging/room-window.tag'); -require('./following-setuper.tag'); -require('./ellipsis-icon.tag'); -require('./ui.tag'); -require('./home.tag'); -require('./user-timeline.tag'); -require('./user.tag'); -require('./big-follow-button.tag'); -require('./pages/entrance.tag'); -require('./pages/home.tag'); -require('./pages/home-customize.tag'); -require('./pages/user.tag'); -require('./pages/post.tag'); -require('./pages/search.tag'); -require('./pages/not-found.tag'); -require('./pages/selectdrive.tag'); -require('./pages/drive.tag'); -require('./pages/messaging-room.tag'); -require('./autocomplete-suggestion.tag'); -require('./progress-dialog.tag'); -require('./user-preview.tag'); -require('./post-detail.tag'); -require('./post-detail-sub.tag'); -require('./search.tag'); -require('./search-posts.tag'); -require('./set-avatar-suggestion.tag'); -require('./set-banner-suggestion.tag'); -require('./repost-form.tag'); -require('./sub-post-content.tag'); -require('./images.tag'); -require('./donation.tag'); -require('./users-list.tag'); -require('./user-following.tag'); -require('./user-followers.tag'); -require('./user-following-window.tag'); -require('./user-followers-window.tag'); -require('./list-user.tag'); -require('./detailed-post-window.tag'); -require('./widgets/calendar.tag'); -require('./widgets/activity.tag'); diff --git a/src/web/app/desktop/tags/input-dialog.tag b/src/web/app/desktop/tags/input-dialog.tag deleted file mode 100644 index f175277547..0000000000 --- a/src/web/app/desktop/tags/input-dialog.tag +++ /dev/null @@ -1,172 +0,0 @@ - - - - %fa:i-cursor%{ parent.title } - - -
    - -
    -
    - - -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/list-user.tag b/src/web/app/desktop/tags/list-user.tag deleted file mode 100644 index 91a6de0a0d..0000000000 --- a/src/web/app/desktop/tags/list-user.tag +++ /dev/null @@ -1,93 +0,0 @@ - - - avatar - -
    -
    - { user.name } - @{ user.username } -
    -
    -

    フォローされています

    -
    { user.description }
    -
    -
    - - - -
    diff --git a/src/web/app/desktop/tags/messaging/room-window.tag b/src/web/app/desktop/tags/messaging/room-window.tag deleted file mode 100644 index 7c0bb0d76e..0000000000 --- a/src/web/app/desktop/tags/messaging/room-window.tag +++ /dev/null @@ -1,32 +0,0 @@ - - - %fa:comments%メッセージ: { parent.user.name } - - - - - - - diff --git a/src/web/app/desktop/tags/messaging/window.tag b/src/web/app/desktop/tags/messaging/window.tag deleted file mode 100644 index 529db11af1..0000000000 --- a/src/web/app/desktop/tags/messaging/window.tag +++ /dev/null @@ -1,34 +0,0 @@ - - - %fa:comments%メッセージ - - - - - - - diff --git a/src/web/app/desktop/tags/notifications.tag b/src/web/app/desktop/tags/notifications.tag deleted file mode 100644 index 39862487e9..0000000000 --- a/src/web/app/desktop/tags/notifications.tag +++ /dev/null @@ -1,301 +0,0 @@ - - - -

    ありません!

    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/desktop/tags/pages/drive.tag b/src/web/app/desktop/tags/pages/drive.tag deleted file mode 100644 index 9f3e75ab21..0000000000 --- a/src/web/app/desktop/tags/pages/drive.tag +++ /dev/null @@ -1,37 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/pages/entrance.tag b/src/web/app/desktop/tags/pages/entrance.tag deleted file mode 100644 index 974f49a4fe..0000000000 --- a/src/web/app/desktop/tags/pages/entrance.tag +++ /dev/null @@ -1,342 +0,0 @@ - -
    -
    -

    どこにいても、ここにあります

    -

    ようこそ! MisskeyはTwitter風ミニブログSNSです――思ったこと、共有したいことをシンプルに書き残せます。タイムラインを見れば、皆の反応や皆がどう思っているのかもすぐにわかります。

    -

    これまでに{ stats.posts_count }投稿されました

    -
    -
    - - -
    - - -
    -
    -
    - -
    -
    - -

    { _COPYRIGHT_ }

    -
    -
    - - - - -
    - - - %fa:question% -
    -

    -

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

    -

    - -
    - Twitterでサインイン -
    or
    - Misskeyについて - - -
    - - - - - - diff --git a/src/web/app/desktop/tags/pages/home-customize.tag b/src/web/app/desktop/tags/pages/home-customize.tag deleted file mode 100644 index 457b8390e7..0000000000 --- a/src/web/app/desktop/tags/pages/home-customize.tag +++ /dev/null @@ -1,12 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/pages/home.tag b/src/web/app/desktop/tags/pages/home.tag deleted file mode 100644 index 3c8f4ec570..0000000000 --- a/src/web/app/desktop/tags/pages/home.tag +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - diff --git a/src/web/app/desktop/tags/pages/messaging-room.tag b/src/web/app/desktop/tags/pages/messaging-room.tag deleted file mode 100644 index 3c21b97501..0000000000 --- a/src/web/app/desktop/tags/pages/messaging-room.tag +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - diff --git a/src/web/app/desktop/tags/pages/not-found.tag b/src/web/app/desktop/tags/pages/not-found.tag deleted file mode 100644 index e62ea11008..0000000000 --- a/src/web/app/desktop/tags/pages/not-found.tag +++ /dev/null @@ -1,11 +0,0 @@ - - -
    -

    Not Found

    -
    -
    - -
    diff --git a/src/web/app/desktop/tags/pages/post.tag b/src/web/app/desktop/tags/pages/post.tag deleted file mode 100644 index 6d3b030e05..0000000000 --- a/src/web/app/desktop/tags/pages/post.tag +++ /dev/null @@ -1,58 +0,0 @@ - - -
    - %fa:angle-up%%i18n:desktop.tags.mk-post-page.next% - - %fa:angle-down%%i18n:desktop.tags.mk-post-page.prev% -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/pages/search.tag b/src/web/app/desktop/tags/pages/search.tag deleted file mode 100644 index 4f5867bdb9..0000000000 --- a/src/web/app/desktop/tags/pages/search.tag +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - diff --git a/src/web/app/desktop/tags/pages/selectdrive.tag b/src/web/app/desktop/tags/pages/selectdrive.tag deleted file mode 100644 index 123977e905..0000000000 --- a/src/web/app/desktop/tags/pages/selectdrive.tag +++ /dev/null @@ -1,161 +0,0 @@ - - -
    - - - -
    - - - -
    diff --git a/src/web/app/desktop/tags/pages/user.tag b/src/web/app/desktop/tags/pages/user.tag deleted file mode 100644 index 811ca5c0fd..0000000000 --- a/src/web/app/desktop/tags/pages/user.tag +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - diff --git a/src/web/app/desktop/tags/post-detail-sub.tag b/src/web/app/desktop/tags/post-detail-sub.tag deleted file mode 100644 index cccd85c474..0000000000 --- a/src/web/app/desktop/tags/post-detail-sub.tag +++ /dev/null @@ -1,149 +0,0 @@ - - - avatar - -
    -
    -
    - { post.user.name } - @{ post.user.username } -
    -
    - - - -
    -
    -
    -
    -
    - -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/post-detail.tag b/src/web/app/desktop/tags/post-detail.tag deleted file mode 100644 index 47c71a6c12..0000000000 --- a/src/web/app/desktop/tags/post-detail.tag +++ /dev/null @@ -1,328 +0,0 @@ - -
    - -
    - - - -
    -
    - -
    -
    -

    - - avatar - - %fa:retweet% - { post.user.name } - - がRepost -

    -
    -
    - - avatar - -
    - { p.user.name } - @{ p.user.username } - - - -
    -
    -
    -
    - -
    - -
    -
    - - - - - -
    -
    -
    - - - -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/post-form-window.tag b/src/web/app/desktop/tags/post-form-window.tag deleted file mode 100644 index 05a09b7803..0000000000 --- a/src/web/app/desktop/tags/post-form-window.tag +++ /dev/null @@ -1,68 +0,0 @@ - - - - %i18n:desktop.tags.mk-post-form-window.post% - %i18n:desktop.tags.mk-post-form-window.reply% - { '%i18n:desktop.tags.mk-post-form-window.attaches%'.replace('{}', parent.files.length) } - { '%i18n:desktop.tags.mk-post-form-window.uploading-media%'.replace('{}', parent.uploadingFiles.length) } - - -
    - -
    -
    - -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/post-form.tag b/src/web/app/desktop/tags/post-form.tag deleted file mode 100644 index 0b4c07906a..0000000000 --- a/src/web/app/desktop/tags/post-form.tag +++ /dev/null @@ -1,540 +0,0 @@ - -
    - -
    -
      -
    • -
      - -
    • -
    -

    { 4 - files.length }/4

    -
    - -
    - - - - - -

    { '%i18n:desktop.tags.mk-post-form.text-remain%'.replace('{}', 1000 - refs.text.value.length) }

    - - -
    - - -
    diff --git a/src/web/app/desktop/tags/post-preview.tag b/src/web/app/desktop/tags/post-preview.tag deleted file mode 100644 index 9a7db5ffa3..0000000000 --- a/src/web/app/desktop/tags/post-preview.tag +++ /dev/null @@ -1,94 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/progress-dialog.tag b/src/web/app/desktop/tags/progress-dialog.tag deleted file mode 100644 index a0ac51b2f4..0000000000 --- a/src/web/app/desktop/tags/progress-dialog.tag +++ /dev/null @@ -1,97 +0,0 @@ - - - { parent.title } - -
    -

    待機中

    -

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

    - -
    = parent.max }>
    -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/repost-form-window.tag b/src/web/app/desktop/tags/repost-form-window.tag deleted file mode 100644 index dbc3f5a3c5..0000000000 --- a/src/web/app/desktop/tags/repost-form-window.tag +++ /dev/null @@ -1,47 +0,0 @@ - - - - %fa:retweet%%i18n:desktop.tags.mk-repost-form-window.title% - - - - - - - - diff --git a/src/web/app/desktop/tags/repost-form.tag b/src/web/app/desktop/tags/repost-form.tag deleted file mode 100644 index c3cf6c1fb3..0000000000 --- a/src/web/app/desktop/tags/repost-form.tag +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - diff --git a/src/web/app/desktop/tags/search-posts.tag b/src/web/app/desktop/tags/search-posts.tag deleted file mode 100644 index f7ec85a4fe..0000000000 --- a/src/web/app/desktop/tags/search-posts.tag +++ /dev/null @@ -1,96 +0,0 @@ - -
    - -
    -

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

    - - - %fa:moon% - %fa:spinner .pulse .fw% - - - - -
    diff --git a/src/web/app/desktop/tags/search.tag b/src/web/app/desktop/tags/search.tag deleted file mode 100644 index d5159fe4e9..0000000000 --- a/src/web/app/desktop/tags/search.tag +++ /dev/null @@ -1,34 +0,0 @@ - -
    -

    { 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 deleted file mode 100644 index c660a2fe90..0000000000 --- a/src/web/app/desktop/tags/select-file-from-drive-window.tag +++ /dev/null @@ -1,173 +0,0 @@ - - - - - 0 }>({ parent.files.length }ファイル選択中) - - - -
    - - - -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/select-folder-from-drive-window.tag b/src/web/app/desktop/tags/select-folder-from-drive-window.tag deleted file mode 100644 index 3c66a4e6da..0000000000 --- a/src/web/app/desktop/tags/select-folder-from-drive-window.tag +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -
    - - -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/tags/set-avatar-suggestion.tag b/src/web/app/desktop/tags/set-avatar-suggestion.tag deleted file mode 100644 index 7e871129fc..0000000000 --- a/src/web/app/desktop/tags/set-avatar-suggestion.tag +++ /dev/null @@ -1,48 +0,0 @@ - -

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

    - - -
    diff --git a/src/web/app/desktop/tags/set-banner-suggestion.tag b/src/web/app/desktop/tags/set-banner-suggestion.tag deleted file mode 100644 index 4cd364ca3e..0000000000 --- a/src/web/app/desktop/tags/set-banner-suggestion.tag +++ /dev/null @@ -1,48 +0,0 @@ - -

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

    - - -
    diff --git a/src/web/app/desktop/tags/settings-window.tag b/src/web/app/desktop/tags/settings-window.tag deleted file mode 100644 index 5a725af51e..0000000000 --- a/src/web/app/desktop/tags/settings-window.tag +++ /dev/null @@ -1,30 +0,0 @@ - - - %fa:cog%設定 - - - - - - - diff --git a/src/web/app/desktop/tags/settings.tag b/src/web/app/desktop/tags/settings.tag deleted file mode 100644 index 457b7e2276..0000000000 --- a/src/web/app/desktop/tags/settings.tag +++ /dev/null @@ -1,426 +0,0 @@ - - -
    -
    -

    %i18n:desktop.tags.mk-settings.profile%

    - -
    - -
    -

    デザイン

    - ホームをカスタマイズ -
    - -
    -

    %i18n:desktop.tags.mk-settings.drive%

    - -
    - -
    -

    %i18n:desktop.tags.mk-settings.mute%

    - -
    - -
    -

    アプリケーション

    - -
    - - - -
    -

    %i18n:desktop.tags.mk-settings.password%

    - -
    - -
    -

    %i18n:desktop.tags.mk-settings.2fa%

    - -
    - - - -
    -

    API

    - -
    - -
    -

    %i18n:desktop.tags.mk-settings.license%

    - %license% -
    -
    - - -
    - - - - - - - - - - - - - -

    Token: { I.token }

    -

    %i18n:desktop.tags.mk-api-info.intro%

    -

    %fa:exclamation-triangle%%i18n:desktop.tags.mk-api-info.caution%

    -

    %i18n:desktop.tags.mk-api-info.regeneration-of-token%

    - - - -
    - - - - - - - - -

    %i18n:desktop.tags.mk-2fa-setting.intro%%i18n:desktop.tags.mk-2fa-setting.detail%

    -

    %fa:exclamation-triangle%%i18n:desktop.tags.mk-2fa-setting.caution%

    -

    - -

    %i18n:desktop.tags.mk-2fa-setting.already-registered%

    - -
    -
    -
      -
    1. %i18n:desktop.tags.mk-2fa-setting.authenticator% %i18n:desktop.tags.mk-2fa-setting.howtoinstall%
    2. -
    3. %i18n:desktop.tags.mk-2fa-setting.scan%
    4. -
    5. %i18n:desktop.tags.mk-2fa-setting.done%
      - - -
    6. -
    -

    %fa:info-circle%%i18n:desktop.tags.mk-2fa-setting.info%

    -
    - - -
    - - - - - - { (usageP * 100).toFixed(0) }% - - - - - - - -
    -

    %fa:info-circle%%i18n:desktop.tags.mk-mute-setting.no-users%

    -
    -
    -
    -

    { user.name } @{ user.username }

    -
    -
    - - - -
    diff --git a/src/web/app/desktop/tags/sub-post-content.tag b/src/web/app/desktop/tags/sub-post-content.tag deleted file mode 100644 index 1a81b545b6..0000000000 --- a/src/web/app/desktop/tags/sub-post-content.tag +++ /dev/null @@ -1,54 +0,0 @@ - - -
    - ({ post.media.length }つのメディア) - -
    -
    - 投票 - -
    - - -
    diff --git a/src/web/app/desktop/tags/timeline.tag b/src/web/app/desktop/tags/timeline.tag deleted file mode 100644 index ed77a9e608..0000000000 --- a/src/web/app/desktop/tags/timeline.tag +++ /dev/null @@ -1,704 +0,0 @@ - - - -

    %fa:angle-up%{ post._datetext }%fa:angle-down%{ posts[i + 1]._datetext }

    -
    -
    - -
    - - -
    - - -
    - -
    -
    -

    - - avatar - - %fa:retweet%{'%i18n:desktop.tags.mk-timeline-post.reposted-by%'.substr(0, '%i18n:desktop.tags.mk-timeline-post.reposted-by%'.indexOf('{'))}{ post.user.name }{'%i18n:desktop.tags.mk-timeline-post.reposted-by%'.substr('%i18n:desktop.tags.mk-timeline-post.reposted-by%'.indexOf('}') + 1)} -

    - -
    -
    - - avatar - -
    -
    - { p.user.name } - bot - @{ p.user.username } -
    - via { p.app.name } - - - -
    -
    -
    - -
    - -
    - -
    %fa:quote-right -flip-h% - -
    -
    -
    - - - - - - -
    -
    -
    -
    - -
    - - -
    - - - - - - diff --git a/src/web/app/desktop/tags/ui.tag b/src/web/app/desktop/tags/ui.tag deleted file mode 100644 index 3dfdeec01c..0000000000 --- a/src/web/app/desktop/tags/ui.tag +++ /dev/null @@ -1,896 +0,0 @@ - - - - -
    - -
    - - - -
    - - - - -
    -
    -
    -
    -
    - -
    -
    - - - - - -
    -
    -
    -
    - - -
    - - - - - - - - - - - - - - - -
    - -
    - - -
    - - - - - - - - -
    - -
    -
    - -
    - - -
    - - - - - - - - - -

    { opts.message }

    - - -
    diff --git a/src/web/app/desktop/tags/user-followers-window.tag b/src/web/app/desktop/tags/user-followers-window.tag deleted file mode 100644 index 43127a68a8..0000000000 --- a/src/web/app/desktop/tags/user-followers-window.tag +++ /dev/null @@ -1,19 +0,0 @@ - - { parent.user.name }のフォロワー - - - - - - diff --git a/src/web/app/desktop/tags/user-followers.tag b/src/web/app/desktop/tags/user-followers.tag deleted file mode 100644 index ea670e2729..0000000000 --- a/src/web/app/desktop/tags/user-followers.tag +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/user-following-window.tag b/src/web/app/desktop/tags/user-following-window.tag deleted file mode 100644 index 10a84db315..0000000000 --- a/src/web/app/desktop/tags/user-following-window.tag +++ /dev/null @@ -1,19 +0,0 @@ - - { parent.user.name }のフォロー - - - - - - diff --git a/src/web/app/desktop/tags/user-following.tag b/src/web/app/desktop/tags/user-following.tag deleted file mode 100644 index 4523beac2c..0000000000 --- a/src/web/app/desktop/tags/user-following.tag +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/src/web/app/desktop/tags/user-preview.tag b/src/web/app/desktop/tags/user-preview.tag deleted file mode 100644 index b836ff1e78..0000000000 --- a/src/web/app/desktop/tags/user-preview.tag +++ /dev/null @@ -1,149 +0,0 @@ - - - avatar -
    -

    { user.name }

    -

    @{ user.username }

    -
    -
    { user.description }
    -
    - -
    -

    フォロー

    { 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 deleted file mode 100644 index 134aeee28c..0000000000 --- a/src/web/app/desktop/tags/user-timeline.tag +++ /dev/null @@ -1,150 +0,0 @@ - -
    - 投稿投稿と返信 -
    -
    - -
    -

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

    - - - %fa:moon% - %fa:spinner .pulse .fw% - - - - -
    diff --git a/src/web/app/desktop/tags/user.tag b/src/web/app/desktop/tags/user.tag deleted file mode 100644 index b29d1eaebc..0000000000 --- a/src/web/app/desktop/tags/user.tag +++ /dev/null @@ -1,852 +0,0 @@ - -
    -
    - -
    - - -
    - - -
    - - - -
    -
    - avatar -
    -

    { user.name }

    -

    @{ user.username }

    -

    %fa:map-marker%{ user.profile.location }

    -
    - -
    - - -
    - - -
    - -

    %i18n:desktop.tags.mk-user.follows-you%

    -

    %i18n:desktop.tags.mk-user.muted% %i18n:desktop.tags.mk-user.unmute%

    -

    %i18n:desktop.tags.mk-user.mute%

    -
    -
    { user.description }
    -
    -

    %fa:birthday-cake%{ user.profile.birthday.replace('-', '年').replace('-', '月') + '日' } ({ age(user.profile.birthday) }歳)

    -
    - -
    -

    %fa:angle-right%{ user.posts_count }ポスト

    -

    %fa:angle-right%{ user.following_count }人をフォロー

    -

    %fa:angle-right%{ user.followers_count }人のフォロワー

    -
    - - -
    - - -

    %fa:camera%%i18n:desktop.tags.mk-user.photos.title%

    -

    %fa:spinner .pulse .fw%%i18n:desktop.tags.mk-user.photos.loading%

    -
    0 }> - -
    -
    -
    -

    %i18n:desktop.tags.mk-user.photos.no-photos%

    - - -
    - - -

    %fa:users%%i18n:desktop.tags.mk-user.frequently-replied-users.title%

    -

    %fa:spinner .pulse .fw%%i18n:desktop.tags.mk-user.frequently-replied-users.loading%

    -
    - - - -
    - { _user.name } -

    @{ _user.username }

    -
    - -
    -

    %i18n:desktop.tags.mk-user.frequently-replied-users.no-users%

    - - -
    - - -

    %fa:users%%i18n:desktop.tags.mk-user.followers-you-know.title%

    -

    %fa:spinner .pulse .fw%%i18n:desktop.tags.mk-user.followers-you-know.loading%

    -
    0 }> - - { - -
    -

    %i18n:desktop.tags.mk-user.followers-you-know.no-users%

    - - -
    - - -
    -
    - - - -

    %i18n:desktop.tags.mk-user.last-used-at%:

    -
    -
    -
    - - -
    -
    -
    - - - - -
    -
    - - -
    - - -
    -
    -

    %fa:pencil-alt%投稿

    - -
    -
    -
    -
    -

    フォロー/フォロワー

    - -
    -
    -
    -
    -

    いいね

    - -
    -
    - - -
    - - - - - - - - - -

    直近1年間分の統計です。一番右が現在で、一番左が1年前です。青は通常の投稿、赤は返信、緑はRepostをそれぞれ表しています。

    -

    - だいたい*1日に{ averageOfAllTypePostsEachDays }回投稿(返信、Repost含む)しています。
    - だいたい*1日に{ averageOfPostsEachDays }回投稿(通常の)しています。
    - だいたい*1日に{ averageOfRepliesEachDays }回返信しています。
    - だいたい*1日に{ averageOfRepostsEachDays }回Repostしています。
    -

    -

    * 中央値

    - - - -
    diff --git a/src/web/app/desktop/tags/users-list.tag b/src/web/app/desktop/tags/users-list.tag deleted file mode 100644 index ec9c7d8c7b..0000000000 --- a/src/web/app/desktop/tags/users-list.tag +++ /dev/null @@ -1,138 +0,0 @@ - - -
    -
    - -
    -
    - -

    { opts.noUsers }

    -

    %fa:spinner .pulse .fw%読み込んでいます

    - - -
    diff --git a/src/web/app/desktop/tags/widgets/activity.tag b/src/web/app/desktop/tags/widgets/activity.tag deleted file mode 100644 index e8c8a47632..0000000000 --- a/src/web/app/desktop/tags/widgets/activity.tag +++ /dev/null @@ -1,246 +0,0 @@ - - -

    %fa:chart-bar%%i18n:desktop.tags.mk-activity-widget.title%

    - -
    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - - - -
    - - - - - { date.year }/{ date.month }/{ date.day }
    Post: { posts }, Reply: { replies }, Repost: { reposts }
    -
    - - -
    - - -
    - - - - Black ... Total
    Blue ... Posts
    Red ... Replies
    Green ... Reposts
    - - - - -
    - - -
    - diff --git a/src/web/app/desktop/tags/widgets/calendar.tag b/src/web/app/desktop/tags/widgets/calendar.tag deleted file mode 100644 index abe9981873..0000000000 --- a/src/web/app/desktop/tags/widgets/calendar.tag +++ /dev/null @@ -1,241 +0,0 @@ - - - -

    { '%i18n:desktop.tags.mk-calendar-widget.title%'.replace('{1}', year).replace('{2}', month) }

    - -
    - -
    -
    { weekdayText[i] }
    -
    -
    { i + 1 }
    -
    - - -
    diff --git a/src/web/app/desktop/tags/window.tag b/src/web/app/desktop/tags/window.tag deleted file mode 100644 index 5b4b3c83e4..0000000000 --- a/src/web/app/desktop/tags/window.tag +++ /dev/null @@ -1,549 +0,0 @@ - -
    -
    -
    -
    -

    -
    - - -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    -
    - - -
    diff --git a/src/web/app/desktop/views/components/activity.calendar.vue b/src/web/app/desktop/views/components/activity.calendar.vue new file mode 100644 index 0000000000..72233e9aca --- /dev/null +++ b/src/web/app/desktop/views/components/activity.calendar.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/web/app/desktop/views/components/activity.chart.vue b/src/web/app/desktop/views/components/activity.chart.vue new file mode 100644 index 0000000000..5057786ed4 --- /dev/null +++ b/src/web/app/desktop/views/components/activity.chart.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/src/web/app/desktop/views/components/activity.vue b/src/web/app/desktop/views/components/activity.vue new file mode 100644 index 0000000000..33b53eb700 --- /dev/null +++ b/src/web/app/desktop/views/components/activity.vue @@ -0,0 +1,116 @@ + + + + + diff --git a/src/web/app/desktop/tags/analog-clock.tag b/src/web/app/desktop/views/components/analog-clock.vue similarity index 74% rename from src/web/app/desktop/tags/analog-clock.tag rename to src/web/app/desktop/views/components/analog-clock.vue index c0489d3feb..81eec81598 100644 --- a/src/web/app/desktop/tags/analog-clock.tag +++ b/src/web/app/desktop/views/components/analog-clock.vue @@ -1,36 +1,41 @@ - - - - - + } + } +}); + + + diff --git a/src/web/app/desktop/views/components/autocomplete.vue b/src/web/app/desktop/views/components/autocomplete.vue new file mode 100644 index 0000000000..a99d405e82 --- /dev/null +++ b/src/web/app/desktop/views/components/autocomplete.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/src/web/app/desktop/views/components/calendar.vue b/src/web/app/desktop/views/components/calendar.vue new file mode 100644 index 0000000000..08b08f8d42 --- /dev/null +++ b/src/web/app/desktop/views/components/calendar.vue @@ -0,0 +1,250 @@ + + + + + diff --git a/src/web/app/desktop/views/components/choose-file-from-drive-window.vue b/src/web/app/desktop/views/components/choose-file-from-drive-window.vue new file mode 100644 index 0000000000..2322827459 --- /dev/null +++ b/src/web/app/desktop/views/components/choose-file-from-drive-window.vue @@ -0,0 +1,178 @@ + + + + + + diff --git a/src/web/app/desktop/views/components/choose-folder-from-drive-window.vue b/src/web/app/desktop/views/components/choose-folder-from-drive-window.vue new file mode 100644 index 0000000000..8111ffcf0d --- /dev/null +++ b/src/web/app/desktop/views/components/choose-folder-from-drive-window.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/web/app/desktop/views/components/context-menu.menu.vue b/src/web/app/desktop/views/components/context-menu.menu.vue new file mode 100644 index 0000000000..e2c34a5915 --- /dev/null +++ b/src/web/app/desktop/views/components/context-menu.menu.vue @@ -0,0 +1,119 @@ + + + + + + + + diff --git a/src/web/app/desktop/views/components/context-menu.vue b/src/web/app/desktop/views/components/context-menu.vue new file mode 100644 index 0000000000..8bd9945840 --- /dev/null +++ b/src/web/app/desktop/views/components/context-menu.vue @@ -0,0 +1,74 @@ + + + + + diff --git a/src/web/app/desktop/views/components/crop-window.vue b/src/web/app/desktop/views/components/crop-window.vue new file mode 100644 index 0000000000..27d89a9ff9 --- /dev/null +++ b/src/web/app/desktop/views/components/crop-window.vue @@ -0,0 +1,176 @@ + + + + + + + diff --git a/src/web/app/desktop/views/components/dialog.vue b/src/web/app/desktop/views/components/dialog.vue new file mode 100644 index 0000000000..28f22f7b62 --- /dev/null +++ b/src/web/app/desktop/views/components/dialog.vue @@ -0,0 +1,159 @@ + + + + + + + diff --git a/src/web/app/desktop/views/components/drive-file.vue b/src/web/app/desktop/views/components/drive-file.vue new file mode 100644 index 0000000000..ffdf7ef57e --- /dev/null +++ b/src/web/app/desktop/views/components/drive-file.vue @@ -0,0 +1,319 @@ + + + + + diff --git a/src/web/app/desktop/views/components/drive-folder.vue b/src/web/app/desktop/views/components/drive-folder.vue new file mode 100644 index 0000000000..efb9df30f8 --- /dev/null +++ b/src/web/app/desktop/views/components/drive-folder.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/src/web/app/desktop/tags/drive/nav-folder.tag b/src/web/app/desktop/views/components/drive-nav-folder.vue similarity index 61% rename from src/web/app/desktop/tags/drive/nav-folder.tag rename to src/web/app/desktop/views/components/drive-nav-folder.vue index 43a648b52b..44821087af 100644 --- a/src/web/app/desktop/tags/drive/nav-folder.tag +++ b/src/web/app/desktop/views/components/drive-nav-folder.vue @@ -1,35 +1,43 @@ - - %fa:cloud%{ folder == null ? '%i18n:desktop.tags.mk-drive-browser-nav-folder.drive%' : folder.name } - - - + } + } +}); + + + diff --git a/src/web/app/desktop/views/components/drive-window.vue b/src/web/app/desktop/views/components/drive-window.vue new file mode 100644 index 0000000000..8ae48cf39f --- /dev/null +++ b/src/web/app/desktop/views/components/drive-window.vue @@ -0,0 +1,56 @@ + + + + + + diff --git a/src/web/app/desktop/views/components/drive.vue b/src/web/app/desktop/views/components/drive.vue new file mode 100644 index 0000000000..0dcf077017 --- /dev/null +++ b/src/web/app/desktop/views/components/drive.vue @@ -0,0 +1,751 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ellipsis-icon.vue b/src/web/app/desktop/views/components/ellipsis-icon.vue new file mode 100644 index 0000000000..c54a7db29d --- /dev/null +++ b/src/web/app/desktop/views/components/ellipsis-icon.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/web/app/desktop/views/components/follow-button.vue b/src/web/app/desktop/views/components/follow-button.vue new file mode 100644 index 0000000000..9056307bbf --- /dev/null +++ b/src/web/app/desktop/views/components/follow-button.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/src/web/app/desktop/views/components/followers-window.vue b/src/web/app/desktop/views/components/followers-window.vue new file mode 100644 index 0000000000..d41d356f9b --- /dev/null +++ b/src/web/app/desktop/views/components/followers-window.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/web/app/desktop/views/components/followers.vue b/src/web/app/desktop/views/components/followers.vue new file mode 100644 index 0000000000..4541a00072 --- /dev/null +++ b/src/web/app/desktop/views/components/followers.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/web/app/desktop/views/components/following-window.vue b/src/web/app/desktop/views/components/following-window.vue new file mode 100644 index 0000000000..c516b3b17b --- /dev/null +++ b/src/web/app/desktop/views/components/following-window.vue @@ -0,0 +1,26 @@ + + + + + diff --git a/src/web/app/desktop/views/components/following.vue b/src/web/app/desktop/views/components/following.vue new file mode 100644 index 0000000000..e0b9f11695 --- /dev/null +++ b/src/web/app/desktop/views/components/following.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/web/app/desktop/views/components/friends-maker.vue b/src/web/app/desktop/views/components/friends-maker.vue new file mode 100644 index 0000000000..ab35efc75a --- /dev/null +++ b/src/web/app/desktop/views/components/friends-maker.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/src/web/app/desktop/views/components/home.vue b/src/web/app/desktop/views/components/home.vue new file mode 100644 index 0000000000..8a61c378ed --- /dev/null +++ b/src/web/app/desktop/views/components/home.vue @@ -0,0 +1,327 @@ + + + + + diff --git a/src/web/app/desktop/views/components/images-image-dialog.vue b/src/web/app/desktop/views/components/images-image-dialog.vue new file mode 100644 index 0000000000..60afa7af82 --- /dev/null +++ b/src/web/app/desktop/views/components/images-image-dialog.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/web/app/desktop/views/components/images-image.vue b/src/web/app/desktop/views/components/images-image.vue new file mode 100644 index 0000000000..5b7dc41739 --- /dev/null +++ b/src/web/app/desktop/views/components/images-image.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/web/app/desktop/views/components/index.ts b/src/web/app/desktop/views/components/index.ts new file mode 100644 index 0000000000..fc30bb729e --- /dev/null +++ b/src/web/app/desktop/views/components/index.ts @@ -0,0 +1,105 @@ +import Vue from 'vue'; + +import ui from './ui.vue'; +import uiNotification from './ui-notification.vue'; +import home from './home.vue'; +import timeline from './timeline.vue'; +import posts from './posts.vue'; +import subPostContent from './sub-post-content.vue'; +import window from './window.vue'; +import postFormWindow from './post-form-window.vue'; +import repostFormWindow from './repost-form-window.vue'; +import analogClock from './analog-clock.vue'; +import ellipsisIcon from './ellipsis-icon.vue'; +import imagesImage from './images-image.vue'; +import imagesImageDialog from './images-image-dialog.vue'; +import notifications from './notifications.vue'; +import postForm from './post-form.vue'; +import repostForm from './repost-form.vue'; +import followButton from './follow-button.vue'; +import postPreview from './post-preview.vue'; +import drive from './drive.vue'; +import driveFile from './drive-file.vue'; +import driveFolder from './drive-folder.vue'; +import driveNavFolder from './drive-nav-folder.vue'; +import postDetail from './post-detail.vue'; +import settings from './settings.vue'; +import calendar from './calendar.vue'; +import activity from './activity.vue'; +import friendsMaker from './friends-maker.vue'; +import followers from './followers.vue'; +import following from './following.vue'; +import usersList from './users-list.vue'; +import wNav from './widgets/nav.vue'; +import wCalendar from './widgets/calendar.vue'; +import wPhotoStream from './widgets/photo-stream.vue'; +import wSlideshow from './widgets/slideshow.vue'; +import wTips from './widgets/tips.vue'; +import wDonation from './widgets/donation.vue'; +import wNotifications from './widgets/notifications.vue'; +import wBroadcast from './widgets/broadcast.vue'; +import wTimemachine from './widgets/timemachine.vue'; +import wProfile from './widgets/profile.vue'; +import wServer from './widgets/server.vue'; +import wActivity from './widgets/activity.vue'; +import wRss from './widgets/rss.vue'; +import wTrends from './widgets/trends.vue'; +import wVersion from './widgets/version.vue'; +import wUsers from './widgets/users.vue'; +import wPolls from './widgets/polls.vue'; +import wPostForm from './widgets/post-form.vue'; +import wMessaging from './widgets/messaging.vue'; +import wChannel from './widgets/channel.vue'; +import wAccessLog from './widgets/access-log.vue'; + +Vue.component('mk-ui', ui); +Vue.component('mk-ui-notification', uiNotification); +Vue.component('mk-home', home); +Vue.component('mk-timeline', timeline); +Vue.component('mk-posts', posts); +Vue.component('mk-sub-post-content', subPostContent); +Vue.component('mk-window', window); +Vue.component('mk-post-form-window', postFormWindow); +Vue.component('mk-repost-form-window', repostFormWindow); +Vue.component('mk-analog-clock', analogClock); +Vue.component('mk-ellipsis-icon', ellipsisIcon); +Vue.component('mk-images-image', imagesImage); +Vue.component('mk-images-image-dialog', imagesImageDialog); +Vue.component('mk-notifications', notifications); +Vue.component('mk-post-form', postForm); +Vue.component('mk-repost-form', repostForm); +Vue.component('mk-follow-button', followButton); +Vue.component('mk-post-preview', postPreview); +Vue.component('mk-drive', drive); +Vue.component('mk-drive-file', driveFile); +Vue.component('mk-drive-folder', driveFolder); +Vue.component('mk-drive-nav-folder', driveNavFolder); +Vue.component('mk-post-detail', postDetail); +Vue.component('mk-settings', settings); +Vue.component('mk-calendar', calendar); +Vue.component('mk-activity', activity); +Vue.component('mk-friends-maker', friendsMaker); +Vue.component('mk-followers', followers); +Vue.component('mk-following', following); +Vue.component('mk-users-list', usersList); +Vue.component('mkw-nav', wNav); +Vue.component('mkw-calendar', wCalendar); +Vue.component('mkw-photo-stream', wPhotoStream); +Vue.component('mkw-slideshow', wSlideshow); +Vue.component('mkw-tips', wTips); +Vue.component('mkw-donation', wDonation); +Vue.component('mkw-notifications', wNotifications); +Vue.component('mkw-broadcast', wBroadcast); +Vue.component('mkw-timemachine', wTimemachine); +Vue.component('mkw-profile', wProfile); +Vue.component('mkw-server', wServer); +Vue.component('mkw-activity', wActivity); +Vue.component('mkw-rss', wRss); +Vue.component('mkw-trends', wTrends); +Vue.component('mkw-version', wVersion); +Vue.component('mkw-users', wUsers); +Vue.component('mkw-polls', wPolls); +Vue.component('mkw-post-form', wPostForm); +Vue.component('mkw-messaging', wMessaging); +Vue.component('mkw-channel', wChannel); +Vue.component('mkw-access-log', wAccessLog); diff --git a/src/web/app/desktop/views/components/input-dialog.vue b/src/web/app/desktop/views/components/input-dialog.vue new file mode 100644 index 0000000000..a735ce0f31 --- /dev/null +++ b/src/web/app/desktop/views/components/input-dialog.vue @@ -0,0 +1,179 @@ + + + + + + diff --git a/src/web/app/desktop/views/components/mentions.vue b/src/web/app/desktop/views/components/mentions.vue new file mode 100644 index 0000000000..28ba59f2b1 --- /dev/null +++ b/src/web/app/desktop/views/components/mentions.vue @@ -0,0 +1,123 @@ + + + + + diff --git a/src/web/app/desktop/views/components/messaging-room-window.vue b/src/web/app/desktop/views/components/messaging-room-window.vue new file mode 100644 index 0000000000..66a9aa0036 --- /dev/null +++ b/src/web/app/desktop/views/components/messaging-room-window.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/src/web/app/desktop/views/components/messaging-window.vue b/src/web/app/desktop/views/components/messaging-window.vue new file mode 100644 index 0000000000..ac27465987 --- /dev/null +++ b/src/web/app/desktop/views/components/messaging-window.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/src/web/app/desktop/views/components/notifications.vue b/src/web/app/desktop/views/components/notifications.vue new file mode 100644 index 0000000000..bcd7cf35fe --- /dev/null +++ b/src/web/app/desktop/views/components/notifications.vue @@ -0,0 +1,315 @@ + + + + + diff --git a/src/web/app/desktop/views/components/post-detail.sub.vue b/src/web/app/desktop/views/components/post-detail.sub.vue new file mode 100644 index 0000000000..69ced0925f --- /dev/null +++ b/src/web/app/desktop/views/components/post-detail.sub.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/web/app/desktop/views/components/post-detail.vue b/src/web/app/desktop/views/components/post-detail.vue new file mode 100644 index 0000000000..c453867dfb --- /dev/null +++ b/src/web/app/desktop/views/components/post-detail.vue @@ -0,0 +1,347 @@ + + + + + + + diff --git a/src/web/app/desktop/views/components/post-form-window.vue b/src/web/app/desktop/views/components/post-form-window.vue new file mode 100644 index 0000000000..4427f59829 --- /dev/null +++ b/src/web/app/desktop/views/components/post-form-window.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/src/web/app/desktop/views/components/post-form.vue b/src/web/app/desktop/views/components/post-form.vue new file mode 100644 index 0000000000..d38ed9a046 --- /dev/null +++ b/src/web/app/desktop/views/components/post-form.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/src/web/app/desktop/views/components/post-preview.vue b/src/web/app/desktop/views/components/post-preview.vue new file mode 100644 index 0000000000..6a0a60e4af --- /dev/null +++ b/src/web/app/desktop/views/components/post-preview.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/web/app/desktop/views/components/posts.post.sub.vue b/src/web/app/desktop/views/components/posts.post.sub.vue new file mode 100644 index 0000000000..f920775168 --- /dev/null +++ b/src/web/app/desktop/views/components/posts.post.sub.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/web/app/desktop/views/components/posts.post.vue b/src/web/app/desktop/views/components/posts.post.vue new file mode 100644 index 0000000000..6fe097909b --- /dev/null +++ b/src/web/app/desktop/views/components/posts.post.vue @@ -0,0 +1,504 @@ + + + + + + diff --git a/src/web/app/desktop/views/components/posts.vue b/src/web/app/desktop/views/components/posts.vue new file mode 100644 index 0000000000..ec36889ec8 --- /dev/null +++ b/src/web/app/desktop/views/components/posts.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/web/app/desktop/views/components/progress-dialog.vue b/src/web/app/desktop/views/components/progress-dialog.vue new file mode 100644 index 0000000000..ed49b19d71 --- /dev/null +++ b/src/web/app/desktop/views/components/progress-dialog.vue @@ -0,0 +1,93 @@ + + + + + diff --git a/src/web/app/desktop/views/components/repost-form-window.vue b/src/web/app/desktop/views/components/repost-form-window.vue new file mode 100644 index 0000000000..7db5adbff3 --- /dev/null +++ b/src/web/app/desktop/views/components/repost-form-window.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/web/app/desktop/views/components/repost-form.vue b/src/web/app/desktop/views/components/repost-form.vue new file mode 100644 index 0000000000..5bf7eaaf03 --- /dev/null +++ b/src/web/app/desktop/views/components/repost-form.vue @@ -0,0 +1,129 @@ + + + + + diff --git a/src/web/app/desktop/views/components/settings-window.vue b/src/web/app/desktop/views/components/settings-window.vue new file mode 100644 index 0000000000..d5be177dcc --- /dev/null +++ b/src/web/app/desktop/views/components/settings-window.vue @@ -0,0 +1,24 @@ + + + + + diff --git a/src/web/app/desktop/views/components/settings.2fa.vue b/src/web/app/desktop/views/components/settings.2fa.vue new file mode 100644 index 0000000000..87783e799d --- /dev/null +++ b/src/web/app/desktop/views/components/settings.2fa.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/web/app/desktop/views/components/settings.api.vue b/src/web/app/desktop/views/components/settings.api.vue new file mode 100644 index 0000000000..5831f82075 --- /dev/null +++ b/src/web/app/desktop/views/components/settings.api.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/src/web/app/desktop/views/components/settings.mute.vue b/src/web/app/desktop/views/components/settings.mute.vue new file mode 100644 index 0000000000..0768b54ef8 --- /dev/null +++ b/src/web/app/desktop/views/components/settings.mute.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/web/app/desktop/views/components/settings.password.vue b/src/web/app/desktop/views/components/settings.password.vue new file mode 100644 index 0000000000..be3f0370d6 --- /dev/null +++ b/src/web/app/desktop/views/components/settings.password.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/web/app/desktop/views/components/settings.profile.vue b/src/web/app/desktop/views/components/settings.profile.vue new file mode 100644 index 0000000000..97a382d798 --- /dev/null +++ b/src/web/app/desktop/views/components/settings.profile.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/web/app/desktop/views/components/settings.vue b/src/web/app/desktop/views/components/settings.vue new file mode 100644 index 0000000000..c210997c38 --- /dev/null +++ b/src/web/app/desktop/views/components/settings.vue @@ -0,0 +1,178 @@ + + + + + diff --git a/src/web/app/desktop/views/components/sub-post-content.vue b/src/web/app/desktop/views/components/sub-post-content.vue new file mode 100644 index 0000000000..f048eb4f0f --- /dev/null +++ b/src/web/app/desktop/views/components/sub-post-content.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/web/app/desktop/views/components/timeline.vue b/src/web/app/desktop/views/components/timeline.vue new file mode 100644 index 0000000000..eef62104eb --- /dev/null +++ b/src/web/app/desktop/views/components/timeline.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui-notification.vue b/src/web/app/desktop/views/components/ui-notification.vue new file mode 100644 index 0000000000..9983f02c5e --- /dev/null +++ b/src/web/app/desktop/views/components/ui-notification.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.header.account.vue b/src/web/app/desktop/views/components/ui.header.account.vue new file mode 100644 index 0000000000..af58e81a04 --- /dev/null +++ b/src/web/app/desktop/views/components/ui.header.account.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.header.clock.vue b/src/web/app/desktop/views/components/ui.header.clock.vue new file mode 100644 index 0000000000..cd23a67506 --- /dev/null +++ b/src/web/app/desktop/views/components/ui.header.clock.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.header.nav.vue b/src/web/app/desktop/views/components/ui.header.nav.vue new file mode 100644 index 0000000000..c102d5b3f5 --- /dev/null +++ b/src/web/app/desktop/views/components/ui.header.nav.vue @@ -0,0 +1,154 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.header.notifications.vue b/src/web/app/desktop/views/components/ui.header.notifications.vue new file mode 100644 index 0000000000..5467dda856 --- /dev/null +++ b/src/web/app/desktop/views/components/ui.header.notifications.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.header.post.vue b/src/web/app/desktop/views/components/ui.header.post.vue new file mode 100644 index 0000000000..e8ed380f06 --- /dev/null +++ b/src/web/app/desktop/views/components/ui.header.post.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.header.search.vue b/src/web/app/desktop/views/components/ui.header.search.vue new file mode 100644 index 0000000000..c063de6bb0 --- /dev/null +++ b/src/web/app/desktop/views/components/ui.header.search.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.header.vue b/src/web/app/desktop/views/components/ui.header.vue new file mode 100644 index 0000000000..99de05facb --- /dev/null +++ b/src/web/app/desktop/views/components/ui.header.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/web/app/desktop/views/components/ui.vue b/src/web/app/desktop/views/components/ui.vue new file mode 100644 index 0000000000..87f932ff14 --- /dev/null +++ b/src/web/app/desktop/views/components/ui.vue @@ -0,0 +1,37 @@ + + + + diff --git a/src/web/app/desktop/views/components/user-preview.vue b/src/web/app/desktop/views/components/user-preview.vue new file mode 100644 index 0000000000..2a4bd7cf75 --- /dev/null +++ b/src/web/app/desktop/views/components/user-preview.vue @@ -0,0 +1,163 @@ + + + + + diff --git a/src/web/app/desktop/views/components/users-list.item.vue b/src/web/app/desktop/views/components/users-list.item.vue new file mode 100644 index 0000000000..374f55b410 --- /dev/null +++ b/src/web/app/desktop/views/components/users-list.item.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/web/app/desktop/views/components/users-list.vue b/src/web/app/desktop/views/components/users-list.vue new file mode 100644 index 0000000000..fd15f478d2 --- /dev/null +++ b/src/web/app/desktop/views/components/users-list.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/access-log.vue b/src/web/app/desktop/views/components/widgets/access-log.vue new file mode 100644 index 0000000000..a04da1daaf --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/access-log.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/activity.vue b/src/web/app/desktop/views/components/widgets/activity.vue new file mode 100644 index 0000000000..2ff5fe4f03 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/activity.vue @@ -0,0 +1,31 @@ + + + diff --git a/src/web/app/desktop/views/components/widgets/broadcast.vue b/src/web/app/desktop/views/components/widgets/broadcast.vue new file mode 100644 index 0000000000..e4b7e25321 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/broadcast.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/calendar.vue b/src/web/app/desktop/views/components/widgets/calendar.vue new file mode 100644 index 0000000000..c16602db46 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/calendar.vue @@ -0,0 +1,192 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/channel.channel.form.vue b/src/web/app/desktop/views/components/widgets/channel.channel.form.vue new file mode 100644 index 0000000000..392ba5924b --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/channel.channel.form.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/channel.channel.post.vue b/src/web/app/desktop/views/components/widgets/channel.channel.post.vue new file mode 100644 index 0000000000..faaf0fb731 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/channel.channel.post.vue @@ -0,0 +1,64 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/channel.channel.vue b/src/web/app/desktop/views/components/widgets/channel.channel.vue new file mode 100644 index 0000000000..a28b4aeb94 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/channel.channel.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/channel.vue b/src/web/app/desktop/views/components/widgets/channel.vue new file mode 100644 index 0000000000..5c3afd9ecf --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/channel.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/donation.vue b/src/web/app/desktop/views/components/widgets/donation.vue new file mode 100644 index 0000000000..fbab0fca6c --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/donation.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/messaging.vue b/src/web/app/desktop/views/components/widgets/messaging.vue new file mode 100644 index 0000000000..ae7d6934af --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/messaging.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/nav.vue b/src/web/app/desktop/views/components/widgets/nav.vue new file mode 100644 index 0000000000..5e04c266cf --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/nav.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/notifications.vue b/src/web/app/desktop/views/components/widgets/notifications.vue new file mode 100644 index 0000000000..978cf5218e --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/notifications.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/photo-stream.vue b/src/web/app/desktop/views/components/widgets/photo-stream.vue new file mode 100644 index 0000000000..04b71975b3 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/photo-stream.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/polls.vue b/src/web/app/desktop/views/components/widgets/polls.vue new file mode 100644 index 0000000000..f1b34ceed0 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/polls.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/post-form.vue b/src/web/app/desktop/views/components/widgets/post-form.vue new file mode 100644 index 0000000000..ab87ba7217 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/post-form.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/profile.vue b/src/web/app/desktop/views/components/widgets/profile.vue new file mode 100644 index 0000000000..68cf469788 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/profile.vue @@ -0,0 +1,125 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/rss.vue b/src/web/app/desktop/views/components/widgets/rss.vue new file mode 100644 index 0000000000..3507129716 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/rss.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.cpu-memory.vue b/src/web/app/desktop/views/components/widgets/server.cpu-memory.vue new file mode 100644 index 0000000000..d75a142568 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.cpu-memory.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.cpu.vue b/src/web/app/desktop/views/components/widgets/server.cpu.vue new file mode 100644 index 0000000000..596c856da8 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.cpu.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.disk.vue b/src/web/app/desktop/views/components/widgets/server.disk.vue new file mode 100644 index 0000000000..2af1982a96 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.disk.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.info.vue b/src/web/app/desktop/views/components/widgets/server.info.vue new file mode 100644 index 0000000000..bed6a1b743 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.info.vue @@ -0,0 +1,25 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.memory.vue b/src/web/app/desktop/views/components/widgets/server.memory.vue new file mode 100644 index 0000000000..834a62671d --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.memory.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.pie.vue b/src/web/app/desktop/views/components/widgets/server.pie.vue new file mode 100644 index 0000000000..ce2cff1d00 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.pie.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.uptimes.vue b/src/web/app/desktop/views/components/widgets/server.uptimes.vue new file mode 100644 index 0000000000..06713d83ce --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.uptimes.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/server.vue b/src/web/app/desktop/views/components/widgets/server.vue new file mode 100644 index 0000000000..1c0da84225 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/server.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/slideshow.vue b/src/web/app/desktop/views/components/widgets/slideshow.vue new file mode 100644 index 0000000000..c2f4eb70d3 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/slideshow.vue @@ -0,0 +1,153 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/timemachine.vue b/src/web/app/desktop/views/components/widgets/timemachine.vue new file mode 100644 index 0000000000..7420482168 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/timemachine.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/web/app/desktop/views/components/widgets/tips.vue b/src/web/app/desktop/views/components/widgets/tips.vue new file mode 100644 index 0000000000..2991fbc3b9 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/tips.vue @@ -0,0 +1,108 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/trends.vue b/src/web/app/desktop/views/components/widgets/trends.vue new file mode 100644 index 0000000000..934351b8a5 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/trends.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/users.vue b/src/web/app/desktop/views/components/widgets/users.vue new file mode 100644 index 0000000000..f3a1509cfd --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/users.vue @@ -0,0 +1,170 @@ + + + + + diff --git a/src/web/app/desktop/views/components/widgets/version.vue b/src/web/app/desktop/views/components/widgets/version.vue new file mode 100644 index 0000000000..ad2b27bc40 --- /dev/null +++ b/src/web/app/desktop/views/components/widgets/version.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/web/app/desktop/views/components/window.vue b/src/web/app/desktop/views/components/window.vue new file mode 100644 index 0000000000..1dba9a25aa --- /dev/null +++ b/src/web/app/desktop/views/components/window.vue @@ -0,0 +1,591 @@ + + + + + diff --git a/src/web/app/desktop/scripts/autocomplete.ts b/src/web/app/desktop/views/directives/autocomplete.ts similarity index 78% rename from src/web/app/desktop/scripts/autocomplete.ts rename to src/web/app/desktop/views/directives/autocomplete.ts index 9df7aae08d..53fa5a4df2 100644 --- a/src/web/app/desktop/scripts/autocomplete.ts +++ b/src/web/app/desktop/views/directives/autocomplete.ts @@ -1,5 +1,18 @@ -import getCaretCoordinates = require('textarea-caret'); -import * as riot from 'riot'; +import * as getCaretCoordinates from 'textarea-caret'; +import MkAutocomplete from '../components/autocomplete.vue'; + +export default { + bind(el, binding, vn) { + const self = el._autoCompleteDirective_ = {} as any; + self.x = new Autocomplete(el); + self.x.attach(); + }, + + unbind(el, binding, vn) { + const self = el._autoCompleteDirective_; + self.x.detach(); + } +}; /** * オートコンプリートを管理するクラス。 @@ -65,7 +78,15 @@ class Autocomplete { this.close(); // サジェスト要素作成 - const tag = document.createElement('mk-autocomplete-suggestion'); + this.suggestion = new MkAutocomplete({ + propsData: { + textarea: this.textarea, + complete: this.complete, + close: this.close, + type: type, + q: q + } + }).$mount(); // ~ サジェストを表示すべき位置を計算 ~ @@ -76,20 +97,11 @@ class Autocomplete { const x = rect.left + window.pageXOffset + caretPosition.left; const y = rect.top + window.pageYOffset + caretPosition.top; - tag.style.left = x + 'px'; - tag.style.top = y + 'px'; + this.suggestion.$el.style.left = x + 'px'; + this.suggestion.$el.style.top = y + 'px'; // 要素追加 - const el = document.body.appendChild(tag); - - // マウント - this.suggestion = (riot as any).mount(el, { - textarea: this.textarea, - complete: this.complete, - close: this.close, - type: type, - q: q - })[0]; + document.body.appendChild(this.suggestion.$el); } /** @@ -98,7 +110,7 @@ class Autocomplete { private close() { if (this.suggestion == null) return; - this.suggestion.unmount(); + this.suggestion.$destroy(); this.suggestion = null; this.textarea.focus(); @@ -128,5 +140,3 @@ class Autocomplete { this.textarea.setSelectionRange(pos, pos); } } - -export default Autocomplete; diff --git a/src/web/app/desktop/views/directives/index.ts b/src/web/app/desktop/views/directives/index.ts new file mode 100644 index 0000000000..3d0c73b6b2 --- /dev/null +++ b/src/web/app/desktop/views/directives/index.ts @@ -0,0 +1,8 @@ +import Vue from 'vue'; + +import userPreview from './user-preview'; +import autocomplete from './autocomplete'; + +Vue.directive('userPreview', userPreview); +Vue.directive('user-preview', userPreview); +Vue.directive('autocomplete', autocomplete); diff --git a/src/web/app/desktop/views/directives/user-preview.ts b/src/web/app/desktop/views/directives/user-preview.ts new file mode 100644 index 0000000000..8a4035881a --- /dev/null +++ b/src/web/app/desktop/views/directives/user-preview.ts @@ -0,0 +1,72 @@ +/** + * マウスオーバーするとユーザーがプレビューされる要素を設定します + */ + +import MkUserPreview from '../components/user-preview.vue'; + +export default { + bind(el, binding, vn) { + const self = el._userPreviewDirective_ = {} as any; + + self.user = binding.value; + self.tag = null; + self.showTimer = null; + self.hideTimer = null; + + self.close = () => { + if (self.tag) { + self.tag.close(); + self.tag = null; + } + }; + + const show = () => { + if (self.tag) return; + + self.tag = new MkUserPreview({ + parent: vn.context, + propsData: { + user: self.user + } + }).$mount(); + + const preview = self.tag.$el; + const rect = el.getBoundingClientRect(); + const x = rect.left + el.offsetWidth + window.pageXOffset; + const y = rect.top + window.pageYOffset; + + preview.style.top = y + 'px'; + preview.style.left = x + 'px'; + + preview.addEventListener('mouseover', () => { + clearTimeout(self.hideTimer); + }); + + preview.addEventListener('mouseleave', () => { + clearTimeout(self.showTimer); + self.hideTimer = setTimeout(self.close, 500); + }); + + document.body.appendChild(preview); + }; + + el.addEventListener('mouseover', () => { + clearTimeout(self.showTimer); + clearTimeout(self.hideTimer); + self.showTimer = setTimeout(show, 500); + }); + + el.addEventListener('mouseleave', () => { + clearTimeout(self.showTimer); + clearTimeout(self.hideTimer); + self.hideTimer = setTimeout(self.close, 500); + }); + }, + + unbind(el, binding, vn) { + const self = el._userPreviewDirective_; + clearTimeout(self.showTimer); + clearTimeout(self.hideTimer); + self.close(); + } +}; diff --git a/src/web/app/desktop/views/pages/drive.vue b/src/web/app/desktop/views/pages/drive.vue new file mode 100644 index 0000000000..353f59b703 --- /dev/null +++ b/src/web/app/desktop/views/pages/drive.vue @@ -0,0 +1,52 @@ + + + + + + diff --git a/src/web/app/desktop/views/pages/home-customize.vue b/src/web/app/desktop/views/pages/home-customize.vue new file mode 100644 index 0000000000..8aa06be57f --- /dev/null +++ b/src/web/app/desktop/views/pages/home-customize.vue @@ -0,0 +1,12 @@ + + + diff --git a/src/web/app/desktop/views/pages/home.vue b/src/web/app/desktop/views/pages/home.vue new file mode 100644 index 0000000000..e1464bab1d --- /dev/null +++ b/src/web/app/desktop/views/pages/home.vue @@ -0,0 +1,62 @@ + + + diff --git a/src/web/app/desktop/views/pages/index.vue b/src/web/app/desktop/views/pages/index.vue new file mode 100644 index 0000000000..0ea47d913b --- /dev/null +++ b/src/web/app/desktop/views/pages/index.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/web/app/desktop/views/pages/messaging-room.vue b/src/web/app/desktop/views/pages/messaging-room.vue new file mode 100644 index 0000000000..d71a93b244 --- /dev/null +++ b/src/web/app/desktop/views/pages/messaging-room.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/post.vue b/src/web/app/desktop/views/pages/post.vue new file mode 100644 index 0000000000..c7b8729b72 --- /dev/null +++ b/src/web/app/desktop/views/pages/post.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/search.vue b/src/web/app/desktop/views/pages/search.vue new file mode 100644 index 0000000000..b8e8db2e79 --- /dev/null +++ b/src/web/app/desktop/views/pages/search.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/selectdrive.vue b/src/web/app/desktop/views/pages/selectdrive.vue new file mode 100644 index 0000000000..b1f00da2b6 --- /dev/null +++ b/src/web/app/desktop/views/pages/selectdrive.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.followers-you-know.vue b/src/web/app/desktop/views/pages/user/user.followers-you-know.vue new file mode 100644 index 0000000000..015b12d3d4 --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.followers-you-know.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.friends.vue b/src/web/app/desktop/views/pages/user/user.friends.vue new file mode 100644 index 0000000000..d27009a82d --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.friends.vue @@ -0,0 +1,119 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.header.vue b/src/web/app/desktop/views/pages/user/user.header.vue new file mode 100644 index 0000000000..6c8375f163 --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.header.vue @@ -0,0 +1,188 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.home.vue b/src/web/app/desktop/views/pages/user/user.home.vue new file mode 100644 index 0000000000..dbf02bd07c --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.home.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.photos.vue b/src/web/app/desktop/views/pages/user/user.photos.vue new file mode 100644 index 0000000000..db29a9945a --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.photos.vue @@ -0,0 +1,88 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.profile.vue b/src/web/app/desktop/views/pages/user/user.profile.vue new file mode 100644 index 0000000000..ceca829ace --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.profile.vue @@ -0,0 +1,138 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.timeline.vue b/src/web/app/desktop/views/pages/user/user.timeline.vue new file mode 100644 index 0000000000..d8fff6ce6b --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.timeline.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/web/app/desktop/views/pages/user/user.vue b/src/web/app/desktop/views/pages/user/user.vue new file mode 100644 index 0000000000..1ce3fa27e7 --- /dev/null +++ b/src/web/app/desktop/views/pages/user/user.vue @@ -0,0 +1,54 @@ + + + + diff --git a/src/web/app/desktop/views/pages/welcome.vue b/src/web/app/desktop/views/pages/welcome.vue new file mode 100644 index 0000000000..f359ce008e --- /dev/null +++ b/src/web/app/desktop/views/pages/welcome.vue @@ -0,0 +1,163 @@ + + + + + + + + + diff --git a/src/web/app/dev/tags/new-app-form.tag b/src/web/app/dev/tags/new-app-form.tag index fdd442a836..cf3c440079 100644 --- a/src/web/app/dev/tags/new-app-form.tag +++ b/src/web/app/dev/tags/new-app-form.tag @@ -10,13 +10,13 @@
    @@ -73,9 +73,9 @@

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

    - + - - - diff --git a/src/web/app/mobile/tags/drive-selector.tag b/src/web/app/mobile/tags/drive-selector.tag deleted file mode 100644 index f8bc49dab0..0000000000 --- a/src/web/app/mobile/tags/drive-selector.tag +++ /dev/null @@ -1,88 +0,0 @@ - -
    -
    -

    %i18n:mobile.tags.mk-drive-selector.select-file% 0 }>({ files.length })

    - - -
    - -
    - - -
    diff --git a/src/web/app/mobile/tags/drive.tag b/src/web/app/mobile/tags/drive.tag deleted file mode 100644 index 2a3ff23bfa..0000000000 --- a/src/web/app/mobile/tags/drive.tag +++ /dev/null @@ -1,580 +0,0 @@ - - - -
    -
    -

    { (info.usage / info.capacity * 100).toFixed(1) }% %i18n:mobile.tags.mk-drive.used%

    -

    0 || folder.files_count > 0) }> - 0 }>{ folder.folders_count } %i18n:mobile.tags.mk-drive.folder-count% - 0 && folder.files_count > 0 }>%i18n:mobile.tags.mk-drive.count-separator% - 0 }>{ folder.files_count } %i18n:mobile.tags.mk-drive.file-count% -

    -
    -
    0 }> - - - -

    %i18n:mobile.tags.mk-drive.load-more%

    -
    -
    0 }> - - - - -
    -
    -

    %i18n:mobile.tags.mk-drive.nothing-in-drive%

    -

    %i18n:mobile.tags.mk-drive.folder-is-empty%

    -
    -
    -
    -
    -
    -
    -
    -
    - - - - -
    diff --git a/src/web/app/mobile/tags/drive/file-viewer.tag b/src/web/app/mobile/tags/drive/file-viewer.tag deleted file mode 100644 index 259873d95c..0000000000 --- a/src/web/app/mobile/tags/drive/file-viewer.tag +++ /dev/null @@ -1,282 +0,0 @@ - -
    - { - %fa:file% -
    - - { file.properties.width } - × - { file.properties.height } - px - - - - { file.properties.width / gcd(file.properties.width, file.properties.height) } - : - { file.properties.height / gcd(file.properties.width, file.properties.height) } - -
    -
    -
    -
    - { file.type } - - { bytesToSize(file.datasize) } - - %fa:R clock% -
    -
    - -
    -
    -

    - %fa:camera%%i18n:mobile.tags.mk-drive-file-viewer.exif% -

    -
    { exif ? JSON.stringify(exif, null, 2) : '' }
    -
    -
    -
    -
    -

    - %fa:hashtag%%i18n:mobile.tags.mk-drive-file-viewer.hash% -

    - { file.md5 } -
    -
    - - -
    diff --git a/src/web/app/mobile/tags/drive/file.tag b/src/web/app/mobile/tags/drive/file.tag deleted file mode 100644 index 684df7dd08..0000000000 --- a/src/web/app/mobile/tags/drive/file.tag +++ /dev/null @@ -1,151 +0,0 @@ - - -
    -
    -
    -

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

    - -
    -

    { file.type }

    -

    -

    { bytesToSize(file.datasize) }

    -

    -

    - %fa:R clock% -

    -
    -
    -
    -
    - - -
    diff --git a/src/web/app/mobile/tags/drive/folder.tag b/src/web/app/mobile/tags/drive/folder.tag deleted file mode 100644 index 6125e0b254..0000000000 --- a/src/web/app/mobile/tags/drive/folder.tag +++ /dev/null @@ -1,53 +0,0 @@ - - -
    -

    %fa:folder%{ folder.name }

    %fa:angle-right% -
    -
    - - -
    diff --git a/src/web/app/mobile/tags/follow-button.tag b/src/web/app/mobile/tags/follow-button.tag deleted file mode 100644 index 5b710bfa9d..0000000000 --- a/src/web/app/mobile/tags/follow-button.tag +++ /dev/null @@ -1,131 +0,0 @@ - - -
    %fa:spinner .pulse .fw%
    - - -
    diff --git a/src/web/app/mobile/tags/home-timeline.tag b/src/web/app/mobile/tags/home-timeline.tag deleted file mode 100644 index 397d2b3980..0000000000 --- a/src/web/app/mobile/tags/home-timeline.tag +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - diff --git a/src/web/app/mobile/tags/home.tag b/src/web/app/mobile/tags/home.tag deleted file mode 100644 index d92e3ae4e5..0000000000 --- a/src/web/app/mobile/tags/home.tag +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/images.tag b/src/web/app/mobile/tags/images.tag deleted file mode 100644 index 5899364aef..0000000000 --- a/src/web/app/mobile/tags/images.tag +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/web/app/mobile/tags/index.ts b/src/web/app/mobile/tags/index.ts deleted file mode 100644 index 20934cdd8d..0000000000 --- a/src/web/app/mobile/tags/index.ts +++ /dev/null @@ -1,50 +0,0 @@ -require('./ui.tag'); -require('./page/entrance.tag'); -require('./page/entrance/signin.tag'); -require('./page/entrance/signup.tag'); -require('./page/home.tag'); -require('./page/drive.tag'); -require('./page/notifications.tag'); -require('./page/user.tag'); -require('./page/user-followers.tag'); -require('./page/user-following.tag'); -require('./page/post.tag'); -require('./page/new-post.tag'); -require('./page/search.tag'); -require('./page/settings.tag'); -require('./page/settings/profile.tag'); -require('./page/settings/signin.tag'); -require('./page/settings/authorized-apps.tag'); -require('./page/settings/twitter.tag'); -require('./page/messaging.tag'); -require('./page/messaging-room.tag'); -require('./page/selectdrive.tag'); -require('./home.tag'); -require('./home-timeline.tag'); -require('./timeline.tag'); -require('./post-preview.tag'); -require('./sub-post-content.tag'); -require('./images.tag'); -require('./drive.tag'); -require('./drive-selector.tag'); -require('./drive-folder-selector.tag'); -require('./drive/file.tag'); -require('./drive/folder.tag'); -require('./drive/file-viewer.tag'); -require('./post-form.tag'); -require('./notification.tag'); -require('./notifications.tag'); -require('./notify.tag'); -require('./notification-preview.tag'); -require('./search.tag'); -require('./search-posts.tag'); -require('./post-detail.tag'); -require('./user.tag'); -require('./user-timeline.tag'); -require('./follow-button.tag'); -require('./user-preview.tag'); -require('./users-list.tag'); -require('./user-following.tag'); -require('./user-followers.tag'); -require('./init-following.tag'); -require('./user-card.tag'); diff --git a/src/web/app/mobile/tags/init-following.tag b/src/web/app/mobile/tags/init-following.tag deleted file mode 100644 index 105a1f70d3..0000000000 --- a/src/web/app/mobile/tags/init-following.tag +++ /dev/null @@ -1,130 +0,0 @@ - -

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

    -
    0 }> - - - -
    -

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

    -

    %fa:spinner .pulse .fw%読み込んでいます

    - もっと見る - - - -
    diff --git a/src/web/app/mobile/tags/notification-preview.tag b/src/web/app/mobile/tags/notification-preview.tag deleted file mode 100644 index ab923ea9d7..0000000000 --- a/src/web/app/mobile/tags/notification-preview.tag +++ /dev/null @@ -1,110 +0,0 @@ - - - avatar -
    -

    { notification.user.name }

    -

    %fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right%

    -
    -
    - - avatar -
    -

    %fa:retweet%{ notification.post.user.name }

    -

    %fa:quote-left%{ getPostSummary(notification.post.repost) }%fa:quote-right%

    -
    -
    - - avatar -
    -

    %fa:quote-left%{ notification.post.user.name }

    -

    { getPostSummary(notification.post) }

    -
    -
    - - avatar -
    -

    %fa:user-plus%{ notification.user.name }

    -
    -
    - - avatar -
    -

    %fa:reply%{ notification.post.user.name }

    -

    { getPostSummary(notification.post) }

    -
    -
    - - avatar -
    -

    %fa:at%{ notification.post.user.name }

    -

    { getPostSummary(notification.post) }

    -
    -
    - - avatar -
    -

    %fa:chart-pie%{ notification.user.name }

    -

    %fa:quote-left%{ getPostSummary(notification.post) }%fa:quote-right%

    -
    -
    - - -
    diff --git a/src/web/app/mobile/tags/notification.tag b/src/web/app/mobile/tags/notification.tag deleted file mode 100644 index de44caea2a..0000000000 --- a/src/web/app/mobile/tags/notification.tag +++ /dev/null @@ -1,169 +0,0 @@ - - - - - avatar - - - - - - avatar - - - - - - avatar - - - - - - avatar - -
    -

    - %fa:user-plus% - { notification.user.name } -

    -
    -
    - - - avatar - - - - - - avatar - - - - - - avatar - - - - - -
    diff --git a/src/web/app/mobile/tags/notifications.tag b/src/web/app/mobile/tags/notifications.tag deleted file mode 100644 index 742cc45145..0000000000 --- a/src/web/app/mobile/tags/notifications.tag +++ /dev/null @@ -1,164 +0,0 @@ - -
    - - -

    %fa:angle-up%{ notification._datetext }%fa:angle-down%{ notifications[i + 1]._datetext }

    -
    -
    - -

    %i18n:mobile.tags.mk-notifications.empty%

    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/mobile/tags/notify.tag b/src/web/app/mobile/tags/notify.tag deleted file mode 100644 index 2dfc2dddb8..0000000000 --- a/src/web/app/mobile/tags/notify.tag +++ /dev/null @@ -1,40 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/page/drive.tag b/src/web/app/mobile/tags/page/drive.tag deleted file mode 100644 index 0033ffe653..0000000000 --- a/src/web/app/mobile/tags/page/drive.tag +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/entrance.tag b/src/web/app/mobile/tags/page/entrance.tag deleted file mode 100644 index 191874caf9..0000000000 --- a/src/web/app/mobile/tags/page/entrance.tag +++ /dev/null @@ -1,66 +0,0 @@ - -
    Misskey - - -
    - - -
    -
    -
    -

    { _COPYRIGHT_ }

    -
    - - -
    diff --git a/src/web/app/mobile/tags/page/entrance/signin.tag b/src/web/app/mobile/tags/page/entrance/signin.tag deleted file mode 100644 index 6f473feb9d..0000000000 --- a/src/web/app/mobile/tags/page/entrance/signin.tag +++ /dev/null @@ -1,52 +0,0 @@ - - - Twitterでサインイン -
    or
    - %i18n:mobile.tags.mk-entrance-signin.about% - -
    diff --git a/src/web/app/mobile/tags/page/entrance/signup.tag b/src/web/app/mobile/tags/page/entrance/signup.tag deleted file mode 100644 index 7b11bcad4d..0000000000 --- a/src/web/app/mobile/tags/page/entrance/signup.tag +++ /dev/null @@ -1,38 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/page/home.tag b/src/web/app/mobile/tags/page/home.tag deleted file mode 100644 index 99cc6b29bf..0000000000 --- a/src/web/app/mobile/tags/page/home.tag +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/messaging-room.tag b/src/web/app/mobile/tags/page/messaging-room.tag deleted file mode 100644 index 00ee265120..0000000000 --- a/src/web/app/mobile/tags/page/messaging-room.tag +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/messaging.tag b/src/web/app/mobile/tags/page/messaging.tag deleted file mode 100644 index 29e98ce092..0000000000 --- a/src/web/app/mobile/tags/page/messaging.tag +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/new-post.tag b/src/web/app/mobile/tags/page/new-post.tag deleted file mode 100644 index 7adde3b329..0000000000 --- a/src/web/app/mobile/tags/page/new-post.tag +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/src/web/app/mobile/tags/page/notifications.tag b/src/web/app/mobile/tags/page/notifications.tag deleted file mode 100644 index 1db9c5d661..0000000000 --- a/src/web/app/mobile/tags/page/notifications.tag +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/post.tag b/src/web/app/mobile/tags/page/post.tag deleted file mode 100644 index 5303ca8d34..0000000000 --- a/src/web/app/mobile/tags/page/post.tag +++ /dev/null @@ -1,76 +0,0 @@ - - -
    - %fa:angle-up%%i18n:mobile.tags.mk-post-page.next% -
    - -
    - %fa:angle-down%%i18n:mobile.tags.mk-post-page.prev% -
    -
    - - -
    diff --git a/src/web/app/mobile/tags/page/search.tag b/src/web/app/mobile/tags/page/search.tag deleted file mode 100644 index 5c39d97e51..0000000000 --- a/src/web/app/mobile/tags/page/search.tag +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/selectdrive.tag b/src/web/app/mobile/tags/page/selectdrive.tag deleted file mode 100644 index 1a790d806c..0000000000 --- a/src/web/app/mobile/tags/page/selectdrive.tag +++ /dev/null @@ -1,87 +0,0 @@ - -
    -

    %i18n:mobile.tags.mk-selectdrive-page.select-file% 0 }>({ files.length })

    - - -
    - - - - -
    diff --git a/src/web/app/mobile/tags/page/settings.tag b/src/web/app/mobile/tags/page/settings.tag deleted file mode 100644 index 9a73b0af3c..0000000000 --- a/src/web/app/mobile/tags/page/settings.tag +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - -

    ' + I.name + '') }/>

    - - -

    ver { _VERSION_ } (葵 aoi)

    - - -
    diff --git a/src/web/app/mobile/tags/page/settings/authorized-apps.tag b/src/web/app/mobile/tags/page/settings/authorized-apps.tag deleted file mode 100644 index 8d538eba5d..0000000000 --- a/src/web/app/mobile/tags/page/settings/authorized-apps.tag +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/settings/profile.tag b/src/web/app/mobile/tags/page/settings/profile.tag deleted file mode 100644 index 8881e95190..0000000000 --- a/src/web/app/mobile/tags/page/settings/profile.tag +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - - - -
    -

    %fa:info-circle%%i18n:mobile.tags.mk-profile-setting.will-be-published%

    -
    -
    - avatar -
    - - - - - - -
    - -
    - - -
    diff --git a/src/web/app/mobile/tags/page/settings/signin.tag b/src/web/app/mobile/tags/page/settings/signin.tag deleted file mode 100644 index 1a9e63886e..0000000000 --- a/src/web/app/mobile/tags/page/settings/signin.tag +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/settings/twitter.tag b/src/web/app/mobile/tags/page/settings/twitter.tag deleted file mode 100644 index 02661d3b6b..0000000000 --- a/src/web/app/mobile/tags/page/settings/twitter.tag +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/user-followers.tag b/src/web/app/mobile/tags/page/user-followers.tag deleted file mode 100644 index cffb2b58c4..0000000000 --- a/src/web/app/mobile/tags/page/user-followers.tag +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/user-following.tag b/src/web/app/mobile/tags/page/user-following.tag deleted file mode 100644 index 369cb46422..0000000000 --- a/src/web/app/mobile/tags/page/user-following.tag +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/page/user.tag b/src/web/app/mobile/tags/page/user.tag deleted file mode 100644 index 78ca534eb0..0000000000 --- a/src/web/app/mobile/tags/page/user.tag +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - diff --git a/src/web/app/mobile/tags/post-detail.tag b/src/web/app/mobile/tags/post-detail.tag deleted file mode 100644 index 1816d1bf93..0000000000 --- a/src/web/app/mobile/tags/post-detail.tag +++ /dev/null @@ -1,448 +0,0 @@ - - -
    - - - -
    -
    - -
    -
    -

    - - avatar - %fa:retweet% - { post.user.name } - - がRepost -

    -
    -
    -
    - - avatar - -
    - { p.user.name } - @{ p.user.username } -
    -
    -
    -
    -
    - -
    - -
    - - - -
    - - - - - -
    -
    -
    - - - -
    - - -
    - - - - - - diff --git a/src/web/app/mobile/tags/post-form.tag b/src/web/app/mobile/tags/post-form.tag deleted file mode 100644 index 05466a6ec2..0000000000 --- a/src/web/app/mobile/tags/post-form.tag +++ /dev/null @@ -1,275 +0,0 @@ - -
    - -
    - { 1000 - refs.text.value.length } - -
    -
    -
    - - -
    -
      -
    • -
      -
    • -
    -
    - - - - - - - -
    - - -
    diff --git a/src/web/app/mobile/tags/post-preview.tag b/src/web/app/mobile/tags/post-preview.tag deleted file mode 100644 index aaf8467039..0000000000 --- a/src/web/app/mobile/tags/post-preview.tag +++ /dev/null @@ -1,94 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/search-posts.tag b/src/web/app/mobile/tags/search-posts.tag deleted file mode 100644 index 3e3c034f21..0000000000 --- a/src/web/app/mobile/tags/search-posts.tag +++ /dev/null @@ -1,42 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/search.tag b/src/web/app/mobile/tags/search.tag deleted file mode 100644 index 2d299e0a77..0000000000 --- a/src/web/app/mobile/tags/search.tag +++ /dev/null @@ -1,16 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/sub-post-content.tag b/src/web/app/mobile/tags/sub-post-content.tag deleted file mode 100644 index adeb84dea0..0000000000 --- a/src/web/app/mobile/tags/sub-post-content.tag +++ /dev/null @@ -1,46 +0,0 @@ - - -
    - ({ post.media.length }個のメディア) - -
    -
    - %i18n:mobile.tags.mk-sub-post-content.poll% - -
    - - -
    diff --git a/src/web/app/mobile/tags/timeline.tag b/src/web/app/mobile/tags/timeline.tag deleted file mode 100644 index 9e85f97da3..0000000000 --- a/src/web/app/mobile/tags/timeline.tag +++ /dev/null @@ -1,688 +0,0 @@ - -
    - %fa:spinner .pulse%%i18n:common.loading% -
    -
    - %fa:R comments%{ opts.empty || '%i18n:mobile.tags.mk-timeline.empty%' } -
    - - -

    - %fa:angle-up%{ post._datetext } - %fa:angle-down%{ posts[i + 1]._datetext } -

    -
    -
    - -
    - - -
    - - -
    - -
    -
    -

    - - avatar - - %fa:retweet%{'%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr(0, '%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('{'))}{ post.user.name }{'%i18n:mobile.tags.mk-timeline-post.reposted-by%'.substr('%i18n:mobile.tags.mk-timeline-post.reposted-by%'.indexOf('}') + 1)} -

    - -
    -
    - - avatar - -
    -
    - { p.user.name } - bot - @{ p.user.username } - - - -
    -
    - -
    - -
    - - via { p.app.name } -
    %fa:quote-right -flip-h% - -
    -
    -
    - - - - - -
    -
    -
    - - -
    - - - - - - diff --git a/src/web/app/mobile/tags/ui.tag b/src/web/app/mobile/tags/ui.tag deleted file mode 100644 index 77ad14530d..0000000000 --- a/src/web/app/mobile/tags/ui.tag +++ /dev/null @@ -1,419 +0,0 @@ - - - -
    - -
    - - - -
    - - - -
    -
    -
    - - %fa:circle% -

    Misskey

    - -
    -
    - - -
    - - -
    - - - -
    diff --git a/src/web/app/mobile/tags/user-card.tag b/src/web/app/mobile/tags/user-card.tag deleted file mode 100644 index d0c79698c5..0000000000 --- a/src/web/app/mobile/tags/user-card.tag +++ /dev/null @@ -1,55 +0,0 @@ - -
    - - avatar - -
    - { user.name } -

    @{ user.username }

    - - - -
    diff --git a/src/web/app/mobile/tags/user-followers.tag b/src/web/app/mobile/tags/user-followers.tag deleted file mode 100644 index b710e376c6..0000000000 --- a/src/web/app/mobile/tags/user-followers.tag +++ /dev/null @@ -1,28 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/user-following.tag b/src/web/app/mobile/tags/user-following.tag deleted file mode 100644 index 62ca091812..0000000000 --- a/src/web/app/mobile/tags/user-following.tag +++ /dev/null @@ -1,28 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/user-preview.tag b/src/web/app/mobile/tags/user-preview.tag deleted file mode 100644 index 48bf88a892..0000000000 --- a/src/web/app/mobile/tags/user-preview.tag +++ /dev/null @@ -1,95 +0,0 @@ - - - avatar - -
    -
    - { user.name } - @{ user.username } -
    -
    -
    { user.description }
    -
    -
    - - -
    diff --git a/src/web/app/mobile/tags/user-timeline.tag b/src/web/app/mobile/tags/user-timeline.tag deleted file mode 100644 index 86ead5971f..0000000000 --- a/src/web/app/mobile/tags/user-timeline.tag +++ /dev/null @@ -1,33 +0,0 @@ - - - - - diff --git a/src/web/app/mobile/tags/user.tag b/src/web/app/mobile/tags/user.tag deleted file mode 100644 index b3a2f1a147..0000000000 --- a/src/web/app/mobile/tags/user.tag +++ /dev/null @@ -1,735 +0,0 @@ - -
    -
    - -
    -
    - - avatar - - -
    -
    -

    { user.name }

    - @{ user.username } - %i18n:mobile.tags.mk-user.follows-you% -
    -
    { user.description }
    -
    -

    - %fa:map-marker%{ user.profile.location } -

    -

    - %fa:birthday-cake%{ user.profile.birthday.replace('-', '年').replace('-', '月') + '日' } ({ age(user.profile.birthday) }歳) -

    -
    - -
    - -
    -
    - - - -
    -
    - - -
    - - - -
    -

    %fa:R comments%%i18n:mobile.tags.mk-user-overview.recent-posts%

    -
    - -
    -
    -
    -

    %fa:image%%i18n:mobile.tags.mk-user-overview.images%

    -
    - -
    -
    -
    -

    %fa:chart-bar%%i18n:mobile.tags.mk-user-overview.activity%

    -
    - -
    -
    -
    -

    %fa:R comment%%i18n:mobile.tags.mk-user-overview.keywords%

    -
    - -
    -
    -
    -

    %fa:globe%%i18n:mobile.tags.mk-user-overview.domains%

    -
    - -
    -
    -
    -

    %fa:users%%i18n:mobile.tags.mk-user-overview.frequently-replied-users%

    -
    - -
    -
    -
    -

    %fa:users%%i18n:mobile.tags.mk-user-overview.followers-you-know%

    -
    - -
    -
    -

    %i18n:mobile.tags.mk-user-overview.last-used-at%:

    - - -
    - - -

    %fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-posts.loading%

    -
    0 }> - - - -
    -

    %i18n:mobile.tags.mk-user-overview-posts.no-posts%

    - - -
    - - - -
    - avatar

    { post.user.name }

    -
    -
    - { text } -
    - -
    - - -
    - - -

    %fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-photos.loading%

    -
    0 }> - - - -
    -

    %i18n:mobile.tags.mk-user-overview-photos.no-photos%

    - - -
    - - - - - - - - - - - - - - -
    1 }> - - { keyword } - -
    -

    %i18n:mobile.tags.mk-user-overview-keywords.no-keywords%

    - - -
    - - -
    1 }> - - { domain.domain } - -
    -

    %i18n:mobile.tags.mk-user-overview-domains.no-domains%

    - - -
    - - -

    %fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-frequently-replied-users.loading%

    -
    0 }> - - - -
    -

    %i18n:mobile.tags.mk-user-overview-frequently-replied-users.no-users%

    - - -
    - - -

    %fa:spinner .pulse .fw%%i18n:mobile.tags.mk-user-overview-followers-you-know.loading%

    -
    0 }> - - { - -
    -

    %i18n:mobile.tags.mk-user-overview-followers-you-know.no-users%

    - - -
    diff --git a/src/web/app/mobile/tags/users-list.tag b/src/web/app/mobile/tags/users-list.tag deleted file mode 100644 index 1dec33dddc..0000000000 --- a/src/web/app/mobile/tags/users-list.tag +++ /dev/null @@ -1,127 +0,0 @@ - - -
    - -
    - -

    { opts.noUsers }

    -

    %fa:spinner .pulse .fw%%i18n:common.loading%

    - - -
    diff --git a/src/web/app/mobile/views/components/drive-file-chooser.vue b/src/web/app/mobile/views/components/drive-file-chooser.vue new file mode 100644 index 0000000000..6806af0f1e --- /dev/null +++ b/src/web/app/mobile/views/components/drive-file-chooser.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/src/web/app/mobile/views/components/drive-folder-chooser.vue b/src/web/app/mobile/views/components/drive-folder-chooser.vue new file mode 100644 index 0000000000..853078664f --- /dev/null +++ b/src/web/app/mobile/views/components/drive-folder-chooser.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/web/app/mobile/views/components/drive.file-detail.vue b/src/web/app/mobile/views/components/drive.file-detail.vue new file mode 100644 index 0000000000..9a47eeb12c --- /dev/null +++ b/src/web/app/mobile/views/components/drive.file-detail.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/src/web/app/mobile/views/components/drive.file.vue b/src/web/app/mobile/views/components/drive.file.vue new file mode 100644 index 0000000000..dfc69e249f --- /dev/null +++ b/src/web/app/mobile/views/components/drive.file.vue @@ -0,0 +1,169 @@ + + + + + diff --git a/src/web/app/mobile/views/components/drive.folder.vue b/src/web/app/mobile/views/components/drive.folder.vue new file mode 100644 index 0000000000..22ff38fecb --- /dev/null +++ b/src/web/app/mobile/views/components/drive.folder.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/web/app/mobile/views/components/drive.vue b/src/web/app/mobile/views/components/drive.vue new file mode 100644 index 0000000000..696c63e2a4 --- /dev/null +++ b/src/web/app/mobile/views/components/drive.vue @@ -0,0 +1,581 @@ + + + + + diff --git a/src/web/app/mobile/views/components/follow-button.vue b/src/web/app/mobile/views/components/follow-button.vue new file mode 100644 index 0000000000..2d45ea215d --- /dev/null +++ b/src/web/app/mobile/views/components/follow-button.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/src/web/app/mobile/views/components/friends-maker.vue b/src/web/app/mobile/views/components/friends-maker.vue new file mode 100644 index 0000000000..961a5f568a --- /dev/null +++ b/src/web/app/mobile/views/components/friends-maker.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/src/web/app/mobile/views/components/home.vue b/src/web/app/mobile/views/components/home.vue new file mode 100644 index 0000000000..3feab581d2 --- /dev/null +++ b/src/web/app/mobile/views/components/home.vue @@ -0,0 +1,29 @@ + + + + + diff --git a/src/web/app/mobile/views/components/images-image.vue b/src/web/app/mobile/views/components/images-image.vue new file mode 100644 index 0000000000..6bc1dc0aee --- /dev/null +++ b/src/web/app/mobile/views/components/images-image.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/src/web/app/mobile/views/components/index.ts b/src/web/app/mobile/views/components/index.ts new file mode 100644 index 0000000000..73cc1f9f3a --- /dev/null +++ b/src/web/app/mobile/views/components/index.ts @@ -0,0 +1,39 @@ +import Vue from 'vue'; + +import ui from './ui.vue'; +import home from './home.vue'; +import timeline from './timeline.vue'; +import posts from './posts.vue'; +import imagesImage from './images-image.vue'; +import drive from './drive.vue'; +import postPreview from './post-preview.vue'; +import subPostContent from './sub-post-content.vue'; +import postCard from './post-card.vue'; +import userCard from './user-card.vue'; +import postDetail from './post-detail.vue'; +import followButton from './follow-button.vue'; +import friendsMaker from './friends-maker.vue'; +import notification from './notification.vue'; +import notifications from './notifications.vue'; +import notificationPreview from './notification-preview.vue'; +import usersList from './users-list.vue'; +import userPreview from './user-preview.vue'; + +Vue.component('mk-ui', ui); +Vue.component('mk-home', home); +Vue.component('mk-timeline', timeline); +Vue.component('mk-posts', posts); +Vue.component('mk-images-image', imagesImage); +Vue.component('mk-drive', drive); +Vue.component('mk-post-preview', postPreview); +Vue.component('mk-sub-post-content', subPostContent); +Vue.component('mk-post-card', postCard); +Vue.component('mk-user-card', userCard); +Vue.component('mk-post-detail', postDetail); +Vue.component('mk-follow-button', followButton); +Vue.component('mk-friends-maker', friendsMaker); +Vue.component('mk-notification', notification); +Vue.component('mk-notifications', notifications); +Vue.component('mk-notification-preview', notificationPreview); +Vue.component('mk-users-list', usersList); +Vue.component('mk-user-preview', userPreview); diff --git a/src/web/app/mobile/views/components/notification-preview.vue b/src/web/app/mobile/views/components/notification-preview.vue new file mode 100644 index 0000000000..47df626fa8 --- /dev/null +++ b/src/web/app/mobile/views/components/notification-preview.vue @@ -0,0 +1,128 @@ + + + + + + diff --git a/src/web/app/mobile/views/components/notification.vue b/src/web/app/mobile/views/components/notification.vue new file mode 100644 index 0000000000..dce373b452 --- /dev/null +++ b/src/web/app/mobile/views/components/notification.vue @@ -0,0 +1,189 @@ + + + + + + diff --git a/src/web/app/mobile/views/components/notifications.vue b/src/web/app/mobile/views/components/notifications.vue new file mode 100644 index 0000000000..1cd6e2bc13 --- /dev/null +++ b/src/web/app/mobile/views/components/notifications.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/src/web/app/mobile/views/components/notify.vue b/src/web/app/mobile/views/components/notify.vue new file mode 100644 index 0000000000..6d4a481dbe --- /dev/null +++ b/src/web/app/mobile/views/components/notify.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/web/app/mobile/views/components/post-card.vue b/src/web/app/mobile/views/components/post-card.vue new file mode 100644 index 0000000000..08a2bebfce --- /dev/null +++ b/src/web/app/mobile/views/components/post-card.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/web/app/mobile/views/components/post-detail.sub.vue b/src/web/app/mobile/views/components/post-detail.sub.vue new file mode 100644 index 0000000000..dff0cef51f --- /dev/null +++ b/src/web/app/mobile/views/components/post-detail.sub.vue @@ -0,0 +1,102 @@ + + + + + + diff --git a/src/web/app/mobile/views/components/post-detail.vue b/src/web/app/mobile/views/components/post-detail.vue new file mode 100644 index 0000000000..e7c08df7e9 --- /dev/null +++ b/src/web/app/mobile/views/components/post-detail.vue @@ -0,0 +1,362 @@ + + + + + diff --git a/src/web/app/mobile/views/components/post-form.vue b/src/web/app/mobile/views/components/post-form.vue new file mode 100644 index 0000000000..3e8206c92c --- /dev/null +++ b/src/web/app/mobile/views/components/post-form.vue @@ -0,0 +1,233 @@ + + + + + + diff --git a/src/web/app/mobile/views/components/post-preview.vue b/src/web/app/mobile/views/components/post-preview.vue new file mode 100644 index 0000000000..ccb8b5f336 --- /dev/null +++ b/src/web/app/mobile/views/components/post-preview.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/web/app/mobile/views/components/posts.post.sub.vue b/src/web/app/mobile/views/components/posts.post.sub.vue new file mode 100644 index 0000000000..f1c858675e --- /dev/null +++ b/src/web/app/mobile/views/components/posts.post.sub.vue @@ -0,0 +1,108 @@ + + + + + + diff --git a/src/web/app/mobile/views/components/posts.post.vue b/src/web/app/mobile/views/components/posts.post.vue new file mode 100644 index 0000000000..43d8d4a89b --- /dev/null +++ b/src/web/app/mobile/views/components/posts.post.vue @@ -0,0 +1,445 @@ + + + + + + diff --git a/src/web/app/mobile/views/components/posts.vue b/src/web/app/mobile/views/components/posts.vue new file mode 100644 index 0000000000..34fb0749a2 --- /dev/null +++ b/src/web/app/mobile/views/components/posts.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/web/app/mobile/views/components/sub-post-content.vue b/src/web/app/mobile/views/components/sub-post-content.vue new file mode 100644 index 0000000000..429e760050 --- /dev/null +++ b/src/web/app/mobile/views/components/sub-post-content.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/web/app/mobile/views/components/timeline.vue b/src/web/app/mobile/views/components/timeline.vue new file mode 100644 index 0000000000..e7a9f2df1a --- /dev/null +++ b/src/web/app/mobile/views/components/timeline.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/web/app/mobile/views/components/ui.header.vue b/src/web/app/mobile/views/components/ui.header.vue new file mode 100644 index 0000000000..2df5ea162e --- /dev/null +++ b/src/web/app/mobile/views/components/ui.header.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/src/web/app/mobile/views/components/ui.nav.vue b/src/web/app/mobile/views/components/ui.nav.vue new file mode 100644 index 0000000000..5ca7e2e94d --- /dev/null +++ b/src/web/app/mobile/views/components/ui.nav.vue @@ -0,0 +1,200 @@ + + + + + diff --git a/src/web/app/mobile/views/components/ui.vue b/src/web/app/mobile/views/components/ui.vue new file mode 100644 index 0000000000..54b8a2d0d3 --- /dev/null +++ b/src/web/app/mobile/views/components/ui.vue @@ -0,0 +1,67 @@ + + + + + diff --git a/src/web/app/mobile/views/components/user-card.vue b/src/web/app/mobile/views/components/user-card.vue new file mode 100644 index 0000000000..729421616e --- /dev/null +++ b/src/web/app/mobile/views/components/user-card.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/web/app/mobile/views/components/user-preview.vue b/src/web/app/mobile/views/components/user-preview.vue new file mode 100644 index 0000000000..3cbc200337 --- /dev/null +++ b/src/web/app/mobile/views/components/user-preview.vue @@ -0,0 +1,103 @@ + + + + + diff --git a/src/web/app/mobile/views/components/user-timeline.vue b/src/web/app/mobile/views/components/user-timeline.vue new file mode 100644 index 0000000000..ffd6288381 --- /dev/null +++ b/src/web/app/mobile/views/components/user-timeline.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/src/web/app/mobile/views/components/users-list.vue b/src/web/app/mobile/views/components/users-list.vue new file mode 100644 index 0000000000..d6c6261354 --- /dev/null +++ b/src/web/app/mobile/views/components/users-list.vue @@ -0,0 +1,131 @@ + + + + + diff --git a/src/web/app/mobile/views/directives/index.ts b/src/web/app/mobile/views/directives/index.ts new file mode 100644 index 0000000000..324e07596d --- /dev/null +++ b/src/web/app/mobile/views/directives/index.ts @@ -0,0 +1,6 @@ +import Vue from 'vue'; + +import userPreview from './user-preview'; + +Vue.directive('userPreview', userPreview); +Vue.directive('user-preview', userPreview); diff --git a/src/web/app/mobile/views/directives/user-preview.ts b/src/web/app/mobile/views/directives/user-preview.ts new file mode 100644 index 0000000000..1a54abc20d --- /dev/null +++ b/src/web/app/mobile/views/directives/user-preview.ts @@ -0,0 +1,2 @@ +// nope +export default {}; diff --git a/src/web/app/mobile/views/pages/drive.vue b/src/web/app/mobile/views/pages/drive.vue new file mode 100644 index 0000000000..689be04d81 --- /dev/null +++ b/src/web/app/mobile/views/pages/drive.vue @@ -0,0 +1,106 @@ + + + + diff --git a/src/web/app/mobile/views/pages/followers.vue b/src/web/app/mobile/views/pages/followers.vue new file mode 100644 index 0000000000..c2b6b90e29 --- /dev/null +++ b/src/web/app/mobile/views/pages/followers.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/web/app/mobile/views/pages/following.vue b/src/web/app/mobile/views/pages/following.vue new file mode 100644 index 0000000000..6365d3b370 --- /dev/null +++ b/src/web/app/mobile/views/pages/following.vue @@ -0,0 +1,66 @@ + + + diff --git a/src/web/app/mobile/views/pages/home.vue b/src/web/app/mobile/views/pages/home.vue new file mode 100644 index 0000000000..c81cbcadb3 --- /dev/null +++ b/src/web/app/mobile/views/pages/home.vue @@ -0,0 +1,60 @@ + + + diff --git a/src/web/app/mobile/views/pages/index.vue b/src/web/app/mobile/views/pages/index.vue new file mode 100644 index 0000000000..0ea47d913b --- /dev/null +++ b/src/web/app/mobile/views/pages/index.vue @@ -0,0 +1,16 @@ + + + diff --git a/src/web/app/mobile/views/pages/messaging-room.vue b/src/web/app/mobile/views/pages/messaging-room.vue new file mode 100644 index 0000000000..a653145c10 --- /dev/null +++ b/src/web/app/mobile/views/pages/messaging-room.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/web/app/mobile/views/pages/messaging.vue b/src/web/app/mobile/views/pages/messaging.vue new file mode 100644 index 0000000000..f36ad4a4fe --- /dev/null +++ b/src/web/app/mobile/views/pages/messaging.vue @@ -0,0 +1,21 @@ + + + diff --git a/src/web/app/mobile/views/pages/notifications.vue b/src/web/app/mobile/views/pages/notifications.vue new file mode 100644 index 0000000000..b1243dbc74 --- /dev/null +++ b/src/web/app/mobile/views/pages/notifications.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/web/app/mobile/views/pages/post.vue b/src/web/app/mobile/views/pages/post.vue new file mode 100644 index 0000000000..2ed2ebfcfd --- /dev/null +++ b/src/web/app/mobile/views/pages/post.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/profile-setting.vue b/src/web/app/mobile/views/pages/profile-setting.vue new file mode 100644 index 0000000000..432a850e46 --- /dev/null +++ b/src/web/app/mobile/views/pages/profile-setting.vue @@ -0,0 +1,224 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/search.vue b/src/web/app/mobile/views/pages/search.vue new file mode 100644 index 0000000000..b6e114a82b --- /dev/null +++ b/src/web/app/mobile/views/pages/search.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/selectdrive.vue b/src/web/app/mobile/views/pages/selectdrive.vue new file mode 100644 index 0000000000..3480a0d103 --- /dev/null +++ b/src/web/app/mobile/views/pages/selectdrive.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/settings.vue b/src/web/app/mobile/views/pages/settings.vue new file mode 100644 index 0000000000..3250999e12 --- /dev/null +++ b/src/web/app/mobile/views/pages/settings.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/signup.vue b/src/web/app/mobile/views/pages/signup.vue new file mode 100644 index 0000000000..9dc07a4b86 --- /dev/null +++ b/src/web/app/mobile/views/pages/signup.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/user.vue b/src/web/app/mobile/views/pages/user.vue new file mode 100644 index 0000000000..c9c1c6bfbd --- /dev/null +++ b/src/web/app/mobile/views/pages/user.vue @@ -0,0 +1,240 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/user/home.activity.vue b/src/web/app/mobile/views/pages/user/home.activity.vue new file mode 100644 index 0000000000..87970795b2 --- /dev/null +++ b/src/web/app/mobile/views/pages/user/home.activity.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/user/home.followers-you-know.vue b/src/web/app/mobile/views/pages/user/home.followers-you-know.vue new file mode 100644 index 0000000000..acefcaa106 --- /dev/null +++ b/src/web/app/mobile/views/pages/user/home.followers-you-know.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/user/home.friends.vue b/src/web/app/mobile/views/pages/user/home.friends.vue new file mode 100644 index 0000000000..b37f1a2fe8 --- /dev/null +++ b/src/web/app/mobile/views/pages/user/home.friends.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/user/home.photos.vue b/src/web/app/mobile/views/pages/user/home.photos.vue new file mode 100644 index 0000000000..2a6343189a --- /dev/null +++ b/src/web/app/mobile/views/pages/user/home.photos.vue @@ -0,0 +1,78 @@ + + + + + + diff --git a/src/web/app/mobile/views/pages/user/home.posts.vue b/src/web/app/mobile/views/pages/user/home.posts.vue new file mode 100644 index 0000000000..70b20ce943 --- /dev/null +++ b/src/web/app/mobile/views/pages/user/home.posts.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/user/home.vue b/src/web/app/mobile/views/pages/user/home.vue new file mode 100644 index 0000000000..040b916ca2 --- /dev/null +++ b/src/web/app/mobile/views/pages/user/home.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/web/app/mobile/views/pages/welcome.vue b/src/web/app/mobile/views/pages/welcome.vue new file mode 100644 index 0000000000..84e5ae5507 --- /dev/null +++ b/src/web/app/mobile/views/pages/welcome.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/web/app/stats/tags/index.tag b/src/web/app/stats/tags/index.tag index 4b5415b2fd..4b167ccbc8 100644 --- a/src/web/app/stats/tags/index.tag +++ b/src/web/app/stats/tags/index.tag @@ -1,11 +1,11 @@

    MisskeyStatistics

    -
    +
    - -