logged-out fixes + rename mapPiniaState -> mapState

This commit is contained in:
Henry Jameson 2026-08-24 14:52:26 +03:00
commit 12df5d09ab
7 changed files with 36 additions and 41 deletions

View file

@ -1,6 +1,5 @@
import { get, reduce } from 'lodash' import { get, reduce } from 'lodash'
import { mapState as mapPiniaState } from 'pinia' import { mapState } from 'pinia'
import { mapState } from 'vuex'
import ChatMessageList from 'src/components/chat_message_list/chat_message_list.vue' import ChatMessageList from 'src/components/chat_message_list/chat_message_list.vue'
import PostStatusForm from 'src/components/post_status_form/post_status_form.vue' import PostStatusForm from 'src/components/post_status_form/post_status_form.vue'
@ -13,6 +12,7 @@ import { useInterfaceStore } from 'src/stores/interface.js'
import { useMergedConfigStore } from 'src/stores/merged_config.js' import { useMergedConfigStore } from 'src/stores/merged_config.js'
import { useOAuthStore } from 'src/stores/oauth.js' import { useOAuthStore } from 'src/stores/oauth.js'
import { useStatusesStore } from 'src/stores/statuses.js' import { useStatusesStore } from 'src/stores/statuses.js'
import { useStreamingStore } from 'src/stores/streaming.js'
import { fetchConversation, fetchStatus } from 'src/api/public.js' import { fetchConversation, fetchStatus } from 'src/api/public.js'
import { WSConnectionStatus } from 'src/api/websocket.js' import { WSConnectionStatus } from 'src/api/websocket.js'
@ -388,11 +388,11 @@ const conversation = {
maybeFocused() { maybeFocused() {
return this.isExpanded ? this.focused : null return this.isExpanded ? this.focused : null
}, },
...mapPiniaState(useMergedConfigStore, ['mergedConfig']), ...mapState(useMergedConfigStore, ['mergedConfig']),
...mapState({ ...mapState(useStreamingStore, {
mastoUserSocketStatus: (state) => state.api.mastoUserSocketStatus, mastoUserSocketStatus: (state) => state.state,
}), }),
...mapPiniaState(useInterfaceStore, { ...mapState(useInterfaceStore, {
mobileLayout: (store) => store.layoutType === 'mobile', mobileLayout: (store) => store.layoutType === 'mobile',
}), }),
}, },

View file

@ -1,8 +1,8 @@
import { mapActions, mapState as mapPiniaState } from 'pinia' import { mapActions, mapState } from 'pinia'
import { mapState } from 'vuex'
import { useAuthFlowStore } from 'src/stores/auth_flow.js' import { useAuthFlowStore } from 'src/stores/auth_flow.js'
import { useInstanceStore } from 'src/stores/instance.js' import { useInstanceStore } from 'src/stores/instance.js'
import { useUsersStore } from 'src/stores/users.js'
import { useOAuthStore } from 'src/stores/oauth.js' import { useOAuthStore } from 'src/stores/oauth.js'
import { getLoginUrl, getTokenWithCredentials } from 'src/api/oauth.js' import { getLoginUrl, getTokenWithCredentials } from 'src/api/oauth.js'
@ -18,12 +18,10 @@ const LoginForm = {
error: false, error: false,
}), }),
computed: { computed: {
...mapState({ ...mapState(useUsersStore, ['loggingIn']),
loggingIn: (state) => state.users.loggingIn, ...mapState(useOAuthStore, ['clientId', 'clientSecret']),
}), ...mapState(useInstanceStore, ['server', 'registrationOpen']),
...mapPiniaState(useOAuthStore, ['clientId', 'clientSecret']), ...mapState(useAuthFlowStore, {
...mapPiniaState(useInstanceStore, ['server', 'registrationOpen']),
...mapPiniaState(useAuthFlowStore, {
isTokenAuth: (store) => store.requiredToken, isTokenAuth: (store) => store.requiredToken,
isPasswordAuth: (store) => !store.requiredToken, isPasswordAuth: (store) => !store.requiredToken,
}), }),

View file

@ -78,8 +78,8 @@ const MentionLink = {
return this.url && useUsersStore().findUserByUrl(this.url) return this.url && useUsersStore().findUserByUrl(this.url)
}, },
isYou() { isYou() {
// FIXME why user !== currentUser??? if (!this.currentUser) return false
return this.user?.id === this.currentUser.id return this.user === this.currentUser
}, },
userName() { userName() {
return this.user && this.userNameFullUi.split('@')[0] return this.user && this.userNameFullUi.split('@')[0]

View file

@ -1,5 +1,5 @@
import { mapState as mapPiniaState } from 'pinia' import { mapState } from 'pinia'
import { mapState } from 'vuex' import { mapState as mapVuexState } from 'vuex'
import BookmarkFoldersMenuContent from 'src/components/bookmark_folders_menu/bookmark_folders_menu_content.vue' import BookmarkFoldersMenuContent from 'src/components/bookmark_folders_menu/bookmark_folders_menu_content.vue'
import Checkbox from 'src/components/checkbox/checkbox.vue' import Checkbox from 'src/components/checkbox/checkbox.vue'
@ -111,29 +111,29 @@ const NavPanel = {
}, },
}, },
computed: { computed: {
...mapPiniaState(useAnnouncementsStore, { ...mapState(useAnnouncementsStore, {
unreadAnnouncementCount: 'unreadAnnouncementCount', unreadAnnouncementCount: 'unreadAnnouncementCount',
supportsAnnouncements: (store) => store.supportsAnnouncements, supportsAnnouncements: (store) => store.supportsAnnouncements,
}), }),
...mapPiniaState(useInstanceCapabilitiesStore, [ ...mapState(useInstanceCapabilitiesStore, [
'pleromaChatMessagesAvailable', 'pleromaChatMessagesAvailable',
'pleromaBookmarkFoldersAvailable', 'pleromaBookmarkFoldersAvailable',
'localBubble', 'localBubble',
]), ]),
...mapPiniaState(useInstanceStore, ['federating']), ...mapState(useInstanceStore, ['federating']),
...mapPiniaState(useInstanceStore, { ...mapState(useInstanceStore, {
privateMode: (store) => store.private, privateMode: (store) => store.private,
}), }),
...mapPiniaState(useSyncConfigStore, { ...mapState(useSyncConfigStore, {
collapsed: (store) => store.prefsStorage.simple.collapseNav, collapsed: (store) => store.prefsStorage.simple.collapseNav,
pinnedItems: (store) => pinnedItems: (store) =>
new Set(store.prefsStorage.collections.pinnedNavItems), new Set(store.prefsStorage.collections.pinnedNavItems),
}), }),
...mapPiniaState(useUsersStore, ['currentUser']), ...mapState(useUsersStore, ['currentUser']),
...mapState({ ...mapVuexState({
followRequestCount: (state) => state.api.followRequests.length, followRequestCount: (state) => state.api.followRequests.length,
}), }),
...mapPiniaState(useChatsStore, ['unreadChatsCount']), ...mapState(useChatsStore, ['unreadChatsCount']),
timelinesItems() { timelinesItems() {
return filterNavigation( return filterNavigation(
Object.entries({ ...TIMELINES }) Object.entries({ ...TIMELINES })

View file

@ -1,5 +1,5 @@
import { mapState as mapPiniaState } from 'pinia' import { mapState } from 'pinia'
import { mapState } from 'vuex' import { mapState as mapVuexState } from 'vuex'
import { import {
filterNavigation, filterNavigation,
@ -59,26 +59,26 @@ const NavPanel = {
getters() { getters() {
return this.$store.getters return this.$store.getters
}, },
...mapPiniaState(useListsStore, { ...mapState(useListsStore, {
lists: getListEntries, lists: getListEntries,
}), }),
...mapPiniaState(useAnnouncementsStore, { ...mapState(useAnnouncementsStore, {
supportsAnnouncements: (store) => store.supportsAnnouncements, supportsAnnouncements: (store) => store.supportsAnnouncements,
}), }),
...mapPiniaState(useBookmarkFoldersStore, { ...mapState(useBookmarkFoldersStore, {
bookmarks: getBookmarkFolderEntries, bookmarks: getBookmarkFolderEntries,
}), }),
...mapPiniaState(useSyncConfigStore, { ...mapState(useSyncConfigStore, {
pinnedItems: (store) => pinnedItems: (store) =>
new Set(store.prefsStorage.collections.pinnedNavItems), new Set(store.prefsStorage.collections.pinnedNavItems),
}), }),
...mapPiniaState(useInstanceStore, ['privateMode', 'federating']), ...mapState(useInstanceStore, ['privateMode', 'federating']),
...mapPiniaState(useInstanceCapabilitiesStore, [ ...mapState(useInstanceCapabilitiesStore, [
'pleromaChatMessagesAvailable', 'pleromaChatMessagesAvailable',
'localBubble', 'localBubble',
]), ]),
...mapPiniaState(useUsersStore, ['currentUser']), ...mapState(useUsersStore, ['currentUser']),
...mapState({ ...mapVuexState({
followRequestCount: (state) => state.api.followRequests.length, followRequestCount: (state) => state.api.followRequests.length,
}), }),
pinnedList() { pinnedList() {

View file

@ -118,9 +118,6 @@ const Notification = {
useInstanceStore().restrictedNicknames, useInstanceStore().restrictedNicknames,
) )
}, },
getUser(notification) {
return this.$store.state.users.usersObject[notification.from_profile.id]
},
interacted() { interacted() {
this.$emit('interacted') this.$emit('interacted')
}, },

View file

@ -1,6 +1,6 @@
// eslint-disable-next-line no-unused // eslint-disable-next-line no-unused
import { mapState as mapPiniaState } from 'pinia' import { mapState } from 'pinia'
import { Fragment } from 'vue' import { Fragment } from 'vue'
import { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome' import { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'
@ -60,7 +60,7 @@ export default {
return this.$slots.default().findIndex(isWanted) === this.activeIndex return this.$slots.default().findIndex(isWanted) === this.activeIndex
} }
}, },
...mapPiniaState(useInterfaceStore, { ...mapState(useInterfaceStore, {
mobileLayout: (store) => store.layoutType === 'mobile', mobileLayout: (store) => store.layoutType === 'mobile',
}), }),
}, },