diff --git a/package.json b/package.json index deb384c14d..21deea51d9 100644 --- a/package.json +++ b/package.json @@ -213,6 +213,7 @@ "vue": "2.5.17", "vue-chartjs": "3.4.0", "vue-color": "2.7.0", + "vue-content-loading": "1.5.3", "vue-cropperjs": "2.2.2", "vue-js-modal": "1.3.26", "vue-json-tree-view": "2.1.4", diff --git a/src/client/app/common/views/components/index.ts b/src/client/app/common/views/components/index.ts index 0dea38a7a1..e2b9089d35 100644 --- a/src/client/app/common/views/components/index.ts +++ b/src/client/app/common/views/components/index.ts @@ -1,5 +1,6 @@ import Vue from 'vue'; +import noteSkeleton from './note-skeleton.vue'; import theme from './theme.vue'; import instance from './instance.vue'; import cwButton from './cw-button.vue'; @@ -44,6 +45,7 @@ import uiSelect from './ui/select.vue'; import formButton from './ui/form/button.vue'; import formRadio from './ui/form/radio.vue'; +Vue.component('mk-note-skeleton', noteSkeleton); Vue.component('mk-theme', theme); Vue.component('mk-instance', instance); Vue.component('mk-cw-button', cwButton); diff --git a/src/client/app/common/views/components/note-skeleton.vue b/src/client/app/common/views/components/note-skeleton.vue new file mode 100644 index 0000000000..a2e09e3222 --- /dev/null +++ b/src/client/app/common/views/components/note-skeleton.vue @@ -0,0 +1,52 @@ + + + diff --git a/src/client/app/desktop/views/components/ellipsis-icon.vue b/src/client/app/desktop/views/components/ellipsis-icon.vue deleted file mode 100644 index 4a5a0f23dc..0000000000 --- a/src/client/app/desktop/views/components/ellipsis-icon.vue +++ /dev/null @@ -1,37 +0,0 @@ - - - diff --git a/src/client/app/desktop/views/components/index.ts b/src/client/app/desktop/views/components/index.ts index 7b7a38afa2..38b1547448 100644 --- a/src/client/app/desktop/views/components/index.ts +++ b/src/client/app/desktop/views/components/index.ts @@ -9,7 +9,6 @@ import subNoteContent from './sub-note-content.vue'; import window from './window.vue'; import noteFormWindow from './post-form-window.vue'; import renoteFormWindow from './renote-form-window.vue'; -import ellipsisIcon from './ellipsis-icon.vue'; import mediaImage from './media-image.vue'; import mediaImageDialog from './media-image-dialog.vue'; import mediaVideo from './media-video.vue'; @@ -39,7 +38,6 @@ Vue.component('mk-sub-note-content', subNoteContent); Vue.component('mk-window', window); Vue.component('mk-post-form-window', noteFormWindow); Vue.component('mk-renote-form-window', renoteFormWindow); -Vue.component('mk-ellipsis-icon', ellipsisIcon); Vue.component('mk-media-image', mediaImage); Vue.component('mk-media-image-dialog', mediaImageDialog); Vue.component('mk-media-video', mediaVideo); diff --git a/src/client/app/desktop/views/components/notes.vue b/src/client/app/desktop/views/components/notes.vue index 84b13ed84e..b43720d19b 100644 --- a/src/client/app/desktop/views/components/notes.vue +++ b/src/client/app/desktop/views/components/notes.vue @@ -9,6 +9,12 @@ +
+ +
+