From 254fbbbc753fd1a0496f67204d3058f7cada107e Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 19 May 2018 20:31:13 +0900 Subject: [PATCH] [wip] better mobile setting --- locales/de.yml | 2 +- locales/en.yml | 2 +- locales/es.yml | 2 +- locales/fr.yml | 2 +- locales/it.yml | 2 +- locales/ja.yml | 2 +- locales/ko.yml | 2 +- locales/pl.yml | 2 +- locales/ru.yml | 2 +- locales/zh.yml | 2 +- package.json | 1 + src/client/app/mobile/script.ts | 13 ++ src/client/app/mobile/style.styl | 7 +- .../app/mobile/views/pages/settings.vue | 65 +++++++-- .../views/pages/settings/settings.profile.vue | 126 ++++++++++++++++++ src/client/md.scss | 13 ++ 16 files changed, 220 insertions(+), 25 deletions(-) create mode 100644 src/client/app/mobile/views/pages/settings/settings.profile.vue create mode 100644 src/client/md.scss diff --git a/locales/de.yml b/locales/de.yml index 97d304e75a..67b363c47f 100644 --- a/locales/de.yml +++ b/locales/de.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "通知" read-all: "すべての通知を既読にしますか?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "プロフィール設定" will-be-published: "これらのプロフィールは公開されます。" name: "名前" diff --git a/locales/en.yml b/locales/en.yml index 5b38f775d4..93eda474ea 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "Notifications" read-all: "Are you sure you want to mark all unread notifications as read?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "Profile settings" will-be-published: "These profile settings will be updated." name: "Name" diff --git a/locales/es.yml b/locales/es.yml index d091e77563..9ec80fa683 100644 --- a/locales/es.yml +++ b/locales/es.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "通知" read-all: "すべての通知を既読にしますか?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "プロフィール設定" will-be-published: "これらのプロフィールは公開されます。" name: "名前" diff --git a/locales/fr.yml b/locales/fr.yml index 35ebd5f77d..541ad26723 100644 --- a/locales/fr.yml +++ b/locales/fr.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "Notifications" read-all: "Êtes vous sûr de vouloir marqués toutes les notifications non-lus en tant que lus?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "Réglages du profiles" will-be-published: "Ces profiles vont être publier" name: "Nom" diff --git a/locales/it.yml b/locales/it.yml index d091e77563..9ec80fa683 100644 --- a/locales/it.yml +++ b/locales/it.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "通知" read-all: "すべての通知を既読にしますか?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "プロフィール設定" will-be-published: "これらのプロフィールは公開されます。" name: "名前" diff --git a/locales/ja.yml b/locales/ja.yml index 4563e9485b..c3ee3e6c9f 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -752,7 +752,7 @@ mobile/views/pages/notifications.vue: notifications: "通知" read-all: "すべての通知を既読にしますか?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "プロフィール設定" will-be-published: "これらのプロフィールは公開されます。" name: "名前" diff --git a/locales/ko.yml b/locales/ko.yml index d091e77563..9ec80fa683 100644 --- a/locales/ko.yml +++ b/locales/ko.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "通知" read-all: "すべての通知を既読にしますか?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "プロフィール設定" will-be-published: "これらのプロフィールは公開されます。" name: "名前" diff --git a/locales/pl.yml b/locales/pl.yml index beafb9603a..a58457e24f 100644 --- a/locales/pl.yml +++ b/locales/pl.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "Powiadomienia" read-all: "Czy na pewno chcesz oznaczyć wszystkie powiadomienia jako przeczytane?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "Ustawienia profilu" will-be-published: "Te ustawienia profilu zostaną zaktualizowane." name: "Nazwa" diff --git a/locales/ru.yml b/locales/ru.yml index d091e77563..9ec80fa683 100644 --- a/locales/ru.yml +++ b/locales/ru.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "通知" read-all: "すべての通知を既読にしますか?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "プロフィール設定" will-be-published: "これらのプロフィールは公開されます。" name: "名前" diff --git a/locales/zh.yml b/locales/zh.yml index d091e77563..9ec80fa683 100644 --- a/locales/zh.yml +++ b/locales/zh.yml @@ -632,7 +632,7 @@ mobile/views/pages/note.vue: mobile/views/pages/notifications.vue: notifications: "通知" read-all: "すべての通知を既読にしますか?" -mobile/views/pages/profile-setting.vue: +mobile/views/pages/settings/settings.profile.vue: title: "プロフィール設定" will-be-published: "これらのプロフィールは公開されます。" name: "名前" diff --git a/package.json b/package.json index 9464d2d739..3fa261b8a1 100644 --- a/package.json +++ b/package.json @@ -206,6 +206,7 @@ "vue-js-modal": "1.3.13", "vue-json-tree-view": "2.1.4", "vue-loader": "15.0.11", + "vue-material": "^1.0.0-beta-10.2", "vue-router": "3.0.1", "vue-template-compiler": "2.5.16", "vuedraggable": "2.16.0", diff --git a/src/client/app/mobile/script.ts b/src/client/app/mobile/script.ts index 1405139be6..427c177a14 100644 --- a/src/client/app/mobile/script.ts +++ b/src/client/app/mobile/script.ts @@ -2,11 +2,17 @@ * Mobile Client */ +import Vue from 'vue'; import VueRouter from 'vue-router'; +import { MdCard, MdButton, MdField, MdMenu, MdList, MdSwitch } from 'vue-material/dist/components'; +import 'vue-material/dist/vue-material.min.css'; +import 'vue-material/dist/theme/default.css'; + // Style import './style.styl'; import '../../element.scss'; +import '../../md.scss'; import init from '../init'; @@ -34,6 +40,13 @@ import MkSettings from './views/pages/settings.vue'; import MkProfileSetting from './views/pages/profile-setting.vue'; import MkOthello from './views/pages/othello.vue'; +Vue.use(MdCard); +Vue.use(MdButton); +Vue.use(MdField); +Vue.use(MdMenu); +Vue.use(MdList); +Vue.use(MdSwitch); + /** * init */ diff --git a/src/client/app/mobile/style.styl b/src/client/app/mobile/style.styl index 847ae8eec5..d1ab044eaf 100644 --- a/src/client/app/mobile/style.styl +++ b/src/client/app/mobile/style.styl @@ -8,10 +8,13 @@ html height 100% - background #ececed + background #ececed !important + + // for md + transition none !important &[data-darkmode] - background #191B22 + background #191B22 !important body display flex diff --git a/src/client/app/mobile/views/pages/settings.vue b/src/client/app/mobile/views/pages/settings.vue index 0e9c5ea962..b16860d62c 100644 --- a/src/client/app/mobile/views/pages/settings.vue +++ b/src/client/app/mobile/views/pages/settings.vue @@ -1,18 +1,29 @@ @@ -20,31 +31,59 @@ import Vue from 'vue'; import { version, codename } from '../../../config'; +import XProfile from './settings/settings.profile.vue'; + export default Vue.extend({ + components: { + XProfile + }, + data() { return { version, - codename + codename, + darkmode: localStorage.getItem('darkmode') == 'true' }; }, + computed: { name(): string { return Vue.filter('userName')((this as any).os.i); } }, + + watch: { + darkmode() { + (this as any)._updateDarkmode_(this.darkmode); + } + }, + mounted() { document.title = 'Misskey | %i18n:@settings%'; }, + methods: { signout() { (this as any).os.signout(); + }, + + onChangeCircleIcons(v) { + this.$store.dispatch('settings/set', { + key: 'circleIcons', + value: v + }); } } }); -