From de291e2e33f1d9e04b27ed30ba3b012d73178e63 Mon Sep 17 00:00:00 2001 From: Eugenij Date: Fri, 3 Jul 2020 19:45:49 +0000 Subject: Add bookmarks Co-authored-by: jared --- src/boot/routes.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/boot') diff --git a/src/boot/routes.js b/src/boot/routes.js index d98a3b50..f63d8adf 100644 --- a/src/boot/routes.js +++ b/src/boot/routes.js @@ -2,6 +2,7 @@ import PublicTimeline from 'components/public_timeline/public_timeline.vue' import PublicAndExternalTimeline from 'components/public_and_external_timeline/public_and_external_timeline.vue' import FriendsTimeline from 'components/friends_timeline/friends_timeline.vue' import TagTimeline from 'components/tag_timeline/tag_timeline.vue' +import BookmarkTimeline from 'components/bookmark_timeline/bookmark_timeline.vue' import ConversationPage from 'components/conversation-page/conversation-page.vue' import Interactions from 'components/interactions/interactions.vue' import DMs from 'components/dm_timeline/dm_timeline.vue' @@ -40,6 +41,7 @@ export default (store) => { { name: 'public-timeline', path: '/main/public', component: PublicTimeline }, { name: 'friends', path: '/main/friends', component: FriendsTimeline, beforeEnter: validateAuthenticatedRoute }, { name: 'tag-timeline', path: '/tag/:tag', component: TagTimeline }, + { name: 'bookmarks', path: '/bookmarks', component: BookmarkTimeline }, { name: 'conversation', path: '/notice/:id', component: ConversationPage, meta: { dontScroll: true } }, { name: 'remote-user-profile-acct', path: '/remote-users/(@?):username([^/@]+)@:hostname([^/@]+)', -- cgit v1.2.3-70-g09d2 From 1f97f36e1ccded9a1cab1e777427cfea0cff4964 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 7 Jul 2020 13:17:25 +0200 Subject: After Store: Correctly handle preloaded HTML --- src/boot/after_store.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/boot') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 1796eb1b..d9f2da78 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -29,7 +29,7 @@ const preloadFetch = async (request) => { return { ok: true, json: () => JSON.parse(requestData), - text: () => requestData + text: () => JSON.parse(requestData) } } -- cgit v1.2.3-70-g09d2 From 7c9ba8995ca49c0fa4eb987467bc1aab13fc67f3 Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 7 Jul 2020 11:47:01 +0000 Subject: Apply suggestion to src/boot/after_store.js --- src/boot/after_store.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/boot') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index d9f2da78..47524112 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -25,11 +25,11 @@ const preloadFetch = async (request) => { if (!data || !data[request]) { return window.fetch(request) } - const requestData = atob(data[request]) + const requestData = JSON.parse(atob(data[request])) return { ok: true, - json: () => JSON.parse(requestData), - text: () => JSON.parse(requestData) + json: () => requestData, + text: () => requestData } } -- cgit v1.2.3-70-g09d2 From 431b3f527deb318b723e3d2a41f560b970697dff Mon Sep 17 00:00:00 2001 From: lain Date: Tue, 7 Jul 2020 14:39:43 +0200 Subject: StaffPanel: Move staff loading to panel creation. --- src/boot/after_store.js | 1 - src/components/staff_panel/staff_panel.js | 4 ++++ src/modules/users.js | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src/boot') diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 47524112..302b278c 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -215,7 +215,6 @@ const getAppSecret = async ({ store }) => { const resolveStaffAccounts = ({ store, accounts }) => { const nicknames = accounts.map(uri => uri.split('/').pop()) - nicknames.map(nickname => store.dispatch('fetchUser', nickname)) store.dispatch('setInstanceOption', { name: 'staffAccounts', value: nicknames }) } diff --git a/src/components/staff_panel/staff_panel.js b/src/components/staff_panel/staff_panel.js index 4f98fff6..8c2abcd8 100644 --- a/src/components/staff_panel/staff_panel.js +++ b/src/components/staff_panel/staff_panel.js @@ -2,6 +2,10 @@ import map from 'lodash/map' import BasicUserCard from '../basic_user_card/basic_user_card.vue' const StaffPanel = { + created() { + const nicknames = this.$store.state.instance.staffAccounts + nicknames.forEach(nickname => this.$store.dispatch('fetchUserIfMissing', nickname)) + }, components: { BasicUserCard }, diff --git a/src/modules/users.js b/src/modules/users.js index 68d02931..7e136c61 100644 --- a/src/modules/users.js +++ b/src/modules/users.js @@ -266,6 +266,11 @@ const users = { mutations, getters, actions: { + fetchUserIfMissing (store, id) { + if (!store.getters.findUser(id)) { + store.dispatch('fetchUser', id) + } + }, fetchUser (store, id) { return store.rootState.api.backendInteractor.fetchUser({ id }) .then((user) => { -- cgit v1.2.3-70-g09d2