diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..679d4f12d --- /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 c6c5947ba..952d6cd0e 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 21870473e..736507baf 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 0593af366..ced3b4cb3 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 bd5114480..4521b0ceb 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 ddae6405f..0a073a312 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 e84638157..ff214c300 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 7bbbf9590..43c524504 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 000000000..b817ff354 --- /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 8efdb6db4..19e331475 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 1ae22147c..5e3c0381a 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 000000000..321e00393 --- /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 4a236f759..000000000 --- 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 e71214f4a..000000000 --- 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 42dffe67d..000000000 --- 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 000000000..30ad64ed2 --- /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 000000000..1e372c0bd --- /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 cc8ce1ed9..b5c6ce1e6 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 5f3871802..88df2ec45 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 cdd58c4c6..a347c7c23 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 97ef745d0..000000000 --- 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 a5b8d1489..000000000 --- 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 dba2ae44d..000000000 --- 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 55d573108..000000000 --- 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 df99d93cc..000000000 --- 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 28afc6fa4..000000000 --- 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 7b133a71c..000000000 --- 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 d26cec6cd..000000000 --- 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 354022d7d..000000000 --- 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 7b4d1be56..000000000 --- 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 ea122575a..000000000 --- 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 7afb8b398..000000000 --- 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 e79209e9b..000000000 --- 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 32542418a..000000000 --- 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 be4468a21..000000000 --- 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 adc6de5a3..000000000 --- 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 012729391..000000000 --- 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 458d16ec7..000000000 --- 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 50fb023f7..000000000 --- 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 f5a2be94e..000000000 --- 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 b488efb92..000000000 --- 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 6643b1324..000000000 --- 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 0eb6196b6..000000000 --- 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 b0d7d2453..000000000 --- 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 4d57cfa55..000000000 --- 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 a95004b46..000000000 --- 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 7dbdd8fea..000000000 --- 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 2690afc5d..000000000 --- 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 000000000..bede504b5 --- /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 000000000..b48f7cecb --- /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 000000000..07349902d --- /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 000000000..aa2f0ed51 --- /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 000000000..54fc011d1 --- /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 000000000..dc802a018 --- /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 000000000..ab0f1767d --- /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 000000000..b89365a5d --- /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 000000000..2464eceb7 --- /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 000000000..cfb1e23ac --- /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 000000000..6dc19b874 --- /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 000000000..8ce75d352 --- /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 000000000..065e91966 --- /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 000000000..7ed5bc6b1 --- /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 000000000..16d670e85 --- /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 000000000..a53680e55 --- /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 000000000..7d24f4f9e --- /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 000000000..f3731cd63 --- /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 000000000..f6a27d913 --- /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 000000000..31243e99a --- /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 000000000..1fdc49a18 --- /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 000000000..2fd4d6515 --- /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 000000000..c1c0672e4 --- /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 000000000..6e0d2b0dc --- /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 000000000..aaca6ccdd --- /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 000000000..6367b6997 --- /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 000000000..b84634617 --- /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 000000000..14d4fc82f --- /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 000000000..b4fbcb6a8 --- /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 000000000..358866f50 --- /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 000000000..2461b2215 --- /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 000000000..892036244 --- /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 000000000..9b33a20d9 --- /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 000000000..b70d7122d --- /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 000000000..07935485b --- /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 000000000..ce26a8112 --- /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 000000000..1f89f40ce --- /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 000000000..cf49615df --- /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 000000000..c3e0ce14c --- /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 000000000..9e94dc423 --- /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 e0c94ec5e..000000000 --- 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 614de72be..000000000 --- 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 04131cd8f..000000000 --- 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 ce68c4f2d..000000000 --- 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 b06cb180e..e7c8f8e49 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 816ba4b5f..000000000 --- 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 ddeb600b6..000000000 --- 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 b06d011c6..000000000 --- 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 b4660fa62..000000000 --- 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 2e6cbdeed..000000000 --- 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 39d7f3db7..000000000 --- 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 05072958c..000000000 --- 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 fea5db80b..000000000 --- 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 325775622..000000000 --- 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 c893e2ed6..4d295035f 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 731160669..000000000 --- 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 7634043b2..000000000 --- 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 2a3b2a772..000000000 --- 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 4845b669d..000000000 --- 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 04f9acf97..000000000 --- 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 743fd6394..000000000 --- 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 1c19fac1f..000000000 --- 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 b16dbf55d..000000000 --- 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 57042f016..000000000 --- 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 a60a46b79..000000000 --- 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 532417c75..000000000 --- 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 8b3d36b3f..000000000 --- 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 c6a1ea3b8..000000000 --- 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 0b7ee6e2d..000000000 --- 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 8462bfc4a..000000000 --- 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 ce6de3ac6..000000000 --- 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 a51a38ccd..000000000 --- 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 91a71022a..000000000 --- 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 2274e8416..000000000 --- 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 6f4bb0756..000000000 --- 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 fded57e07..000000000 --- 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 545bc38ac..000000000 --- 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 a51a7bebb..000000000 --- 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 268728307..000000000 --- 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 f2c7c3589..000000000 --- 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 61c0b4cb5..000000000 --- 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 0ccd832d7..000000000 --- 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 e3bf3a988..000000000 --- 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 c8ccc5a30..000000000 --- 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 eb8ba52e8..000000000 --- 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 776f66601..000000000 --- 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 a927693ce..000000000 --- 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 b9b191c18..000000000 --- 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 53fe04700..000000000 --- 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 9571b09f3..000000000 --- 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 3cddf5355..000000000 --- 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 53b61dca9..000000000 --- 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 3a2304111..000000000 --- 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 a1af7a5c4..000000000 --- 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 2b66b0490..000000000 --- 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 50f6c8460..000000000 --- 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 0cd408576..000000000 --- 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 4edda8353..000000000 --- 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 f17527754..000000000 --- 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 91a6de0a0..000000000 --- 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 7c0bb0d76..000000000 --- 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 529db11af..000000000 --- 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 39862487e..000000000 --- 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 9f3e75ab2..000000000 --- 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 974f49a4f..000000000 --- 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 457b8390e..000000000 --- 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 3c8f4ec57..000000000 --- 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 3c21b9750..000000000 --- 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 e62ea1100..000000000 --- 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 6d3b030e0..000000000 --- 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 4f5867bdb..000000000 --- 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 123977e90..000000000 --- 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 811ca5c0f..000000000 --- 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 cccd85c47..000000000 --- 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 47c71a6c1..000000000 --- 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 05a09b780..000000000 --- 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 0b4c07906..000000000 --- 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 9a7db5ffa..000000000 --- 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 a0ac51b2f..000000000 --- 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 dbc3f5a3c..000000000 --- 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 c3cf6c1fb..000000000 --- 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 f7ec85a4f..000000000 --- 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 d5159fe4e..000000000 --- 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 c660a2fe9..000000000 --- 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 3c66a4e6d..000000000 --- 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 7e871129f..000000000 --- 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 4cd364ca3..000000000 --- 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 5a725af51..000000000 --- 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 457b7e227..000000000 --- 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 1a81b545b..000000000 --- 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 ed77a9e60..000000000 --- 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 3dfdeec01..000000000 --- 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 43127a68a..000000000 --- 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 ea670e272..000000000 --- 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 10a84db31..000000000 --- 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 4523beac2..000000000 --- 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 b836ff1e7..000000000 --- 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 134aeee28..000000000 --- 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 b29d1eaeb..000000000 --- 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 ec9c7d8c7..000000000 --- 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 e8c8a4763..000000000 --- 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 abe998187..000000000 --- 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 5b4b3c83e..000000000 --- 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 000000000..72233e9ac --- /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 000000000..5057786ed --- /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 000000000..33b53eb70 --- /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 c0489d3fe..81eec8159 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 000000000..a99d405e8 --- /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 000000000..08b08f8d4 --- /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 000000000..232282745 --- /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 000000000..8111ffcf0 --- /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 000000000..e2c34a591 --- /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 000000000..8bd994584 --- /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 000000000..27d89a9ff --- /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 000000000..28f22f7b6 --- /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 000000000..ffdf7ef57 --- /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 000000000..efb9df30f --- /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 43a648b52..44821087a 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 000000000..8ae48cf39 --- /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 000000000..0dcf07701 --- /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 000000000..c54a7db29 --- /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 000000000..9056307bb --- /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 000000000..d41d356f9 --- /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 000000000..4541a0007 --- /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 000000000..c516b3b17 --- /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 000000000..e0b9f1169 --- /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 000000000..ab35efc75 --- /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 000000000..8a61c378e --- /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 000000000..60afa7af8 --- /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 000000000..5b7dc4173 --- /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 000000000..fc30bb729 --- /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 000000000..a735ce0f3 --- /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 000000000..28ba59f2b --- /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 000000000..66a9aa003 --- /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 000000000..ac2746598 --- /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 000000000..bcd7cf35f --- /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 000000000..69ced0925 --- /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 000000000..c453867df --- /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 000000000..4427f5982 --- /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 000000000..d38ed9a04 --- /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 000000000..6a0a60e4a --- /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 000000000..f92077516 --- /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 000000000..6fe097909 --- /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 000000000..ec36889ec --- /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 000000000..ed49b19d7 --- /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 000000000..7db5adbff --- /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 000000000..5bf7eaaf0 --- /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 000000000..d5be177dc --- /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 000000000..87783e799 --- /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 000000000..5831f8207 --- /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 000000000..0768b54ef --- /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 000000000..be3f0370d --- /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 000000000..97a382d79 --- /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 000000000..c210997c3 --- /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 000000000..f048eb4f0 --- /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 000000000..eef62104e --- /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 000000000..9983f02c5 --- /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 000000000..af58e81a0 --- /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 000000000..cd23a6750 --- /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 000000000..c102d5b3f --- /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 000000000..5467dda85 --- /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 000000000..e8ed380f0 --- /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 000000000..c063de6bb --- /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 000000000..99de05fac --- /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 000000000..87f932ff1 --- /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 000000000..2a4bd7cf7 --- /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 000000000..374f55b41 --- /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 000000000..fd15f478d --- /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 000000000..a04da1daa --- /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 000000000..2ff5fe4f0 --- /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 000000000..e4b7e2532 --- /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 000000000..c16602db4 --- /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 000000000..392ba5924 --- /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 000000000..faaf0fb73 --- /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 000000000..a28b4aeb9 --- /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 000000000..5c3afd9ec --- /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 000000000..fbab0fca6 --- /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 000000000..ae7d6934a --- /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 000000000..5e04c266c --- /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 000000000..978cf5218 --- /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 000000000..04b71975b --- /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 000000000..f1b34ceed --- /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 000000000..ab87ba721 --- /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 000000000..68cf46978 --- /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 000000000..350712971 --- /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 000000000..d75a14256 --- /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 000000000..596c856da --- /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 000000000..2af1982a9 --- /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 000000000..bed6a1b74 --- /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 000000000..834a62671 --- /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 000000000..ce2cff1d0 --- /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 000000000..06713d83c --- /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 000000000..1c0da8422 --- /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 000000000..c2f4eb70d --- /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 000000000..742048216 --- /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 000000000..2991fbc3b --- /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 000000000..934351b8a --- /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 000000000..f3a1509cf --- /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 000000000..ad2b27bc4 --- /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 000000000..1dba9a25a --- /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 9df7aae08..53fa5a4df 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 000000000..3d0c73b6b --- /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 000000000..8a4035881 --- /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 000000000..353f59b70 --- /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 000000000..8aa06be57 --- /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 000000000..e1464bab1 --- /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 000000000..0ea47d913 --- /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 000000000..d71a93b24 --- /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 000000000..c7b8729b7 --- /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 000000000..b8e8db2e7 --- /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 000000000..b1f00da2b --- /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 000000000..015b12d3d --- /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 000000000..d27009a82 --- /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 000000000..6c8375f16 --- /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 000000000..dbf02bd07 --- /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 000000000..db29a9945 --- /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 000000000..ceca829ac --- /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 000000000..d8fff6ce6 --- /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 000000000..1ce3fa27e --- /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 000000000..f359ce008 --- /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 fdd442a83..cf3c44007 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 f8bc49dab..000000000 --- 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 2a3ff23bf..000000000 --- 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 259873d95..000000000 --- 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 684df7dd0..000000000 --- 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 6125e0b25..000000000 --- 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 5b710bfa9..000000000 --- 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 397d2b398..000000000 --- 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 d92e3ae4e..000000000 --- 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 5899364ae..000000000 --- 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 20934cdd8..000000000 --- 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 105a1f70d..000000000 --- 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 ab923ea9d..000000000 --- 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 de44caea2..000000000 --- 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 742cc4514..000000000 --- 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 2dfc2dddb..000000000 --- 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 0033ffe65..000000000 --- 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 191874caf..000000000 --- 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 6f473feb9..000000000 --- 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 7b11bcad4..000000000 --- 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 99cc6b29b..000000000 --- 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 00ee26512..000000000 --- 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 29e98ce09..000000000 --- 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 7adde3b32..000000000 --- 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 1db9c5d66..000000000 --- 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 5303ca8d3..000000000 --- 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 5c39d97e5..000000000 --- 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 1a790d806..000000000 --- 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 9a73b0af3..000000000 --- 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 8d538eba5..000000000 --- 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 8881e9519..000000000 --- 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 1a9e63886..000000000 --- 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 02661d3b6..000000000 --- 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 cffb2b58c..000000000 --- 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 369cb4642..000000000 --- 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 78ca534eb..000000000 --- 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 1816d1bf9..000000000 --- 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 05466a6ec..000000000 --- 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 aaf846703..000000000 --- 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 3e3c034f2..000000000 --- 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 2d299e0a7..000000000 --- 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 adeb84dea..000000000 --- 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 9e85f97da..000000000 --- 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 77ad14530..000000000 --- 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 d0c79698c..000000000 --- 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 b710e376c..000000000 --- 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 62ca09181..000000000 --- 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 48bf88a89..000000000 --- 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 86ead5971..000000000 --- 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 b3a2f1a14..000000000 --- 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 1dec33ddd..000000000 --- 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 000000000..6806af0f1 --- /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 000000000..853078664 --- /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 000000000..9a47eeb12 --- /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 000000000..dfc69e249 --- /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 000000000..22ff38fec --- /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 000000000..696c63e2a --- /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 000000000..2d45ea215 --- /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 000000000..961a5f568 --- /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 000000000..3feab581d --- /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 000000000..6bc1dc0ae --- /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 000000000..73cc1f9f3 --- /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 000000000..47df626fa --- /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 000000000..dce373b45 --- /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 000000000..1cd6e2bc1 --- /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 000000000..6d4a481db --- /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 000000000..08a2bebfc --- /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 000000000..dff0cef51 --- /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 000000000..e7c08df7e --- /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 000000000..3e8206c92 --- /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 000000000..ccb8b5f33 --- /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 000000000..f1c858675 --- /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 000000000..43d8d4a89 --- /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 000000000..34fb0749a --- /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 000000000..429e76005 --- /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 000000000..e7a9f2df1 --- /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 000000000..2df5ea162 --- /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 000000000..5ca7e2e94 --- /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 000000000..54b8a2d0d --- /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 000000000..729421616 --- /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 000000000..3cbc20033 --- /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 000000000..ffd628838 --- /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 000000000..d6c626135 --- /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 000000000..324e07596 --- /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 000000000..1a54abc20 --- /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 000000000..689be04d8 --- /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 000000000..c2b6b90e2 --- /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 000000000..6365d3b37 --- /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 000000000..c81cbcadb --- /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 000000000..0ea47d913 --- /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 000000000..a653145c1 --- /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 000000000..f36ad4a4f --- /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 000000000..b1243dbc7 --- /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 000000000..2ed2ebfcf --- /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 000000000..432a850e4 --- /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 000000000..b6e114a82 --- /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 000000000..3480a0d10 --- /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 000000000..3250999e1 --- /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 000000000..9dc07a4b8 --- /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 000000000..c9c1c6bfb --- /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 000000000..87970795b --- /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 000000000..acefcaa10 --- /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 000000000..b37f1a2fe --- /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 000000000..2a6343189 --- /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 000000000..70b20ce94 --- /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 000000000..040b916ca --- /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 000000000..84e5ae550 --- /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 4b5415b2f..4b167ccbc 100644 --- a/src/web/app/stats/tags/index.tag +++ b/src/web/app/stats/tags/index.tag @@ -1,11 +1,11 @@

    MisskeyStatistics

    -
    +
    - -