summaryrefslogtreecommitdiff
path: root/src/web/app/mobile
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-03-11 18:08:26 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-03-11 18:08:26 +0900
commitbd79352e8005bd8fe0ffa846e3318bc49b3fdd36 (patch)
tree5a6a266ae92587c654d0089d493dc57a0ac3903e /src/web/app/mobile
parent#1231 (diff)
downloadsharkey-bd79352e8005bd8fe0ffa846e3318bc49b3fdd36.tar.gz
sharkey-bd79352e8005bd8fe0ffa846e3318bc49b3fdd36.tar.bz2
sharkey-bd79352e8005bd8fe0ffa846e3318bc49b3fdd36.zip
#1204
Diffstat (limited to 'src/web/app/mobile')
-rw-r--r--src/web/app/mobile/views/components/ui.header.vue13
-rw-r--r--src/web/app/mobile/views/components/ui.nav.vue13
2 files changed, 24 insertions, 2 deletions
diff --git a/src/web/app/mobile/views/components/ui.header.vue b/src/web/app/mobile/views/components/ui.header.vue
index f06a35fe76..1ccbd5c951 100644
--- a/src/web/app/mobile/views/components/ui.header.vue
+++ b/src/web/app/mobile/views/components/ui.header.vue
@@ -6,7 +6,7 @@
<p ref="welcomeback" v-if="os.isSignedIn">おかえりなさい、<b>{{ os.i.name }}</b>さん</p>
<div class="content" ref="mainContainer">
<button class="nav" @click="$parent.isDrawerOpening = true">%fa:bars%</button>
- <template v-if="hasUnreadNotifications || hasUnreadMessagingMessages">%fa:circle%</template>
+ <template v-if="hasUnreadNotifications || hasUnreadMessagingMessages || hasGameInvitations">%fa:circle%</template>
<h1>
<slot>Misskey</slot>
</h1>
@@ -26,6 +26,7 @@ export default Vue.extend({
return {
hasUnreadNotifications: false,
hasUnreadMessagingMessages: false,
+ hasGameInvitations: false,
connection: null,
connectionId: null
};
@@ -39,6 +40,8 @@ export default Vue.extend({
this.connection.on('unread_notification', this.onUnreadNotification);
this.connection.on('read_all_messaging_messages', this.onReadAllMessagingMessages);
this.connection.on('unread_messaging_message', this.onUnreadMessagingMessage);
+ this.connection.on('othello_invited', this.onOthelloInvited);
+ this.connection.on('othello_no_invites', this.onOthelloNoInvites);
// Fetch count of unread notifications
(this as any).api('notifications/get_unread_count').then(res => {
@@ -107,6 +110,8 @@ export default Vue.extend({
this.connection.off('unread_notification', this.onUnreadNotification);
this.connection.off('read_all_messaging_messages', this.onReadAllMessagingMessages);
this.connection.off('unread_messaging_message', this.onUnreadMessagingMessage);
+ this.connection.off('othello_invited', this.onOthelloInvited);
+ this.connection.off('othello_no_invites', this.onOthelloNoInvites);
(this as any).os.stream.dispose(this.connectionId);
}
},
@@ -122,6 +127,12 @@ export default Vue.extend({
},
onUnreadMessagingMessage() {
this.hasUnreadMessagingMessages = true;
+ },
+ onOthelloInvited() {
+ this.hasGameInvitations = true;
+ },
+ onOthelloNoInvites() {
+ this.hasGameInvitations = false;
}
}
});
diff --git a/src/web/app/mobile/views/components/ui.nav.vue b/src/web/app/mobile/views/components/ui.nav.vue
index ba35a2783d..b8bc2fb040 100644
--- a/src/web/app/mobile/views/components/ui.nav.vue
+++ b/src/web/app/mobile/views/components/ui.nav.vue
@@ -18,7 +18,7 @@
<li><router-link to="/">%fa:home%%i18n:mobile.tags.mk-ui-nav.home%%fa:angle-right%</router-link></li>
<li><router-link to="/i/notifications">%fa:R bell%%i18n:mobile.tags.mk-ui-nav.notifications%<template v-if="hasUnreadNotifications">%fa:circle%</template>%fa:angle-right%</router-link></li>
<li><router-link to="/i/messaging">%fa:R comments%%i18n:mobile.tags.mk-ui-nav.messaging%<template v-if="hasUnreadMessagingMessages">%fa:circle%</template>%fa:angle-right%</router-link></li>
- <li><router-link to="/othello">%fa:gamepad%ゲーム%fa:angle-right%</router-link></li>
+ <li><router-link to="/othello">%fa:gamepad%ゲーム<template v-if="hasGameInvitations">%fa:circle%</template>%fa:angle-right%</router-link></li>
</ul>
<ul>
<li><a :href="chUrl" target="_blank">%fa:tv%%i18n:mobile.tags.mk-ui-nav.ch%%fa:angle-right%</a></li>
@@ -47,6 +47,7 @@ export default Vue.extend({
return {
hasUnreadNotifications: false,
hasUnreadMessagingMessages: false,
+ hasGameInvitations: false,
connection: null,
connectionId: null,
aboutUrl: `${docsUrl}/${lang}/about`,
@@ -62,6 +63,8 @@ export default Vue.extend({
this.connection.on('unread_notification', this.onUnreadNotification);
this.connection.on('read_all_messaging_messages', this.onReadAllMessagingMessages);
this.connection.on('unread_messaging_message', this.onUnreadMessagingMessage);
+ this.connection.on('othello_invited', this.onOthelloInvited);
+ this.connection.on('othello_no_invites', this.onOthelloNoInvites);
// Fetch count of unread notifications
(this as any).api('notifications/get_unread_count').then(res => {
@@ -84,6 +87,8 @@ export default Vue.extend({
this.connection.off('unread_notification', this.onUnreadNotification);
this.connection.off('read_all_messaging_messages', this.onReadAllMessagingMessages);
this.connection.off('unread_messaging_message', this.onUnreadMessagingMessage);
+ this.connection.off('othello_invited', this.onOthelloInvited);
+ this.connection.off('othello_no_invites', this.onOthelloNoInvites);
(this as any).os.stream.dispose(this.connectionId);
}
},
@@ -104,6 +109,12 @@ export default Vue.extend({
},
onUnreadMessagingMessage() {
this.hasUnreadMessagingMessages = true;
+ },
+ onOthelloInvited() {
+ this.hasGameInvitations = true;
+ },
+ onOthelloNoInvites() {
+ this.hasGameInvitations = false;
}
}
});