From 2dd743dea0cb93762f9b0af001fa0ed376e5b9fa Mon Sep 17 00:00:00 2001 From: David Baker Date: Thu, 16 Oct 2025 19:14:34 +0100 Subject: [PATCH] Switch to using module api via .instance --- src/components/structures/LoggedInView.tsx | 4 ++-- src/components/structures/MatrixChat.tsx | 4 ++-- src/components/views/spaces/SpacePanel.tsx | 4 ++-- src/stores/spaces/SpaceStore.ts | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/components/structures/LoggedInView.tsx b/src/components/structures/LoggedInView.tsx index 6be8bc61b6..8626944895 100644 --- a/src/components/structures/LoggedInView.tsx +++ b/src/components/structures/LoggedInView.tsx @@ -68,7 +68,7 @@ import { monitorSyncedPushRules } from "../../utils/pushRules/monitorSyncedPushR import { type ConfigOptions } from "../../SdkConfig"; import { MatrixClientContextProvider } from "./MatrixClientContextProvider"; import { Landmark, LandmarkNavigation } from "../../accessibility/LandmarkNavigation"; -import ModuleApi from "../../modules/Api.ts"; +import { ModuleApi } from "../../modules/Api.ts"; import { SDKContext } from "../../contexts/SDKContext.ts"; // We need to fetch each pinned message individually (if we don't already have it) @@ -681,7 +681,7 @@ class LoggedInView extends React.Component { let pageElement; const moduleRenderer = this.props.page_type - ? ModuleApi.navigation.locationRenderers.get(this.props.page_type) + ? ModuleApi.instance.navigation.locationRenderers.get(this.props.page_type) : undefined; switch (this.props.page_type) { diff --git a/src/components/structures/MatrixChat.tsx b/src/components/structures/MatrixChat.tsx index ea4cc36f8d..c3c358d66b 100644 --- a/src/components/structures/MatrixChat.tsx +++ b/src/components/structures/MatrixChat.tsx @@ -140,7 +140,7 @@ import { ShareFormat, type SharePayload } from "../../dispatcher/payloads/ShareP import Markdown from "../../Markdown"; import { sanitizeHtmlParams } from "../../Linkify"; import { isOnlyAdmin } from "../../utils/membership"; -import ModuleApi from "../../modules/Api.ts"; +import { ModuleApi } from "../../modules/Api.ts"; // legacy export export { default as Views } from "../../Views"; @@ -1925,7 +1925,7 @@ export default class MatrixChat extends React.PureComponent { subAction: params?.action, }); } else { - if (ModuleApi.navigation.locationRenderers.get(screen)) { + if (ModuleApi.instance.navigation.locationRenderers.get(screen)) { this.setState({ page_type: screen }); } } diff --git a/src/components/views/spaces/SpacePanel.tsx b/src/components/views/spaces/SpacePanel.tsx index 930307a153..c0d8faedfb 100644 --- a/src/components/views/spaces/SpacePanel.tsx +++ b/src/components/views/spaces/SpacePanel.tsx @@ -68,7 +68,7 @@ import { ThreadsActivityCentre } from "./threads-activity-centre/"; import AccessibleButton from "../elements/AccessibleButton"; import { Landmark, LandmarkNavigation } from "../../../accessibility/LandmarkNavigation"; import { KeyboardShortcut } from "../settings/KeyboardShortcut"; -import ModuleApi from "../../../modules/Api.ts"; +import { ModuleApi } from "../../../modules/Api.ts"; import { useModuleSpacePanelItems } from "../../../modules/ExtrasApi.ts"; import { ReleaseAnnouncement } from "../../structures/ReleaseAnnouncement"; @@ -292,7 +292,7 @@ const InnerSpacePanel = React.memo( const [invites, metaSpaces, actualSpaces, activeSpace] = useSpaces(); const activeSpaces = activeSpace ? [activeSpace] : []; - const moduleSpaceItems = useModuleSpacePanelItems(ModuleApi.extras); + const moduleSpaceItems = useModuleSpacePanelItems(ModuleApi.instance.extras); const metaSpacesSection = metaSpaces .filter((key) => !(key === MetaSpace.VideoRooms && !SettingsStore.getValue("feature_video_rooms"))) diff --git a/src/stores/spaces/SpaceStore.ts b/src/stores/spaces/SpaceStore.ts index 2bd8293407..c0b9a92159 100644 --- a/src/stores/spaces/SpaceStore.ts +++ b/src/stores/spaces/SpaceStore.ts @@ -62,7 +62,7 @@ import { type ViewHomePagePayload } from "../../dispatcher/payloads/ViewHomePage import { type SwitchSpacePayload } from "../../dispatcher/payloads/SwitchSpacePayload"; import { type AfterLeaveRoomPayload } from "../../dispatcher/payloads/AfterLeaveRoomPayload"; import { SdkContextClass } from "../../contexts/SDKContext"; -import ModuleApi from "../../modules/Api.ts"; +import { ModuleApi } from "../../modules/Api.ts"; const ACTIVE_SPACE_LS_KEY = "mx_active_space"; @@ -254,7 +254,7 @@ export class SpaceStoreClass extends AsyncStoreWithClient { if (!space || !this.matrixClient || space === this.activeSpace) return; let cliSpace: Room | null = null; - if (ModuleApi.extras.spacePanelItems.has(space)) { + if (ModuleApi.instance.extras.spacePanelItems.has(space)) { // it's a "space" provided by a module: that's good enough } else if (!isMetaSpace(space)) { cliSpace = this.matrixClient.getRoom(space); @@ -291,7 +291,7 @@ export class SpaceStoreClass extends AsyncStoreWithClient { context_switch: true, metricsTrigger: "WebSpaceContextSwitch", }); - } else if (ModuleApi.extras.spacePanelItems.has(space)) { + } else if (ModuleApi.instance.extras.spacePanelItems.has(space)) { // module will handle this } else { defaultDispatcher.dispatch({ @@ -1214,7 +1214,7 @@ export class SpaceStoreClass extends AsyncStoreWithClient { const lastSpaceId = window.localStorage.getItem(ACTIVE_SPACE_LS_KEY) as MetaSpace; const valid = lastSpaceId && - (ModuleApi.extras.spacePanelItems.has(lastSpaceId) || + (ModuleApi.instance.extras.spacePanelItems.has(lastSpaceId) || (!isMetaSpace(lastSpaceId) ? this.matrixClient.getRoom(lastSpaceId) : enabledMetaSpaces[lastSpaceId])); if (valid) { // don't context switch here as it may break permalinks