wip
This commit is contained in:
parent
44a0952c0f
commit
0158808501
8 changed files with 48 additions and 37 deletions
|
@ -1,30 +0,0 @@
|
||||||
<mk-settings-window>
|
|
||||||
<mk-window ref="window" is-modal={ true } width={ '700px' } height={ '550px' }>
|
|
||||||
<yield to="header">%fa:cog%設定</yield>
|
|
||||||
<yield to="content">
|
|
||||||
<mk-settings/>
|
|
||||||
</yield>
|
|
||||||
</mk-window>
|
|
||||||
<style lang="stylus" scoped>
|
|
||||||
:scope
|
|
||||||
> mk-window
|
|
||||||
[data-yield='header']
|
|
||||||
> [data-fa]
|
|
||||||
margin-right 4px
|
|
||||||
|
|
||||||
[data-yield='content']
|
|
||||||
overflow hidden
|
|
||||||
|
|
||||||
</style>
|
|
||||||
<script lang="typescript">
|
|
||||||
this.on('mount', () => {
|
|
||||||
this.$refs.window.on('closed', () => {
|
|
||||||
this.$destroy();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.close = () => {
|
|
||||||
this.$refs.window.close();
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
</mk-settings-window>
|
|
|
@ -1,6 +1,14 @@
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
import ui from './ui.vue';
|
import ui from './ui.vue';
|
||||||
|
import uiHeader from './ui-header.vue';
|
||||||
|
import uiHeaderAccount from './ui-header-account.vue';
|
||||||
|
import uiHeaderClock from './ui-header-clock.vue';
|
||||||
|
import uiHeaderNav from './ui-header-nav.vue';
|
||||||
|
import uiHeaderNotifications from './ui-header-notifications.vue';
|
||||||
|
import uiHeaderPostButton from './ui-header-post-button.vue';
|
||||||
|
import uiHeaderSearch from './ui-header-search.vue';
|
||||||
|
import uiNotification from './ui-notification.vue';
|
||||||
import home from './home.vue';
|
import home from './home.vue';
|
||||||
import timeline from './timeline.vue';
|
import timeline from './timeline.vue';
|
||||||
import timelinePost from './timeline-post.vue';
|
import timelinePost from './timeline-post.vue';
|
||||||
|
@ -9,13 +17,23 @@ import subPostContent from './sub-post-content.vue';
|
||||||
import window from './window.vue';
|
import window from './window.vue';
|
||||||
import postFormWindow from './post-form-window.vue';
|
import postFormWindow from './post-form-window.vue';
|
||||||
import repostFormWindow from './repost-form-window.vue';
|
import repostFormWindow from './repost-form-window.vue';
|
||||||
|
import analogClock from './analog-clock.vue';
|
||||||
|
|
||||||
Vue.component('mk-ui', ui);
|
Vue.component('mk-ui', ui);
|
||||||
|
Vue.component('mk-ui-header', uiHeader);
|
||||||
|
Vue.component('mk-ui-header-account', uiHeaderAccount);
|
||||||
|
Vue.component('mk-ui-header-clock', uiHeaderClock);
|
||||||
|
Vue.component('mk-ui-header-nav', uiHeaderNav);
|
||||||
|
Vue.component('mk-ui-header-notifications', uiHeaderNotifications);
|
||||||
|
Vue.component('mk-ui-header-post-button', uiHeaderPostButton);
|
||||||
|
Vue.component('mk-ui-header-search', uiHeaderSearch);
|
||||||
|
Vue.component('mk-ui-notification', uiNotification);
|
||||||
Vue.component('mk-home', home);
|
Vue.component('mk-home', home);
|
||||||
Vue.component('mk-timeline', timeline);
|
Vue.component('mk-timeline', timeline);
|
||||||
Vue.component('mk-timeline-post', timelinePost);
|
Vue.component('mk-timeline-post', timelinePost);
|
||||||
Vue.component('mk-timeline-post-sub', timelinePostSub);
|
Vue.component('mk-timeline-post-sub', timelinePostSub);
|
||||||
Vue.component('mk-sub-post-content', subPostContent);
|
Vue.component('mk-sub-post-content', subPostContent);
|
||||||
Vue.component('mk-window', window);
|
Vue.component('mk-window', window);
|
||||||
Vue.component('post-form-window', postFormWindow);
|
Vue.component('mk-post-form-window', postFormWindow);
|
||||||
Vue.component('repost-form-window', repostFormWindow);
|
Vue.component('mk-repost-form-window', repostFormWindow);
|
||||||
|
Vue.component('mk-analog-clock', analogClock);
|
||||||
|
|
15
src/web/app/desktop/views/components/settings-window.vue
Normal file
15
src/web/app/desktop/views/components/settings-window.vue
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<template>
|
||||||
|
<mk-window ref="window" is-modal width='700px' height='550px' @closed="$destroy">
|
||||||
|
<span slot="header" :class="$style.header">%fa:cog%設定</span>
|
||||||
|
<div to="content">
|
||||||
|
<mk-settings/>
|
||||||
|
</div>
|
||||||
|
</mk-window>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style lang="stylus" module>
|
||||||
|
.header
|
||||||
|
> [data-fa]
|
||||||
|
margin-right 4px
|
||||||
|
|
||||||
|
</style>
|
|
@ -14,7 +14,12 @@
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
props: ['posts'],
|
props: {
|
||||||
|
posts: {
|
||||||
|
type: Array,
|
||||||
|
default: []
|
||||||
|
}
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
_posts(): any {
|
_posts(): any {
|
||||||
return this.posts.map(post => {
|
return this.posts.map(post => {
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
|
import MkSettingsWindow from './settings-window.vue';
|
||||||
import contains from '../../../common/scripts/contains';
|
import contains from '../../../common/scripts/contains';
|
||||||
import signout from '../../../common/scripts/signout';
|
import signout from '../../../common/scripts/signout';
|
||||||
|
|
||||||
|
@ -68,7 +69,8 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
drive() {
|
drive() {
|
||||||
this.close();
|
this.close();
|
||||||
document.body.appendChild(new MkDriveWindow().$mount().$el);
|
// TODO
|
||||||
|
//document.body.appendChild(new MkDriveWindow().$mount().$el);
|
||||||
},
|
},
|
||||||
settings() {
|
settings() {
|
||||||
this.close();
|
this.close();
|
||||||
|
|
|
@ -76,7 +76,8 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
|
|
||||||
messaging() {
|
messaging() {
|
||||||
document.body.appendChild(new MkMessagingWindow().$mount().$el);
|
// TODO
|
||||||
|
//document.body.appendChild(new MkMessagingWindow().$mount().$el);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<form class="ui-header-search" @submit.prevent="onSubmit">
|
<form class="mk-ui-header-search" @submit.prevent="onSubmit">
|
||||||
%fa:search%
|
%fa:search%
|
||||||
<input v-model="q" type="search" placeholder="%i18n:desktop.tags.mk-ui-header-search.placeholder%"/>
|
<input v-model="q" type="search" placeholder="%i18n:desktop.tags.mk-ui-header-search.placeholder%"/>
|
||||||
<div class="result"></div>
|
<div class="result"></div>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="mk-ui-notification">
|
<div class="mk-ui-notification">
|
||||||
<p>{{ message }}</p>
|
<p>{{ message }}</p>
|
||||||
<div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
Loading…
Reference in a new issue