diff --git a/src/boot/routes.js b/src/boot/routes.js index 508c76df..1a179099 100644 --- a/src/boot/routes.js +++ b/src/boot/routes.js @@ -34,7 +34,7 @@ export default (store) => { { name: 'tag-timeline', path: '/tag/:tag', component: TagTimeline }, { name: 'conversation', path: '/notice/:id', component: ConversationPage, meta: { dontScroll: true } }, { name: 'external-user-profile', path: '/users/:id', component: UserProfile }, - { name: 'mentions', path: '/users/:username/interactions', component: Interactions }, + { name: 'interactions', path: '/users/:username/interactions', component: Interactions }, { name: 'dms', path: '/users/:username/dms', component: DMs }, { name: 'settings', path: '/settings', component: Settings }, { name: 'registration', path: '/registration', component: Registration }, diff --git a/src/components/interactions/interactions.vue b/src/components/interactions/interactions.vue index 751e5d40..5a204ca7 100644 --- a/src/components/interactions/interactions.vue +++ b/src/components/interactions/interactions.vue @@ -9,9 +9,9 @@ ref="tabSwitcher" :onSwitch="onModeSwitch" > - <span data-tab-dummy data-filter="mentions" :label="$t('MENTIONS')"/> - <span data-tab-dummy data-filter="likes+repeats" :label="$t('LIKES AND REPEATS')"/> - <span data-tab-dummy data-filter="follows" :label="$t('FOLLOWS')"/> + <span data-tab-dummy data-filter="mentions" :label="$t('nav.mentions')"/> + <span data-tab-dummy data-filter="likes+repeats" :label="$t('interactions.favs_repeats')"/> + <span data-tab-dummy data-filter="follows" :label="$t('interactions.follows')"/> </tab-switcher> <Notifications ref="notifications" diff --git a/src/components/nav_panel/nav_panel.vue b/src/components/nav_panel/nav_panel.vue index 05097c45..e6e0f074 100644 --- a/src/components/nav_panel/nav_panel.vue +++ b/src/components/nav_panel/nav_panel.vue @@ -8,7 +8,7 @@ </router-link> </li> <li v-if='currentUser'> - <router-link :to="{ name: 'mentions', params: { username: currentUser.screen_name } }"> + <router-link :to="{ name: 'interactions', params: { username: currentUser.screen_name } }"> {{ $t("nav.interactions") }} </router-link> </li> diff --git a/src/components/notifications/notifications.js b/src/components/notifications/notifications.js index acc31986..3a6e3b94 100644 --- a/src/components/notifications/notifications.js +++ b/src/components/notifications/notifications.js @@ -7,9 +7,15 @@ import { } from '../../services/notification_utils/notification_utils.js' const Notifications = { - props: [ - 'noHeading', 'minimalMode', 'filterMode' - ], + props: { + // Disables display of panel header + noHeading: Boolean, + // Disables panel styles, unread mark, potentially other notification-related actions + // meant for "Interactions" timeline + minimalMode: Boolean, + // Custom filter mode, an array of strings, possible values 'mention', 'repeat', 'like', 'follow', used to override global filter for use in "Interactions" timeline + filterMode: Array + }, data () { return { bottomedOut: false diff --git a/src/components/notifications/notifications.scss b/src/components/notifications/notifications.scss index c0b458cc..622d12f4 100644 --- a/src/components/notifications/notifications.scss +++ b/src/components/notifications/notifications.scss @@ -1,8 +1,10 @@ @import '../../_variables.scss'; .notifications { - // a bit of a hack to allow scrolling below notifications - padding-bottom: 15em; + &:not(.minimal) { + // a bit of a hack to allow scrolling below notifications + padding-bottom: 15em; + } .loadmore-error { color: $fallback--text; diff --git a/src/components/notifications/notifications.vue b/src/components/notifications/notifications.vue index 3c3ae191..c71499b2 100644 --- a/src/components/notifications/notifications.vue +++ b/src/components/notifications/notifications.vue @@ -1,5 +1,5 @@ <template> - <div class="notifications"> + <div :class="{ minimal: minimalMode }" class="notifications"> <div :class="mainClass"> <div v-if="!noHeading" class="panel-heading"> <div class="title"> @@ -22,7 +22,9 @@ {{$t('notifications.no_more_notifications')}} </div> <a v-else-if="!loading" href="#" v-on:click.prevent="fetchOlderNotifications()"> - <div class="new-status-notification text-center panel-footer">{{$t('notifications.load_older')}}</div> + <div class="new-status-notification text-center panel-footer"> + {{ minimalMode ? $t('interactions.load_older') : $t('notifications.load_older')}} + </div> </a> <div v-else class="new-status-notification text-center panel-footer"> <i class="icon-spin3 animate-spin"/> diff --git a/src/components/side_drawer/side_drawer.vue b/src/components/side_drawer/side_drawer.vue index 9abb8cef..6428b1b0 100644 --- a/src/components/side_drawer/side_drawer.vue +++ b/src/components/side_drawer/side_drawer.vue @@ -26,6 +26,11 @@ {{ $t("nav.dms") }} </router-link> </li> + <li v-if="currentUser" @click="toggleDrawer"> + <router-link :to="{ name: 'interactions', params: { username: currentUser.screen_name } }"> + {{ $t("nav.interactions") }} + </router-link> + </li> </ul> <ul> <li v-if="currentUser" @click="toggleDrawer"> diff --git a/src/i18n/en.json b/src/i18n/en.json index b4f0deb2..92d63be8 100644 --- a/src/i18n/en.json +++ b/src/i18n/en.json @@ -60,6 +60,7 @@ "chat": "Local Chat", "friend_requests": "Follow Requests", "mentions": "Mentions", + "interactions": "Interactions", "dms": "Direct Messages", "public_tl": "Public Timeline", "timeline": "Timeline", @@ -78,6 +79,11 @@ "repeated_you": "repeated your status", "no_more_notifications": "No more notifications" }, + "interactions": { + "favs_repeats": "Repeats and Favorites", + "follows": "New follows", + "load_older": "Load older interactions" + }, "post_status": { "new_status": "Post new status", "account_not_locked_warning": "Your account is not {0}. Anyone can follow you to view your follower-only posts.", diff --git a/src/i18n/ru.json b/src/i18n/ru.json index b3ab322d..7a22194a 100644 --- a/src/i18n/ru.json +++ b/src/i18n/ru.json @@ -23,6 +23,7 @@ "back": "Назад", "chat": "Локальный чат", "mentions": "Упоминания", + "interactions": "Взаимодействия", "public_tl": "Публичная лента", "timeline": "Лента", "twkn": "Федеративная лента" @@ -36,6 +37,11 @@ "read": "Прочесть", "repeated_you": "повторил(а) ваш статус" }, + "interactions": { + "favs_repeats": "Повторы и фавориты", + "follows": "Новые подписки", + "load_older": "Загрузить старые взаимодействия" + }, "post_status": { "account_not_locked_warning": "Ваш аккаунт не {0}. Кто угодно может зафоловить вас чтобы прочитать посты только для подписчиков", "account_not_locked_warning_link": "залочен",