aboutsummaryrefslogtreecommitdiff
path: root/src/components/side_drawer
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/side_drawer')
-rw-r--r--src/components/side_drawer/side_drawer.js16
-rw-r--r--src/components/side_drawer/side_drawer.vue59
2 files changed, 41 insertions, 34 deletions
diff --git a/src/components/side_drawer/side_drawer.js b/src/components/side_drawer/side_drawer.js
index 2181ecc7..281052e5 100644
--- a/src/components/side_drawer/side_drawer.js
+++ b/src/components/side_drawer/side_drawer.js
@@ -1,3 +1,4 @@
+import { mapState, mapGetters } from 'vuex'
import UserCard from '../user_card/user_card.vue'
import { unseenNotificationsFromStore } from '../../services/notification_utils/notification_utils'
import GestureService from '../../services/gesture_service/gesture_service'
@@ -47,7 +48,17 @@ const SideDrawer = {
},
federating () {
return this.$store.state.instance.federating
- }
+ },
+ timelinesRoute () {
+ if (this.$store.state.interface.lastTimeline) {
+ return this.$store.state.interface.lastTimeline
+ }
+ return this.currentUser ? 'friends' : 'public-timeline'
+ },
+ ...mapState({
+ pleromaChatMessagesAvailable: state => state.instance.pleromaChatMessagesAvailable
+ }),
+ ...mapGetters(['unreadChatCount'])
},
methods: {
toggleDrawer () {
@@ -62,6 +73,9 @@ const SideDrawer = {
},
touchMove (e) {
GestureService.updateSwipe(e, this.closeGesture)
+ },
+ openSettingsModal () {
+ this.$store.dispatch('openSettingsModal')
}
}
}
diff --git a/src/components/side_drawer/side_drawer.vue b/src/components/side_drawer/side_drawer.vue
index 2958a386..0587ee02 100644
--- a/src/components/side_drawer/side_drawer.vue
+++ b/src/components/side_drawer/side_drawer.vue
@@ -40,33 +40,39 @@
</router-link>
</li>
<li
- v-if="currentUser"
+ v-if="currentUser || !privateMode"
@click="toggleDrawer"
>
- <router-link :to="{ name: 'dms', params: { username: currentUser.screen_name } }">
- <i class="button-icon icon-mail-alt" /> {{ $t("nav.dms") }}
+ <router-link :to="{ name: timelinesRoute }">
+ <i class="button-icon icon-home-2" /> {{ $t("nav.timelines") }}
</router-link>
</li>
<li
- v-if="currentUser"
+ v-if="currentUser && pleromaChatMessagesAvailable"
@click="toggleDrawer"
>
- <router-link :to="{ name: 'interactions', params: { username: currentUser.screen_name } }">
- <i class="button-icon icon-bell-alt" /> {{ $t("nav.interactions") }}
+ <router-link
+ :to="{ name: 'chats', params: { username: currentUser.screen_name } }"
+ style="position: relative"
+ >
+ <i class="button-icon icon-chat" /> {{ $t("nav.chats") }}
+ <span
+ v-if="unreadChatCount"
+ class="badge badge-notification unread-chat-count"
+ >
+ {{ unreadChatCount }}
+ </span>
</router-link>
</li>
</ul>
- <ul>
- <li
- v-if="currentUser"
- @click="toggleDrawer"
- >
- <router-link :to="{ name: 'friends' }">
- <i class="button-icon icon-home-2" /> {{ $t("nav.timeline") }}
+ <ul v-if="currentUser">
+ <li @click="toggleDrawer">
+ <router-link :to="{ name: 'interactions', params: { username: currentUser.screen_name } }">
+ <i class="button-icon icon-bell-alt" /> {{ $t("nav.interactions") }}
</router-link>
</li>
<li
- v-if="currentUser && currentUser.locked"
+ v-if="currentUser.locked"
@click="toggleDrawer"
>
<router-link to="/friend-requests">
@@ -80,23 +86,7 @@
</router-link>
</li>
<li
- v-if="currentUser || !privateMode"
- @click="toggleDrawer"
- >
- <router-link to="/main/public">
- <i class="button-icon icon-users" /> {{ $t("nav.public_tl") }}
- </router-link>
- </li>
- <li
- v-if="federating && (currentUser || !privateMode)"
- @click="toggleDrawer"
- >
- <router-link to="/main/all">
- <i class="button-icon icon-globe" /> {{ $t("nav.twkn") }}
- </router-link>
- </li>
- <li
- v-if="currentUser && chat"
+ v-if="chat"
@click="toggleDrawer"
>
<router-link :to="{ name: 'chat' }">
@@ -122,9 +112,12 @@
</router-link>
</li>
<li @click="toggleDrawer">
- <router-link :to="{ name: 'settings' }">
+ <a
+ href="#"
+ @click="openSettingsModal"
+ >
<i class="button-icon icon-cog" /> {{ $t("settings.settings") }}
- </router-link>
+ </a>
</li>
<li @click="toggleDrawer">
<router-link :to="{ name: 'about'}">