diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-02-24 03:03:26 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-02-24 03:03:26 +0900 |
| commit | cf1f2562d79056fe9f3acbd2e58512e3eaf665f6 (patch) | |
| tree | c2b4151f2183c8a9c83f976edcec5865f3962479 /src/web | |
| parent | Implement #1098 (diff) | |
| download | sharkey-cf1f2562d79056fe9f3acbd2e58512e3eaf665f6.tar.gz sharkey-cf1f2562d79056fe9f3acbd2e58512e3eaf665f6.tar.bz2 sharkey-cf1f2562d79056fe9f3acbd2e58512e3eaf665f6.zip | |
:v:
Diffstat (limited to 'src/web')
| -rw-r--r-- | src/web/app/common/define-widget.ts | 1 | ||||
| -rw-r--r-- | src/web/app/mobile/views/components/widget-container.vue | 2 | ||||
| -rw-r--r-- | src/web/app/mobile/views/components/widgets/activity.vue | 11 | ||||
| -rw-r--r-- | src/web/app/mobile/views/pages/home.vue | 33 |
4 files changed, 34 insertions, 13 deletions
diff --git a/src/web/app/common/define-widget.ts b/src/web/app/common/define-widget.ts index 60cd1969c0..826f9cc636 100644 --- a/src/web/app/common/define-widget.ts +++ b/src/web/app/common/define-widget.ts @@ -25,7 +25,6 @@ export default function<T extends object>(data: { }; }, created() { - if (this.widget.data == null) this.widget.data = {}; if (this.props) { Object.keys(this.props).forEach(prop => { if (this.widget.data.hasOwnProperty(prop)) { diff --git a/src/web/app/mobile/views/components/widget-container.vue b/src/web/app/mobile/views/components/widget-container.vue index 1775188a93..81dde8f7a9 100644 --- a/src/web/app/mobile/views/components/widget-container.vue +++ b/src/web/app/mobile/views/components/widget-container.vue @@ -33,7 +33,7 @@ export default Vue.extend({ &.naked background transparent !important - border none !important + box-shadow none !important > header > .title diff --git a/src/web/app/mobile/views/components/widgets/activity.vue b/src/web/app/mobile/views/components/widgets/activity.vue index c3fe63f264..c4d30b07af 100644 --- a/src/web/app/mobile/views/components/widgets/activity.vue +++ b/src/web/app/mobile/views/components/widgets/activity.vue @@ -1,6 +1,6 @@ <template> <div class="mkw-activity"> - <mk-widget-container> + <mk-widget-container :show-header="!props.compact"> <template slot="header">%fa:chart-bar%アクティビティ</template> <div :class="$style.body"> <mk-activity :user="os.i"/> @@ -14,6 +14,15 @@ import define from '../../../../common/define-widget'; export default define({ name: 'activity', + props: () => ({ + compact: false + }) +}).extend({ + methods: { + func() { + this.props.compact = !this.props.compact; + } + } }); </script> diff --git a/src/web/app/mobile/views/pages/home.vue b/src/web/app/mobile/views/pages/home.vue index 0466fbbbf8..2d09d555ab 100644 --- a/src/web/app/mobile/views/pages/home.vue +++ b/src/web/app/mobile/views/pages/home.vue @@ -44,7 +44,7 @@ <header> <span class="handle">%fa:bars%</span>{{ widget.name }}<button class="remove" @click="removeWidget(widget)">%fa:times%</button> </header> - <div> + <div @click="widgetFunc(widget.id)"> <component :is="`mkw-${widget.name}`" :widget="widget" :ref="widget.id" :is-mobile="true"/> </div> </div> @@ -82,30 +82,39 @@ export default Vue.extend({ }, created() { if ((this as any).os.i.client_settings.mobile_home == null) { - Vue.set((this as any).os.i.client_settings, 'mobile_home', [{ + Vue.set((this as any).os.i.client_settings, 'mobile_home', [{ name: 'calendar', - id: 'a' + id: 'a', data: {} }, { name: 'activity', - id: 'b' + id: 'b', data: {} }, { name: 'rss', - id: 'c' + id: 'c', data: {} }, { name: 'photo-stream', - id: 'd' + id: 'd', data: {} }, { name: 'donation', - id: 'e' + id: 'e', data: {} }, { name: 'nav', - id: 'f' + id: 'f', data: {} }, { name: 'version', - id: 'g' + id: 'g', data: {} }]); + this.widgets = (this as any).os.i.client_settings.mobile_home; + this.saveHome(); + } else { + this.widgets = (this as any).os.i.client_settings.mobile_home; } - this.widgets = (this as any).os.i.client_settings.mobile_home; + + this.$watch('os.i', i => { + this.widgets = (this as any).os.i.client_settings.mobile_home; + }, { + deep: true + }); }, mounted() { document.title = 'Misskey'; @@ -143,6 +152,10 @@ export default Vue.extend({ document.title = 'Misskey'; } }, + widgetFunc(id) { + const w = this.$refs[id][0]; + if (w.func) w.func(); + }, onWidgetSort() { this.saveHome(); }, |