From 66409029e76949593a80063651f755f7d37d054e Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 28 Jul 2019 10:35:53 +0900 Subject: 非ログイン時の警告処理 (#5219) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update note-mixin.ts * Update note-mixin.ts * :v: * Update note-mixin.ts * Update note-menu.vue --- src/client/app/common/scripts/note-mixin.ts | 5 +++++ src/client/app/common/scripts/please-login.ts | 10 ++++++++++ 2 files changed, 15 insertions(+) create mode 100644 src/client/app/common/scripts/please-login.ts (limited to 'src/client/app/common/scripts') diff --git a/src/client/app/common/scripts/note-mixin.ts b/src/client/app/common/scripts/note-mixin.ts index e649680070..fc82e78cec 100644 --- a/src/client/app/common/scripts/note-mixin.ts +++ b/src/client/app/common/scripts/note-mixin.ts @@ -3,6 +3,7 @@ import { sum, unique } from '../../../../prelude/array'; import shouldMuteNote from './should-mute-note'; import MkNoteMenu from '../views/components/note-menu.vue'; import MkReactionPicker from '../views/components/reaction-picker.vue'; +import pleaseLogin from './please-login'; function focus(el, fn) { const target = fn(el); @@ -108,6 +109,7 @@ export default (opts: Opts = {}) => ({ methods: { reply(viaKeyboard = false) { + pleaseLogin(this.$root); this.$root.$post({ reply: this.appearNote, animation: !viaKeyboard, @@ -118,6 +120,7 @@ export default (opts: Opts = {}) => ({ }, renote(viaKeyboard = false) { + pleaseLogin(this.$root); this.$root.$post({ renote: this.appearNote, animation: !viaKeyboard, @@ -134,6 +137,7 @@ export default (opts: Opts = {}) => ({ }, react(viaKeyboard = false) { + pleaseLogin(this.$root); this.blur(); this.$root.new(MkReactionPicker, { source: this.$refs.reactButton, @@ -159,6 +163,7 @@ export default (opts: Opts = {}) => ({ }, favorite() { + pleaseLogin(this.$root); this.$root.api('notes/favorites/create', { noteId: this.appearNote.id }).then(() => { diff --git a/src/client/app/common/scripts/please-login.ts b/src/client/app/common/scripts/please-login.ts new file mode 100644 index 0000000000..7125541bb1 --- /dev/null +++ b/src/client/app/common/scripts/please-login.ts @@ -0,0 +1,10 @@ +export default ($root: any) => { + if ($root.$store.getters.isSignedIn) return; + + $root.dialog({ + title: $root.$t('@.signin-required'), + text: null + }); + + throw new Error('signin required'); +}; -- cgit v1.2.3-freya