diff --git a/locales/en.yml b/locales/en.yml index 8b54a6616e..778d54076c 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -47,6 +47,7 @@ common: ok: "OK" update-available: "A new version of Misskey is now available({newer}, the current version is {current}). Reload the page to apply updates." my-token-regenerated: "Your token has been renewed so you will be signed out." + i-like-sushi: "I like sushi rather than pudding" widgets: analog-clock: "Analog clock" profile: "Profile" diff --git a/locales/ja.yml b/locales/ja.yml index 29decefe68..f2a85eb4e6 100644 --- a/locales/ja.yml +++ b/locales/ja.yml @@ -52,6 +52,7 @@ common: ok: "わかった" update-available: "Misskeyの新しいバージョンがあります({newer}。現在{current}を利用中)。ページを再度読み込みすると更新が適用されます。" my-token-regenerated: "あなたのトークンが更新されたのでサインアウトします。" + i-like-sushi: "私は(プリンよりむしろ)寿司が好き" widgets: analog-clock: "アナログ時計" diff --git a/src/client/app/common/views/components/reaction-icon.vue b/src/client/app/common/views/components/reaction-icon.vue index 7d24f4f9e9..2d5391a21e 100644 --- a/src/client/app/common/views/components/reaction-icon.vue +++ b/src/client/app/common/views/components/reaction-icon.vue @@ -8,7 +8,10 @@ <img v-if="reaction == 'congrats'" src="/assets/reactions/congrats.png" alt="%i18n:common.reactions.congrats%"> <img v-if="reaction == 'angry'" src="/assets/reactions/angry.png" alt="%i18n:common.reactions.angry%"> <img v-if="reaction == 'confused'" src="/assets/reactions/confused.png" alt="%i18n:common.reactions.confused%"> - <img v-if="reaction == 'pudding'" src="/assets/reactions/pudding.png" alt="%i18n:common.reactions.pudding%"> + <template v-if="reaction == 'pudding'"> + <img v-if="$store.getters.isSignedIn && $store.state.settings.iLikeSushi" src="/assets/reactions/sushi.png" alt="%i18n:common.reactions.pudding%"> + <img v-else src="/assets/reactions/pudding.png" alt="%i18n:common.reactions.pudding%"> + </template> </span> </template> diff --git a/src/client/app/desktop/views/components/settings.vue b/src/client/app/desktop/views/components/settings.vue index c660c2869a..536d270dce 100644 --- a/src/client/app/desktop/views/components/settings.vue +++ b/src/client/app/desktop/views/components/settings.vue @@ -45,6 +45,7 @@ <mk-switch v-model="darkmode" text="%i18n:@dark-mode%"/> <mk-switch v-model="$store.state.settings.circleIcons" @change="onChangeCircleIcons" text="%i18n:@circle-icons%"/> <mk-switch v-model="$store.state.settings.gradientWindowHeader" @change="onChangeGradientWindowHeader" text="%i18n:@gradient-window-header%"/> + <mk-switch v-model="$store.state.settings.iLikeSushi" @change="onChangeILikeSushi" text="%i18n:common.i-like-sushi%"/> </div> <mk-switch v-model="$store.state.settings.showPostFormOnTopOfTl" @change="onChangeShowPostFormOnTopOfTl" text="%i18n:@post-form-on-timeline%"/> <mk-switch v-model="$store.state.settings.showReplyTarget" @change="onChangeShowReplyTarget" text="%i18n:@show-reply-target%"/> @@ -362,6 +363,12 @@ export default Vue.extend({ value: v }); }, + onChangeILikeSushi(v) { + this.$store.dispatch('settings/set', { + key: 'iLikeSushi', + value: v + }); + }, onChangeGradientWindowHeader(v) { this.$store.dispatch('settings/set', { key: 'gradientWindowHeader', diff --git a/src/client/app/desktop/views/pages/welcome.vue b/src/client/app/desktop/views/pages/welcome.vue index 70fa0123af..029e44e27c 100644 --- a/src/client/app/desktop/views/pages/welcome.vue +++ b/src/client/app/desktop/views/pages/welcome.vue @@ -13,7 +13,7 @@ <h1 v-else><img :src="$store.state.device.darkmode ? 'assets/title.dark.svg' : 'assets/title.light.svg'" alt="Misskey"></h1> <p class="powerd-by" v-if="name">powerd by <b>Misskey</b></p> <p class="desc" v-html="description || '%i18n:common.about%'"></p> - <a ref="signup" @click="signup">%i18n:@signup%</a> + <a ref="signup" @click="signup">📦 %i18n:@signup%</a> </div> <div class="login"> <mk-signin/> diff --git a/src/client/app/mobile/views/pages/settings.vue b/src/client/app/mobile/views/pages/settings.vue index 1c5a43ede4..34482fccba 100644 --- a/src/client/app/mobile/views/pages/settings.vue +++ b/src/client/app/mobile/views/pages/settings.vue @@ -12,6 +12,7 @@ <ui-switch v-model="darkmode">%i18n:@dark-mode%</ui-switch> <ui-switch v-model="$store.state.settings.circleIcons" @change="onChangeCircleIcons">%i18n:@circle-icons%</ui-switch> + <ui-switch v-model="$store.state.settings.iLikeSushi" @change="onChangeILikeSushi">%i18n:common.i-like-sushi%</ui-switch> <div> <div>%i18n:@timeline%</div> @@ -174,6 +175,13 @@ export default Vue.extend({ }); }, + onChangeILikeSushi(v) { + this.$store.dispatch('settings/set', { + key: 'iLikeSushi', + value: v + }); + }, + onChangeShowReplyTarget(v) { this.$store.dispatch('settings/set', { key: 'showReplyTarget', diff --git a/src/client/app/store.ts b/src/client/app/store.ts index 267c804fbd..1bc39ae66d 100644 --- a/src/client/app/store.ts +++ b/src/client/app/store.ts @@ -18,7 +18,8 @@ const defaultSettings = { showRenotedMyNotes: true, loadRemoteMedia: true, disableViaMobile: false, - memo: null + memo: null, + iLikeSushi: false }; const defaultDeviceSettings = { diff --git a/src/client/assets/reactions/sushi.png b/src/client/assets/reactions/sushi.png new file mode 100644 index 0000000000..c30d44eb15 Binary files /dev/null and b/src/client/assets/reactions/sushi.png differ