From cf33e483f7e6f40e8cbbbc0118a7df70bdaf651f Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 29 Mar 2018 20:32:18 +0900 Subject: 整理した MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/common/views/components/autocomplete.vue | 306 ++++++++++++++ .../components/connect-failed.troubleshooter.vue | 137 ++++++ .../app/common/views/components/connect-failed.vue | 106 +++++ .../app/common/views/components/ellipsis.vue | 26 ++ .../app/common/views/components/file-type-icon.vue | 17 + src/client/app/common/views/components/forkit.vue | 42 ++ src/client/app/common/views/components/index.ts | 51 +++ .../app/common/views/components/media-list.vue | 57 +++ .../views/components/messaging-room.form.vue | 305 ++++++++++++++ .../views/components/messaging-room.message.vue | 263 ++++++++++++ .../app/common/views/components/messaging-room.vue | 377 +++++++++++++++++ .../app/common/views/components/messaging.vue | 463 +++++++++++++++++++++ src/client/app/common/views/components/nav.vue | 41 ++ .../app/common/views/components/othello.game.vue | 324 ++++++++++++++ .../common/views/components/othello.gameroom.vue | 42 ++ .../app/common/views/components/othello.room.vue | 297 +++++++++++++ src/client/app/common/views/components/othello.vue | 311 ++++++++++++++ .../app/common/views/components/poll-editor.vue | 142 +++++++ src/client/app/common/views/components/poll.vue | 124 ++++++ .../app/common/views/components/post-html.ts | 137 ++++++ .../app/common/views/components/post-menu.vue | 141 +++++++ .../app/common/views/components/reaction-icon.vue | 28 ++ .../common/views/components/reaction-picker.vue | 191 +++++++++ .../common/views/components/reactions-viewer.vue | 49 +++ src/client/app/common/views/components/signin.vue | 142 +++++++ src/client/app/common/views/components/signup.vue | 287 +++++++++++++ .../common/views/components/special-message.vue | 42 ++ .../common/views/components/stream-indicator.vue | 86 ++++ src/client/app/common/views/components/switch.vue | 190 +++++++++ src/client/app/common/views/components/time.vue | 76 ++++ src/client/app/common/views/components/timer.vue | 49 +++ .../common/views/components/twitter-setting.vue | 66 +++ .../app/common/views/components/uploader.vue | 212 ++++++++++ .../app/common/views/components/url-preview.vue | 142 +++++++ src/client/app/common/views/components/url.vue | 66 +++ .../common/views/components/welcome-timeline.vue | 118 ++++++ .../app/common/views/directives/autocomplete.ts | 194 +++++++++ src/client/app/common/views/directives/index.ts | 5 + src/client/app/common/views/filters/bytes.ts | 8 + src/client/app/common/views/filters/index.ts | 2 + src/client/app/common/views/filters/number.ts | 5 + src/client/app/common/views/widgets/access-log.vue | 90 ++++ src/client/app/common/views/widgets/broadcast.vue | 161 +++++++ src/client/app/common/views/widgets/calendar.vue | 201 +++++++++ src/client/app/common/views/widgets/donation.vue | 58 +++ src/client/app/common/views/widgets/index.ts | 25 ++ src/client/app/common/views/widgets/nav.vue | 31 ++ .../app/common/views/widgets/photo-stream.vue | 104 +++++ src/client/app/common/views/widgets/rss.vue | 93 +++++ .../app/common/views/widgets/server.cpu-memory.vue | 127 ++++++ src/client/app/common/views/widgets/server.cpu.vue | 68 +++ .../app/common/views/widgets/server.disk.vue | 76 ++++ .../app/common/views/widgets/server.info.vue | 25 ++ .../app/common/views/widgets/server.memory.vue | 76 ++++ src/client/app/common/views/widgets/server.pie.vue | 61 +++ .../app/common/views/widgets/server.uptimes.vue | 46 ++ src/client/app/common/views/widgets/server.vue | 93 +++++ src/client/app/common/views/widgets/slideshow.vue | 159 +++++++ src/client/app/common/views/widgets/tips.vue | 108 +++++ src/client/app/common/views/widgets/version.vue | 29 ++ 60 files changed, 7298 insertions(+) create mode 100644 src/client/app/common/views/components/autocomplete.vue create mode 100644 src/client/app/common/views/components/connect-failed.troubleshooter.vue create mode 100644 src/client/app/common/views/components/connect-failed.vue create mode 100644 src/client/app/common/views/components/ellipsis.vue create mode 100644 src/client/app/common/views/components/file-type-icon.vue create mode 100644 src/client/app/common/views/components/forkit.vue create mode 100644 src/client/app/common/views/components/index.ts create mode 100644 src/client/app/common/views/components/media-list.vue create mode 100644 src/client/app/common/views/components/messaging-room.form.vue create mode 100644 src/client/app/common/views/components/messaging-room.message.vue create mode 100644 src/client/app/common/views/components/messaging-room.vue create mode 100644 src/client/app/common/views/components/messaging.vue create mode 100644 src/client/app/common/views/components/nav.vue create mode 100644 src/client/app/common/views/components/othello.game.vue create mode 100644 src/client/app/common/views/components/othello.gameroom.vue create mode 100644 src/client/app/common/views/components/othello.room.vue create mode 100644 src/client/app/common/views/components/othello.vue create mode 100644 src/client/app/common/views/components/poll-editor.vue create mode 100644 src/client/app/common/views/components/poll.vue create mode 100644 src/client/app/common/views/components/post-html.ts create mode 100644 src/client/app/common/views/components/post-menu.vue create mode 100644 src/client/app/common/views/components/reaction-icon.vue create mode 100644 src/client/app/common/views/components/reaction-picker.vue create mode 100644 src/client/app/common/views/components/reactions-viewer.vue create mode 100644 src/client/app/common/views/components/signin.vue create mode 100644 src/client/app/common/views/components/signup.vue create mode 100644 src/client/app/common/views/components/special-message.vue create mode 100644 src/client/app/common/views/components/stream-indicator.vue create mode 100644 src/client/app/common/views/components/switch.vue create mode 100644 src/client/app/common/views/components/time.vue create mode 100644 src/client/app/common/views/components/timer.vue create mode 100644 src/client/app/common/views/components/twitter-setting.vue create mode 100644 src/client/app/common/views/components/uploader.vue create mode 100644 src/client/app/common/views/components/url-preview.vue create mode 100644 src/client/app/common/views/components/url.vue create mode 100644 src/client/app/common/views/components/welcome-timeline.vue create mode 100644 src/client/app/common/views/directives/autocomplete.ts create mode 100644 src/client/app/common/views/directives/index.ts create mode 100644 src/client/app/common/views/filters/bytes.ts create mode 100644 src/client/app/common/views/filters/index.ts create mode 100644 src/client/app/common/views/filters/number.ts create mode 100644 src/client/app/common/views/widgets/access-log.vue create mode 100644 src/client/app/common/views/widgets/broadcast.vue create mode 100644 src/client/app/common/views/widgets/calendar.vue create mode 100644 src/client/app/common/views/widgets/donation.vue create mode 100644 src/client/app/common/views/widgets/index.ts create mode 100644 src/client/app/common/views/widgets/nav.vue create mode 100644 src/client/app/common/views/widgets/photo-stream.vue create mode 100644 src/client/app/common/views/widgets/rss.vue create mode 100644 src/client/app/common/views/widgets/server.cpu-memory.vue create mode 100644 src/client/app/common/views/widgets/server.cpu.vue create mode 100644 src/client/app/common/views/widgets/server.disk.vue create mode 100644 src/client/app/common/views/widgets/server.info.vue create mode 100644 src/client/app/common/views/widgets/server.memory.vue create mode 100644 src/client/app/common/views/widgets/server.pie.vue create mode 100644 src/client/app/common/views/widgets/server.uptimes.vue create mode 100644 src/client/app/common/views/widgets/server.vue create mode 100644 src/client/app/common/views/widgets/slideshow.vue create mode 100644 src/client/app/common/views/widgets/tips.vue create mode 100644 src/client/app/common/views/widgets/version.vue (limited to 'src/client/app/common/views') diff --git a/src/client/app/common/views/components/autocomplete.vue b/src/client/app/common/views/components/autocomplete.vue new file mode 100644 index 0000000000..79bd2ba023 --- /dev/null +++ b/src/client/app/common/views/components/autocomplete.vue @@ -0,0 +1,306 @@ + + + + + diff --git a/src/client/app/common/views/components/connect-failed.troubleshooter.vue b/src/client/app/common/views/components/connect-failed.troubleshooter.vue new file mode 100644 index 0000000000..cadbd36ba4 --- /dev/null +++ b/src/client/app/common/views/components/connect-failed.troubleshooter.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/src/client/app/common/views/components/connect-failed.vue b/src/client/app/common/views/components/connect-failed.vue new file mode 100644 index 0000000000..185250dbd8 --- /dev/null +++ b/src/client/app/common/views/components/connect-failed.vue @@ -0,0 +1,106 @@ + + + + + + diff --git a/src/client/app/common/views/components/ellipsis.vue b/src/client/app/common/views/components/ellipsis.vue new file mode 100644 index 0000000000..07349902de --- /dev/null +++ b/src/client/app/common/views/components/ellipsis.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/client/app/common/views/components/file-type-icon.vue b/src/client/app/common/views/components/file-type-icon.vue new file mode 100644 index 0000000000..b7e868d1f7 --- /dev/null +++ b/src/client/app/common/views/components/file-type-icon.vue @@ -0,0 +1,17 @@ + + + diff --git a/src/client/app/common/views/components/forkit.vue b/src/client/app/common/views/components/forkit.vue new file mode 100644 index 0000000000..6f334b965a --- /dev/null +++ b/src/client/app/common/views/components/forkit.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/client/app/common/views/components/index.ts b/src/client/app/common/views/components/index.ts new file mode 100644 index 0000000000..b58ba37ecb --- /dev/null +++ b/src/client/app/common/views/components/index.ts @@ -0,0 +1,51 @@ +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 timer from './timer.vue'; +import mediaList from './media-list.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'; +import Switch from './switch.vue'; +import Othello from './othello.vue'; +import welcomeTimeline from './welcome-timeline.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-timer', timer); +Vue.component('mk-media-list', mediaList); +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); +Vue.component('mk-switch', Switch); +Vue.component('mk-othello', Othello); +Vue.component('mk-welcome-timeline', welcomeTimeline); diff --git a/src/client/app/common/views/components/media-list.vue b/src/client/app/common/views/components/media-list.vue new file mode 100644 index 0000000000..64172ad0b4 --- /dev/null +++ b/src/client/app/common/views/components/media-list.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/client/app/common/views/components/messaging-room.form.vue b/src/client/app/common/views/components/messaging-room.form.vue new file mode 100644 index 0000000000..704f2016d8 --- /dev/null +++ b/src/client/app/common/views/components/messaging-room.form.vue @@ -0,0 +1,305 @@ + + + + + diff --git a/src/client/app/common/views/components/messaging-room.message.vue b/src/client/app/common/views/components/messaging-room.message.vue new file mode 100644 index 0000000000..94f87fd709 --- /dev/null +++ b/src/client/app/common/views/components/messaging-room.message.vue @@ -0,0 +1,263 @@ + + + + + diff --git a/src/client/app/common/views/components/messaging-room.vue b/src/client/app/common/views/components/messaging-room.vue new file mode 100644 index 0000000000..d30c64d74a --- /dev/null +++ b/src/client/app/common/views/components/messaging-room.vue @@ -0,0 +1,377 @@ + + + + + diff --git a/src/client/app/common/views/components/messaging.vue b/src/client/app/common/views/components/messaging.vue new file mode 100644 index 0000000000..8317c3738a --- /dev/null +++ b/src/client/app/common/views/components/messaging.vue @@ -0,0 +1,463 @@ + + + + + diff --git a/src/client/app/common/views/components/nav.vue b/src/client/app/common/views/components/nav.vue new file mode 100644 index 0000000000..8ce75d3529 --- /dev/null +++ b/src/client/app/common/views/components/nav.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/client/app/common/views/components/othello.game.vue b/src/client/app/common/views/components/othello.game.vue new file mode 100644 index 0000000000..f08742ad10 --- /dev/null +++ b/src/client/app/common/views/components/othello.game.vue @@ -0,0 +1,324 @@ + + + + + diff --git a/src/client/app/common/views/components/othello.gameroom.vue b/src/client/app/common/views/components/othello.gameroom.vue new file mode 100644 index 0000000000..dba9ccd16d --- /dev/null +++ b/src/client/app/common/views/components/othello.gameroom.vue @@ -0,0 +1,42 @@ + + + diff --git a/src/client/app/common/views/components/othello.room.vue b/src/client/app/common/views/components/othello.room.vue new file mode 100644 index 0000000000..a32be6b74f --- /dev/null +++ b/src/client/app/common/views/components/othello.room.vue @@ -0,0 +1,297 @@ + + + + + + + + + diff --git a/src/client/app/common/views/components/othello.vue b/src/client/app/common/views/components/othello.vue new file mode 100644 index 0000000000..8f7d9dfd6a --- /dev/null +++ b/src/client/app/common/views/components/othello.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/src/client/app/common/views/components/poll-editor.vue b/src/client/app/common/views/components/poll-editor.vue new file mode 100644 index 0000000000..47d901d7b1 --- /dev/null +++ b/src/client/app/common/views/components/poll-editor.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/client/app/common/views/components/poll.vue b/src/client/app/common/views/components/poll.vue new file mode 100644 index 0000000000..711d89720e --- /dev/null +++ b/src/client/app/common/views/components/poll.vue @@ -0,0 +1,124 @@ + + + + + diff --git a/src/client/app/common/views/components/post-html.ts b/src/client/app/common/views/components/post-html.ts new file mode 100644 index 0000000000..98da86617d --- /dev/null +++ b/src/client/app/common/views/components/post-html.ts @@ -0,0 +1,137 @@ +import Vue from 'vue'; +import * as emojilib from 'emojilib'; +import getAcct from '../../../../../common/user/get-acct'; +import { url } from '../../../config'; +import MkUrl from './url.vue'; + +const flatten = list => list.reduce( + (a, b) => a.concat(Array.isArray(b) ? flatten(b) : b), [] +); + +export default Vue.component('mk-post-html', { + props: { + ast: { + type: Array, + required: true + }, + shouldBreak: { + type: Boolean, + default: true + }, + i: { + type: Object, + default: null + } + }, + render(createElement) { + const els = flatten((this as any).ast.map(token => { + switch (token.type) { + case 'text': + const text = token.content.replace(/(\r\n|\n|\r)/g, '\n'); + + if ((this as any).shouldBreak) { + const x = text.split('\n') + .map(t => t == '' ? [createElement('br')] : [createElement('span', t), createElement('br')]); + x[x.length - 1].pop(); + return x; + } else { + return createElement('span', text.replace(/\n/g, ' ')); + } + + case 'bold': + return createElement('strong', token.bold); + + case 'url': + return createElement(MkUrl, { + props: { + url: token.content, + target: '_blank' + } + }); + + case 'link': + return createElement('a', { + attrs: { + class: 'link', + href: token.url, + target: '_blank', + title: token.url + } + }, token.title); + + case 'mention': + return (createElement as any)('a', { + attrs: { + href: `${url}/@${getAcct(token)}`, + target: '_blank', + dataIsMe: (this as any).i && getAcct((this as any).i) == getAcct(token) + }, + directives: [{ + name: 'user-preview', + value: token.content + }] + }, token.content); + + case 'hashtag': + return createElement('a', { + attrs: { + href: `${url}/search?q=${token.content}`, + target: '_blank' + } + }, token.content); + + case 'code': + return createElement('pre', [ + createElement('code', { + domProps: { + innerHTML: token.html + } + }) + ]); + + case 'inline-code': + return createElement('code', token.html); + + case 'quote': + const text2 = token.quote.replace(/(\r\n|\n|\r)/g, '\n'); + + if ((this as any).shouldBreak) { + const x = text2.split('\n') + .map(t => [createElement('span', t), createElement('br')]); + x[x.length - 1].pop(); + return createElement('div', { + attrs: { + class: 'quote' + } + }, x); + } else { + return createElement('span', { + attrs: { + class: 'quote' + } + }, text2.replace(/\n/g, ' ')); + } + + case 'emoji': + const emoji = emojilib.lib[token.emoji]; + return createElement('span', emoji ? emoji.char : token.content); + + default: + console.log('unknown ast type:', token.type); + } + })); + + const _els = []; + els.forEach((el, i) => { + if (el.tag == 'br') { + if (els[i - 1].tag != 'div') { + _els.push(el); + } + } else { + _els.push(el); + } + }); + + return createElement('span', _els); + } +}); diff --git a/src/client/app/common/views/components/post-menu.vue b/src/client/app/common/views/components/post-menu.vue new file mode 100644 index 0000000000..35116db7e2 --- /dev/null +++ b/src/client/app/common/views/components/post-menu.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/client/app/common/views/components/reaction-icon.vue b/src/client/app/common/views/components/reaction-icon.vue new file mode 100644 index 0000000000..7d24f4f9e9 --- /dev/null +++ b/src/client/app/common/views/components/reaction-icon.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/client/app/common/views/components/reaction-picker.vue b/src/client/app/common/views/components/reaction-picker.vue new file mode 100644 index 0000000000..bcb6b2b965 --- /dev/null +++ b/src/client/app/common/views/components/reaction-picker.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/src/client/app/common/views/components/reactions-viewer.vue b/src/client/app/common/views/components/reactions-viewer.vue new file mode 100644 index 0000000000..246451008f --- /dev/null +++ b/src/client/app/common/views/components/reactions-viewer.vue @@ -0,0 +1,49 @@ + + + + + diff --git a/src/client/app/common/views/components/signin.vue b/src/client/app/common/views/components/signin.vue new file mode 100644 index 0000000000..17154e6b31 --- /dev/null +++ b/src/client/app/common/views/components/signin.vue @@ -0,0 +1,142 @@ + + + + + diff --git a/src/client/app/common/views/components/signup.vue b/src/client/app/common/views/components/signup.vue new file mode 100644 index 0000000000..e77d849ade --- /dev/null +++ b/src/client/app/common/views/components/signup.vue @@ -0,0 +1,287 @@ + + + + + diff --git a/src/client/app/common/views/components/special-message.vue b/src/client/app/common/views/components/special-message.vue new file mode 100644 index 0000000000..2fd4d6515e --- /dev/null +++ b/src/client/app/common/views/components/special-message.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/client/app/common/views/components/stream-indicator.vue b/src/client/app/common/views/components/stream-indicator.vue new file mode 100644 index 0000000000..1f18fa76ed --- /dev/null +++ b/src/client/app/common/views/components/stream-indicator.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/src/client/app/common/views/components/switch.vue b/src/client/app/common/views/components/switch.vue new file mode 100644 index 0000000000..19a4adc3de --- /dev/null +++ b/src/client/app/common/views/components/switch.vue @@ -0,0 +1,190 @@ + + + + + diff --git a/src/client/app/common/views/components/time.vue b/src/client/app/common/views/components/time.vue new file mode 100644 index 0000000000..6e0d2b0dcb --- /dev/null +++ b/src/client/app/common/views/components/time.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/client/app/common/views/components/timer.vue b/src/client/app/common/views/components/timer.vue new file mode 100644 index 0000000000..a3c4f01b77 --- /dev/null +++ b/src/client/app/common/views/components/timer.vue @@ -0,0 +1,49 @@ + + + diff --git a/src/client/app/common/views/components/twitter-setting.vue b/src/client/app/common/views/components/twitter-setting.vue new file mode 100644 index 0000000000..082d2b435d --- /dev/null +++ b/src/client/app/common/views/components/twitter-setting.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/src/client/app/common/views/components/uploader.vue b/src/client/app/common/views/components/uploader.vue new file mode 100644 index 0000000000..c74a1edb41 --- /dev/null +++ b/src/client/app/common/views/components/uploader.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/client/app/common/views/components/url-preview.vue b/src/client/app/common/views/components/url-preview.vue new file mode 100644 index 0000000000..e91e510550 --- /dev/null +++ b/src/client/app/common/views/components/url-preview.vue @@ -0,0 +1,142 @@ +