mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-04-16 21:33:51 +02:00
208 lines
6.7 KiB
JavaScript
208 lines
6.7 KiB
JavaScript
import { createPinia } from 'pinia';
|
|
|
|
import { getSentry, isSentryOptedIn } from '../plugin';
|
|
import { createPiniaActionTrailPlugin } from '../plugin/piniaActionTrail';
|
|
import { useAdvancedSettingsStore } from './settings/advanced';
|
|
import { useAppearanceSettingsStore } from './settings/appearance';
|
|
import { useAuthStore } from './auth';
|
|
import { useAvatarProviderStore } from './avatarProvider';
|
|
import { useAvatarStore } from './avatar';
|
|
import { useChartsStore } from './charts';
|
|
import { useDiscordPresenceSettingsStore } from './settings/discordPresence';
|
|
import { useFavoriteStore } from './favorite';
|
|
import { useFeedStore } from './feed';
|
|
import { useFriendStore } from './friend';
|
|
import { useGalleryStore } from './gallery';
|
|
import { useGameLogStore } from './gameLog';
|
|
import { useGameStore } from './game';
|
|
import { useGeneralSettingsStore } from './settings/general';
|
|
import { useGroupStore } from './group';
|
|
import { useInstanceStore } from './instance';
|
|
import { useInviteStore } from './invite';
|
|
import { useLaunchStore } from './launch';
|
|
import { useLocationStore } from './location';
|
|
import { useModalStore } from './modal';
|
|
import { useModerationStore } from './moderation';
|
|
import { useNotificationStore } from './notification';
|
|
import { useNotificationsSettingsStore } from './settings/notifications';
|
|
import { usePhotonStore } from './photon';
|
|
import { useSearchStore } from './search';
|
|
import { useSharedFeedStore } from './sharedFeed';
|
|
import { useUiStore } from './ui';
|
|
import { useUpdateLoopStore } from './updateLoop';
|
|
import { useUserStore } from './user';
|
|
import { useVRCXUpdaterStore } from './vrcxUpdater';
|
|
import { useVrStore } from './vr';
|
|
import { useVrcStatusStore } from './vrcStatus';
|
|
import { useVrcxStore } from './vrcx';
|
|
import { useWorldStore } from './world';
|
|
import { useWristOverlaySettingsStore } from './settings/wristOverlay';
|
|
|
|
export const pinia = createPinia();
|
|
|
|
function registerPiniaActionTrailPlugin() {
|
|
if (!NIGHTLY) return;
|
|
pinia.use(createPiniaActionTrailPlugin({ maxEntries: 200 }));
|
|
}
|
|
|
|
async function registerSentryPiniaPlugin() {
|
|
if (!NIGHTLY) return;
|
|
if (!(await isSentryOptedIn())) return;
|
|
|
|
const Sentry = await getSentry();
|
|
|
|
pinia.use(
|
|
Sentry.createSentryPiniaPlugin({
|
|
stateTransformer: (state) => ({
|
|
...state,
|
|
Auth: null,
|
|
Feed: null,
|
|
Favorite: null,
|
|
Friend: null,
|
|
User: {
|
|
// @ts-ignore
|
|
...state.User,
|
|
currentUser: null,
|
|
subsetOfLanguages: null,
|
|
languageDialog: {
|
|
// @ts-ignore
|
|
...state.User.languageDialog,
|
|
languages: null
|
|
}
|
|
},
|
|
GameLog: {
|
|
// @ts-ignore
|
|
...state.GameLog,
|
|
gameLogTable: null,
|
|
gameLogSessionTable: null
|
|
},
|
|
Notification: {
|
|
// @ts-ignore
|
|
...state.Notification,
|
|
notificationTable: null
|
|
},
|
|
Moderation: {
|
|
// @ts-ignore
|
|
...state.Moderation,
|
|
playerModerationTable: null,
|
|
cachedPlayerModerations: null,
|
|
cachedPlayerModerationsUserIds: null
|
|
},
|
|
Photon: null,
|
|
SharedFeed: {
|
|
// @ts-ignore
|
|
...state.SharedFeed,
|
|
sharedFeed: null
|
|
},
|
|
Group: {
|
|
// @ts-ignore
|
|
...state.Group,
|
|
groupInstances: null,
|
|
inGameGroupOrder: null
|
|
},
|
|
Avatar: {
|
|
// @ts-ignore
|
|
...state.Avatar,
|
|
avatarHistory: null
|
|
},
|
|
Gallery: {
|
|
// @ts-ignore
|
|
...state.Gallery,
|
|
emojiTable: null,
|
|
galleryTable: null,
|
|
instanceStickersCache: null,
|
|
inventoryTable: null,
|
|
printTable: null,
|
|
stickerTable: null,
|
|
VRCPlusIconsTable: null
|
|
}
|
|
})
|
|
})
|
|
);
|
|
}
|
|
|
|
export async function initPiniaPlugins() {
|
|
await registerSentryPiniaPlugin();
|
|
setTimeout(() => {
|
|
registerPiniaActionTrailPlugin();
|
|
}, 60000);
|
|
}
|
|
|
|
export function createGlobalStores() {
|
|
return {
|
|
advancedSettings: useAdvancedSettingsStore(),
|
|
appearanceSettings: useAppearanceSettingsStore(),
|
|
discordPresenceSettings: useDiscordPresenceSettingsStore(),
|
|
generalSettings: useGeneralSettingsStore(),
|
|
notificationsSettings: useNotificationsSettingsStore(),
|
|
wristOverlaySettings: useWristOverlaySettingsStore(),
|
|
avatarProvider: useAvatarProviderStore(),
|
|
favorite: useFavoriteStore(),
|
|
friend: useFriendStore(),
|
|
photon: usePhotonStore(),
|
|
user: useUserStore(),
|
|
vrcxUpdater: useVRCXUpdaterStore(),
|
|
avatar: useAvatarStore(),
|
|
world: useWorldStore(),
|
|
group: useGroupStore(),
|
|
location: useLocationStore(),
|
|
instance: useInstanceStore(),
|
|
moderation: useModerationStore(),
|
|
invite: useInviteStore(),
|
|
gallery: useGalleryStore(),
|
|
notification: useNotificationStore(),
|
|
feed: useFeedStore(),
|
|
ui: useUiStore(),
|
|
gameLog: useGameLogStore(),
|
|
search: useSearchStore(),
|
|
game: useGameStore(),
|
|
launch: useLaunchStore(),
|
|
vr: useVrStore(),
|
|
vrcx: useVrcxStore(),
|
|
sharedFeed: useSharedFeedStore(),
|
|
updateLoop: useUpdateLoopStore(),
|
|
auth: useAuthStore(),
|
|
vrcStatus: useVrcStatusStore(),
|
|
charts: useChartsStore(),
|
|
modal: useModalStore()
|
|
};
|
|
}
|
|
|
|
export {
|
|
useAuthStore,
|
|
useAvatarStore,
|
|
useAvatarProviderStore,
|
|
useFavoriteStore,
|
|
useFeedStore,
|
|
useFriendStore,
|
|
useGalleryStore,
|
|
useGameStore,
|
|
useGameLogStore,
|
|
useGroupStore,
|
|
useInstanceStore,
|
|
useInviteStore,
|
|
useLaunchStore,
|
|
useLocationStore,
|
|
useModerationStore,
|
|
useNotificationStore,
|
|
usePhotonStore,
|
|
useSearchStore,
|
|
useChartsStore,
|
|
useAdvancedSettingsStore,
|
|
useAppearanceSettingsStore,
|
|
useDiscordPresenceSettingsStore,
|
|
useGeneralSettingsStore,
|
|
useNotificationsSettingsStore,
|
|
useWristOverlaySettingsStore,
|
|
useUiStore,
|
|
useUserStore,
|
|
useVrStore,
|
|
useVrcxStore,
|
|
useVRCXUpdaterStore,
|
|
useWorldStore,
|
|
useSharedFeedStore,
|
|
useUpdateLoopStore,
|
|
useVrcStatusStore,
|
|
useModalStore
|
|
};
|