diff --git a/src/web/app/desktop/-tags/ui.tag b/src/web/app/desktop/-tags/ui.tag index e5008b838f..f8b7b3f4f0 100644 --- a/src/web/app/desktop/-tags/ui.tag +++ b/src/web/app/desktop/-tags/ui.tag @@ -1,40 +1,3 @@ -<mk-ui> - <mk-ui-header page={ opts.page }/> - <mk-set-avatar-suggestion v-if="SIGNIN && I.avatar_id == null"/> - <mk-set-banner-suggestion v-if="SIGNIN && I.banner_id == null"/> - <div class="content"> - <yield /> - </div> - <mk-stream-indicator v-if="SIGNIN"/> - <style lang="stylus" scoped> - :scope - display block - </style> - <script lang="typescript"> - this.mixin('i'); - - this.openPostForm = () => { - riot.mount(document.body.appendChild(document.createElement('mk-post-form-window'))); - }; - - this.on('mount', () => { - document.addEventListener('keydown', this.onkeydown); - }); - - this.on('unmount', () => { - document.removeEventListener('keydown', this.onkeydown); - }); - - this.onkeydown = e => { - if (e.target.tagName == 'INPUT' || e.target.tagName == 'TEXTAREA') return; - - if (e.which == 80 || e.which == 78) { // p or n - e.preventDefault(); - this.openPostForm(); - } - }; - </script> -</mk-ui> <mk-ui-header> <mk-donation v-if="SIGNIN && I.client_settings.show_donation"/> diff --git a/src/web/app/desktop/views/components/ui.vue b/src/web/app/desktop/views/components/ui.vue index 34ac86f70c..39ec057f88 100644 --- a/src/web/app/desktop/views/components/ui.vue +++ b/src/web/app/desktop/views/components/ui.vue @@ -1,6 +1,37 @@ <template> <div> - <header>misskey</header> - <slot></slot> + <mk-ui-header/> + <div class="content"> + <slot></slot> + </div> + <mk-stream-indicator v-if="$root.$data.os.isSignedIn"/> </div> </template> + +<script lang="ts"> +import Vue from 'vue'; +import MkPostFormWindow from './post-form-window.vue'; + +export default Vue.extend({ + mounted() { + document.addEventListener('keydown', this.onKeydown); + }, + beforeDestroy() { + document.removeEventListener('keydown', this.onKeydown); + }, + methods: { + openPostForm() { + document.body.appendChild(new MkPostFormWindow().$mount().$el); + }, + onKeydown(e) { + if (e.target.tagName == 'INPUT' || e.target.tagName == 'TEXTAREA') return; + + if (e.which == 80 || e.which == 78) { // p or n + e.preventDefault(); + this.openPostForm(); + } + } + } +}); +</script> +