This commit is contained in:
		
							parent
							
								
									beb8da9283
								
							
						
					
					
						commit
						0d6ccd489d
					
				|  | @ -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: | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -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> | ||||
|  | @ -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> | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
|  | @ -16,7 +16,8 @@ const defaultSettings = { | |||
| 	showMyRenotes: true, | ||||
| 	showRenotedMyNotes: true, | ||||
| 	loadRemoteMedia: true, | ||||
| 	disableViaMobile: false | ||||
| 	disableViaMobile: false, | ||||
| 	memo: null | ||||
| }; | ||||
| 
 | ||||
| const defaultDeviceSettings = { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue