Merge branch 'tusooa/unify-vuex-modules-import' into 'develop'

Fix unit tests and unify vuex modules import

See merge request pleroma/pleroma-fe!2062
This commit is contained in:
HJ 2025-02-27 17:29:14 +00:00
commit 9dcdd421ac
5 changed files with 35 additions and 65 deletions

View file

@ -5,20 +5,7 @@ import { createPinia } from 'pinia'
import 'custom-event-polyfill'
import './lib/event_target_polyfill.js'
import instanceModule from './modules/instance.js'
import statusesModule from './modules/statuses.js'
import notificationsModule from './modules/notifications.js'
import usersModule from './modules/users.js'
import apiModule from './modules/api.js'
import configModule from './modules/config.js'
import profileConfigModule from './modules/profileConfig.js'
import serverSideStorageModule from './modules/serverSideStorage.js'
import adminSettingsModule from './modules/adminSettings.js'
import oauthModule from './modules/oauth.js'
import authFlowModule from './modules/auth_flow.js'
import oauthTokensModule from './modules/oauth_tokens.js'
import draftsModule from './modules/drafts.js'
import chatsModule from './modules/chats.js'
import vuexModules from './modules/index.js'
import { createI18n } from 'vue-i18n'
@ -89,23 +76,7 @@ const persistedStateOptions = {
document.querySelector('#status').textContent = i18n.global.t('splash.loading')
document.querySelector('#splash-credit').textContent = i18n.global.t('update.art_by', { linkToArtist: 'pipivovott' })
const store = createStore({
modules: {
instance: instanceModule,
// TODO refactor users/statuses modules, they depend on each other
users: usersModule,
statuses: statusesModule,
notifications: notificationsModule,
api: apiModule,
config: configModule,
profileConfig: profileConfigModule,
serverSideStorage: serverSideStorageModule,
adminSettings: adminSettingsModule,
oauth: oauthModule,
authFlow: authFlowModule,
oauthTokens: oauthTokensModule,
drafts: draftsModule,
chats: chatsModule
},
modules: vuexModules,
plugins,
options: {
devtools: process.env.NODE_ENV !== 'production'

31
src/modules/index.js Normal file
View file

@ -0,0 +1,31 @@
import instance from './instance.js'
import statuses from './statuses.js'
import notifications from './notifications.js'
import users from './users.js'
import api from './api.js'
import config from './config.js'
import profileConfig from './profileConfig.js'
import serverSideStorage from './serverSideStorage.js'
import adminSettings from './adminSettings.js'
import oauth from './oauth.js'
import authFlow from './auth_flow.js'
import oauthTokens from './oauth_tokens.js'
import drafts from './drafts.js'
import chats from './chats.js'
export default {
instance,
statuses,
notifications,
users,
api,
config,
profileConfig,
serverSideStorage,
adminSettings,
oauth,
authFlow,
oauthTokens,
drafts,
chats
}

View file

@ -1,20 +1,6 @@
import { createStore } from 'vuex'
import { cloneDeep } from 'lodash'
import instanceModule from 'src/modules/instance.js'
import statusesModule from 'src/modules/statuses.js'
import notificationsModule from 'src/modules/notifications.js'
import usersModule from 'src/modules/users.js'
import apiModule from 'src/modules/api.js'
import configModule from 'src/modules/config.js'
import profileConfigModule from 'src/modules/profileConfig.js'
import serverSideStorageModule from 'src/modules/serverSideStorage.js'
import adminSettingsModule from 'src/modules/adminSettings.js'
import oauthModule from 'src/modules/oauth.js'
import authFlowModule from 'src/modules/auth_flow.js'
import oauthTokensModule from 'src/modules/oauth_tokens.js'
import draftsModule from 'src/modules/drafts.js'
import chatsModule from 'src/modules/chats.js'
import bookmarkFoldersModule from 'src/modules/bookmark_folders.js'
import vuexModules from 'src/modules/index.js'
const tweakModules = modules => {
const res = {}
@ -28,24 +14,7 @@ const tweakModules = modules => {
const makeMockStore = () => {
return createStore({
modules: tweakModules({
instance: instanceModule,
// TODO refactor users/statuses modules, they depend on each other
users: usersModule,
statuses: statusesModule,
notifications: notificationsModule,
api: apiModule,
config: configModule,
profileConfig: profileConfigModule,
serverSideStorage: serverSideStorageModule,
adminSettings: adminSettingsModule,
oauth: oauthModule,
authFlow: authFlowModule,
oauthTokens: oauthTokensModule,
drafts: draftsModule,
chats: chatsModule,
bookmarkFolders: bookmarkFoldersModule
}),
modules: tweakModules(vuexModules),
})
}

View file

@ -1,7 +1,6 @@
import { config } from '@vue/test-utils'
import { createRouter, createMemoryHistory } from 'vue-router'
import VueVirtualScroller from 'vue-virtual-scroller'
import { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome'
import routes from 'src/boot/routes'
import makeMockStore from './mock_store'