diff --git a/src/components/structures/HostingSignupAction.tsx b/src/components/structures/HostingSignupAction.tsx index d7bc9c1d54..147d6f66ef 100644 --- a/src/components/structures/HostingSignupAction.tsx +++ b/src/components/structures/HostingSignupAction.tsx @@ -17,7 +17,7 @@ limitations under the License. import * as React from "react"; import Modal from "../../Modal"; import HostingSignupDialog from "../views/dialogs/HostingSignupDialog"; -import IconizedContextMenu, { +import { IconizedContextMenuOption, IconizedContextMenuOptionList, } from "../views/context_menus/IconizedContextMenu"; diff --git a/src/components/structures/UserMenu.tsx b/src/components/structures/UserMenu.tsx index 8022bcb3a4..b621fac74a 100644 --- a/src/components/structures/UserMenu.tsx +++ b/src/components/structures/UserMenu.tsx @@ -274,6 +274,7 @@ export default class UserMenu extends React.Component { let topSection; const signupLink = getHostingLink("user-context-menu"); + const hostingSignupOptions = SdkConfig.get().hosting_signup; if (MatrixClientPeg.get().isGuest()) { topSection = (
@@ -293,41 +294,45 @@ export default class UserMenu extends React.Component { })}
) - } else if (signupLink) { - topSection = ( -
- {_t( - "Upgrade to your own domain", {}, - { - a: sub => ( - {sub} - ), - }, - )} -
- ); - } - const hostingSignupOptions = SdkConfig.get().hosting_signup; - let hostingSignupIFrame; - if (hostingSignupOptions && hostingSignupOptions.url) { - // If hosting_signup_domains is set to a non-empty array, only show - // dialog if the user is on the domain or a subdomain. - const hostingSignupDomains = hostingSignupOptions.domains || []; - const mxDomain = MatrixClientPeg.get().getDomain(); - const validDomains = hostingSignupDomains.filter(d => (d === mxDomain || mxDomain.endsWith(`.${d}`))); - if (!hostingSignupDomains || validDomains.length > 0) { - hostingSignupIFrame =
- -
; + } else if (signupLink || hostingSignupOptions) { + let hostingSignupIFrame; + if (hostingSignupOptions && hostingSignupOptions.url) { + // If hosting_signup_domains is set to a non-empty array, only show + // dialog if the user is on the domain or a subdomain. + const hostingSignupDomains = hostingSignupOptions.domains || []; + const mxDomain = MatrixClientPeg.get().getDomain(); + const validDomains = hostingSignupDomains.filter(d => (d === mxDomain || mxDomain.endsWith(`.${d}`))); + if (!hostingSignupDomains || validDomains.length > 0) { + hostingSignupIFrame =
+ +
; + } } + topSection = ( + <> + {signupLink && +
+ {_t( + "Upgrade to your own domain", {}, + { + a: sub => ( + {sub} + ), + }, + )} +
+ } + {hostingSignupIFrame} + + ); } let homeButton = null; @@ -513,7 +518,6 @@ export default class UserMenu extends React.Component { {topSection} - {hostingSignupIFrame} {primaryOptionList} {secondarySection} ;