diff --git a/ui/app/AppLayouts/CommunitiesPortal/CommunitiesPortalLayout.qml b/ui/app/AppLayouts/CommunitiesPortal/CommunitiesPortalLayout.qml index 32f4397e5d..ffec376149 100644 --- a/ui/app/AppLayouts/CommunitiesPortal/CommunitiesPortalLayout.qml +++ b/ui/app/AppLayouts/CommunitiesPortal/CommunitiesPortalLayout.qml @@ -53,8 +53,12 @@ StatusSectionLayout { readonly property bool searchMode: searcher.text.length > 0 - function navigateToCommunity(communityId) { - root.communitiesStore.setActiveCommunity(communityId) + function navigateToCommunity(communityId: string, joined: bool) { + if (joined) { + root.communitiesStore.setActiveCommunity(communityId) + } else { + root.communitiesStore.spectateCommunity(communityId) + } } } @@ -161,7 +165,7 @@ StatusSectionLayout { model: searchModel searchLayout: d.searchMode - onCardClicked: d.navigateToCommunity(communityId) + onCardClicked: d.navigateToCommunity(communityId, joined) } StatusBaseText { diff --git a/ui/app/AppLayouts/CommunitiesPortal/stores/CommunitiesStore.qml b/ui/app/AppLayouts/CommunitiesPortal/stores/CommunitiesStore.qml index 06448a2636..d3fe6d893e 100644 --- a/ui/app/AppLayouts/CommunitiesPortal/stores/CommunitiesStore.qml +++ b/ui/app/AppLayouts/CommunitiesPortal/stores/CommunitiesStore.qml @@ -90,6 +90,10 @@ QtObject { mainModule.setActiveSectionById(communityId); } + function spectateCommunity(communityId: string) { + communitiesModuleInst.spectateCommunity(communityId, userProfile.name) + } + function setFileListItems(filePaths) { root.communitiesModuleInst.setFileListItems(filePaths) } diff --git a/ui/app/AppLayouts/CommunitiesPortal/views/CommunitiesGridView.qml b/ui/app/AppLayouts/CommunitiesPortal/views/CommunitiesGridView.qml index f7c686a71a..a3e0fd05a5 100644 --- a/ui/app/AppLayouts/CommunitiesPortal/views/CommunitiesGridView.qml +++ b/ui/app/AppLayouts/CommunitiesPortal/views/CommunitiesGridView.qml @@ -16,7 +16,7 @@ StatusScrollView { property var model property bool searchLayout: false - signal cardClicked(string communityId) + signal cardClicked(communityId: string, joined: bool) clip: false @@ -65,7 +65,7 @@ StatusScrollView { popularity: model.popularity // categories: model.categories - onClicked: root.cardClicked(communityId) + onClicked: root.cardClicked(communityId, model.joined) } }