summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-05-27 22:39:20 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-05-27 22:39:20 +0900
commit0d6ccd489dce89c2920bc806216b9c2585fe1a88 (patch)
tree97d53c24dad84861d5d33334e1da9df0db7a01d7 /src
parentMerge pull request #1653 from m4sk1n/master (diff)
downloadmisskey-0d6ccd489dce89c2920bc806216b9c2585fe1a88.tar.gz
misskey-0d6ccd489dce89c2920bc806216b9c2585fe1a88.tar.bz2
misskey-0d6ccd489dce89c2920bc806216b9c2585fe1a88.zip
:v:
Diffstat (limited to 'src')
-rw-r--r--src/client/app/common/views/widgets/index.ts2
-rw-r--r--src/client/app/common/views/widgets/memo.vue110
-rw-r--r--src/client/app/desktop/views/components/home.vue39
-rw-r--r--src/client/app/mobile/views/pages/widgets.vue23
-rw-r--r--src/client/app/store.ts3
5 files changed, 146 insertions, 31 deletions
diff --git a/src/client/app/common/views/widgets/index.ts b/src/client/app/common/views/widgets/index.ts
index 9107d90ce7..7ef4e02092 100644
--- a/src/client/app/common/views/widgets/index.ts
+++ b/src/client/app/common/views/widgets/index.ts
@@ -3,6 +3,7 @@ import Vue from 'vue';
import wVersion from './version.vue';
import wRss from './rss.vue';
import wServer from './server.vue';
+import wMemo from './memo.vue';
import wBroadcast from './broadcast.vue';
import wCalendar from './calendar.vue';
import wPhotoStream from './photo-stream.vue';
@@ -19,5 +20,6 @@ Vue.component('mkw-tips', wTips);
Vue.component('mkw-donation', wDonation);
Vue.component('mkw-broadcast', wBroadcast);
Vue.component('mkw-server', wServer);
+Vue.component('mkw-memo', wMemo);
Vue.component('mkw-rss', wRss);
Vue.component('mkw-version', wVersion);
diff --git a/src/client/app/common/views/widgets/memo.vue b/src/client/app/common/views/widgets/memo.vue
new file mode 100644
index 0000000000..3f599c82a0
--- /dev/null
+++ b/src/client/app/common/views/widgets/memo.vue
@@ -0,0 +1,110 @@
+<template>
+<div class="mkw-memo">
+ <mk-widget-container :show-header="!props.compact">
+ <template slot="header">%fa:R sticky-note%%i18n:@title%</template>
+
+ <div class="mkw-memo--body">
+ <textarea v-model="text" placeholder="%i18n:@memo%" @input="onChange"></textarea>
+ <button @click="saveMemo" :disabled="!changed">%i18n:@save%</button>
+ </div>
+ </mk-widget-container>
+</div>
+</template>
+
+<script lang="ts">
+import define from '../../define-widget';
+
+export default define({
+ name: 'memo',
+ props: () => ({
+ compact: false
+ })
+}).extend({
+ data() {
+ return {
+ text: null,
+ changed: false
+ };
+ },
+
+ created() {
+ this.text = this.$store.state.settings.memo;
+
+ this.$watch('$store.state.settings.memo', text => {
+ this.text = text;
+ });
+ },
+
+ methods: {
+ func() {
+ this.props.compact = !this.props.compact;
+ this.save();
+ },
+
+ onChange() {
+ this.changed = true;
+ },
+
+ saveMemo() {
+ this.$store.dispatch('settings/set', {
+ key: 'memo',
+ value: this.text
+ });
+ this.changed = false;
+ }
+ }
+});
+</script>
+
+<style lang="stylus" scoped>
+@import '~const.styl'
+
+root(isDark)
+ .mkw-memo--body
+ padding-bottom 28px + 16px
+
+ > textarea
+ display block
+ width 100%
+ max-width 100%
+ min-width 100%
+ padding 16px
+ color isDark ? #fff : #222
+ background isDark ? #282c37 : #fff
+ border none
+ border-bottom solid 1px isDark ? #1c2023 : #eee
+
+ > button
+ display block
+ position absolute
+ bottom 8px
+ right 8px
+ margin 0
+ padding 0 10px
+ height 28px
+ color $theme-color-foreground
+ background $theme-color !important
+ outline none
+ border none
+ border-radius 4px
+ transition background 0.1s ease
+ cursor pointer
+
+ &:hover
+ background lighten($theme-color, 10%) !important
+
+ &:active
+ background darken($theme-color, 10%) !important
+ transition background 0s ease
+
+ &:disabled
+ opacity 0.7
+ cursor default
+
+.mkw-memo[data-darkmode]
+ root(true)
+
+.mkw-memo:not([data-darkmode])
+ root(false)
+
+</style>
diff --git a/src/client/app/desktop/views/components/home.vue b/src/client/app/desktop/views/components/home.vue
index 9d34575e55..f51fed7454 100644
--- a/src/client/app/desktop/views/components/home.vue
+++ b/src/client/app/desktop/views/components/home.vue
@@ -6,25 +6,26 @@
<div class="adder">
<p>%i18n:@add-widget%</p>
<select v-model="widgetAdderSelected">
- <option value="profile">%i18n:@profile%</option>
- <option value="calendar">%i18n:@calendar%</option>
- <option value="timemachine">%i18n:@timemachine%</option>
- <option value="activity">%i18n:@activity%</option>
- <option value="rss">%i18n:@rss%</option>
- <option value="trends">%i18n:@trends%</option>
- <option value="photo-stream">%i18n:@photo-stream%</option>
- <option value="slideshow">%i18n:@slideshow%</option>
- <option value="version">%i18n:@version%</option>
- <option value="broadcast">%i18n:@broadcast%</option>
- <option value="notifications">%i18n:@notifications%</option>
- <option value="users">%i18n:@users%</option>
- <option value="polls">%i18n:@polls%</option>
- <option value="post-form">%i18n:@post-form%</option>
- <option value="messaging">%i18n:@messaging%</option>
- <option value="server">%i18n:@server%</option>
- <option value="donation">%i18n:@donation%</option>
- <option value="nav">%i18n:@nav%</option>
- <option value="tips">%i18n:@tips%</option>
+ <option value="profile">%i18n:common.widgets.profile%</option>
+ <option value="calendar">%i18n:common.widgets.calendar%</option>
+ <option value="timemachine">%i18n:common.widgets.timemachine%</option>
+ <option value="activity">%i18n:common.widgets.activity%</option>
+ <option value="rss">%i18n:common.widgets.rss%</option>
+ <option value="trends">%i18n:common.widgets.trends%</option>
+ <option value="photo-stream">%i18n:common.widgets.photo-stream%</option>
+ <option value="slideshow">%i18n:common.widgets.slideshow%</option>
+ <option value="version">%i18n:common.widgets.version%</option>
+ <option value="broadcast">%i18n:common.widgets.broadcast%</option>
+ <option value="notifications">%i18n:common.widgets.notifications%</option>
+ <option value="users">%i18n:common.widgets.users%</option>
+ <option value="polls">%i18n:common.widgets.polls%</option>
+ <option value="post-form">%i18n:common.widgets.post-form%</option>
+ <option value="messaging">%i18n:common.widgets.messaging%</option>
+ <option value="memo">%i18n:common.widgets.memo%</option>
+ <option value="server">%i18n:common.widgets.server%</option>
+ <option value="donation">%i18n:common.widgets.donation%</option>
+ <option value="nav">%i18n:common.widgets.nav%</option>
+ <option value="tips">%i18n:common.widgets.tips%</option>
</select>
<button @click="addWidget">%i18n:@add%</button>
</div>
diff --git a/src/client/app/mobile/views/pages/widgets.vue b/src/client/app/mobile/views/pages/widgets.vue
index 03abcabe8f..9d047fa635 100644
--- a/src/client/app/mobile/views/pages/widgets.vue
+++ b/src/client/app/mobile/views/pages/widgets.vue
@@ -8,17 +8,18 @@
<template v-if="customizing">
<header>
<select v-model="widgetAdderSelected">
- <option value="profile">プロフィール</option>
- <option value="calendar">カレンダー</option>
- <option value="activity">アクティビティ</option>
- <option value="rss">RSSリーダー</option>
- <option value="photo-stream">フォトストリーム</option>
- <option value="slideshow">スライドショー</option>
- <option value="version">バージョン</option>
- <option value="server">サーバー情報</option>
- <option value="donation">寄付のお願い</option>
- <option value="nav">ナビゲーション</option>
- <option value="tips">ヒント</option>
+ <option value="profile">%i18n:common.widgets.profile%</option>
+ <option value="calendar">%i18n:common.widgets.calendar%</option>
+ <option value="activity">%i18n:common.widgets.activity%</option>
+ <option value="rss">%i18n:common.widgets.rss%</option>
+ <option value="photo-stream">%i18n:common.widgets.photo-stream%</option>
+ <option value="slideshow">%i18n:common.widgets.slideshow%</option>
+ <option value="version">%i18n:common.widgets.version%</option>
+ <option value="server">%i18n:common.widgets.server%</option>
+ <option value="memo">%i18n:common.widgets.memo%</option>
+ <option value="donation">%i18n:common.widgets.donation%</option>
+ <option value="nav">%i18n:common.widgets.nav%</option>
+ <option value="tips">%i18n:common.widgets.tips%</option>
</select>
<button @click="addWidget">追加</button>
<p><a @click="hint">カスタマイズのヒント</a></p>
diff --git a/src/client/app/store.ts b/src/client/app/store.ts
index c27ff0dfcf..905ec0501c 100644
--- a/src/client/app/store.ts
+++ b/src/client/app/store.ts
@@ -16,7 +16,8 @@ const defaultSettings = {
showMyRenotes: true,
showRenotedMyNotes: true,
loadRemoteMedia: true,
- disableViaMobile: false
+ disableViaMobile: false,
+ memo: null
};
const defaultDeviceSettings = {