summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--locales/ja.yml46
-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
6 files changed, 173 insertions, 50 deletions
diff --git a/locales/ja.yml b/locales/ja.yml
index ab87494f93..90764f7e60 100644
--- a/locales/ja.yml
+++ b/locales/ja.yml
@@ -43,6 +43,28 @@ common:
update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。"
my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。"
+ widgets:
+ profile: "プロフィール"
+ calendar: "カレンダー"
+ timemachine: "カレンダー(タイムマシン)"
+ activity: "アクティビティ"
+ rss: "RSSリーダー"
+ memo: "メモ"
+ trends: "トレンド"
+ photo-stream: "フォトストリーム"
+ slideshow: "スライドショー"
+ version: "バージョン"
+ broadcast: "ブロードキャスト"
+ notifications: "通知"
+ users: "おすすめユーザー"
+ polls: "投票"
+ post-form: "投稿フォーム"
+ messaging: "メッセージ"
+ server: "サーバー情報"
+ donation: "寄付のお願い"
+ nav: "ナビゲーション"
+ tips: "ヒント"
+
common/views/components/connect-failed.vue:
title: "サーバーに接続できません"
description: "インターネット回線に問題があるか、サーバーがダウンまたはメンテナンスしている可能性があります。しばらくしてから{再度お試し}ください。"
@@ -201,6 +223,11 @@ common/views/widgets/server.vue:
title: "サーバー情報"
toggle: "表示を切り替え"
+common/views/widgets/memo.vue:
+ title: "メモ"
+ memo: "ここに書いて!"
+ save: "保存"
+
desktop/views/components/activity.chart.vue:
total: "Black ... Total"
notes: "Blue ... Notes"
@@ -319,25 +346,6 @@ desktop/views/components/game-window.vue:
desktop/views/components/home.vue:
done: "完了"
add-widget: "ウィジェットを追加:"
- profile: "プロフィール"
- calendar: "カレンダー"
- timemachine: "カレンダー(タイムマシン)"
- activity: "アクティビティ"
- rss: "RSSリーダー"
- trends: "トレンド"
- photostream: "フォトストリーム"
- slideshow: "スライドショー"
- version: "バージョン"
- broadcast: "ブロードキャスト"
- notifications: "通知"
- users: "おすすめユーザー"
- polls: "投票"
- post-form: "投稿フォーム"
- messaging: "メッセージ"
- server: "サーバー情報"
- donation: "寄付のお願い"
- nav: "ナビゲーション"
- tips: "ヒント"
add: "追加"
desktop/views/input-dialog.vue:
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 = {