summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-02-24 03:03:26 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-02-24 03:03:26 +0900
commitcf1f2562d79056fe9f3acbd2e58512e3eaf665f6 (patch)
treec2b4151f2183c8a9c83f976edcec5865f3962479 /src
parentImplement #1098 (diff)
downloadsharkey-cf1f2562d79056fe9f3acbd2e58512e3eaf665f6.tar.gz
sharkey-cf1f2562d79056fe9f3acbd2e58512e3eaf665f6.tar.bz2
sharkey-cf1f2562d79056fe9f3acbd2e58512e3eaf665f6.zip
:v:
Diffstat (limited to 'src')
-rw-r--r--src/web/app/common/define-widget.ts1
-rw-r--r--src/web/app/mobile/views/components/widget-container.vue2
-rw-r--r--src/web/app/mobile/views/components/widgets/activity.vue11
-rw-r--r--src/web/app/mobile/views/pages/home.vue33
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();
},