2020-12-11 20:29:46 +00:00
|
|
|
|
import QtQuick 2.13
|
|
|
|
|
import QtQuick.Controls 2.13
|
2021-07-02 12:34:01 +00:00
|
|
|
|
import QtQuick.Dialogs 1.2
|
2021-02-10 20:37:17 +00:00
|
|
|
|
import QtGraphicalEffects 1.13
|
2020-12-11 20:29:46 +00:00
|
|
|
|
import QtQuick.Layouts 1.13
|
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
import StatusQ.Components 0.1
|
|
|
|
|
import StatusQ.Popups 0.1
|
|
|
|
|
|
2021-09-28 15:04:06 +00:00
|
|
|
|
|
|
|
|
|
import utils 1.0
|
2021-10-27 21:27:49 +00:00
|
|
|
|
import shared 1.0
|
|
|
|
|
import shared.popups 1.0
|
|
|
|
|
import shared.status 1.0
|
2021-10-01 15:58:36 +00:00
|
|
|
|
import "../popups/community"
|
|
|
|
|
import "../panels/communities"
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
|
|
|
|
Item {
|
2021-07-22 14:53:19 +00:00
|
|
|
|
id: root
|
|
|
|
|
width: 304
|
|
|
|
|
height: parent.height
|
|
|
|
|
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Important:
|
|
|
|
|
// We're here in case of CommunitySection
|
|
|
|
|
// This module is set from `ChatLayout` (each `ChatLayout` has its own communitySectionModule)
|
|
|
|
|
property var communitySectionModule
|
|
|
|
|
|
2021-10-21 22:39:53 +00:00
|
|
|
|
property var store
|
2020-12-11 20:29:46 +00:00
|
|
|
|
// TODO unhardcode
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
//property int chatGroupsListViewCount: communityChatListAndCategories.chatList.count
|
2021-06-02 19:43:33 +00:00
|
|
|
|
property Component pinnedMessagesPopupComponent
|
2020-12-11 20:29:46 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusChatInfoToolBar {
|
2020-12-11 20:29:46 +00:00
|
|
|
|
id: communityHeader
|
|
|
|
|
anchors.top: parent.top
|
2021-07-02 12:34:01 +00:00
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
|
|
|
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
// chatInfoButton.title: root.store.chatsModelInst.communities.activeCommunity.name
|
|
|
|
|
// chatInfoButton.subTitle: root.store.chatsModelInst.communities.activeCommunity.nbMembers === 1 ?
|
|
|
|
|
// //% "1 Member"
|
|
|
|
|
// qsTrId("1-member") :
|
|
|
|
|
// //% "%1 Members"
|
|
|
|
|
// qsTrId("-1-members").arg(root.store.chatsModelInst.communities.activeCommunity.nbMembers)
|
|
|
|
|
// chatInfoButton.image.source: root.store.chatsModelInst.communities.activeCommunity.thumbnailImage
|
|
|
|
|
// chatInfoButton.icon.color: root.store.chatsModelInst.communities.activeCommunity.communityColor
|
|
|
|
|
// menuButton.visible: root.store.chatsModelInst.communities.activeCommunity.admin && root.store.chatsModelInst.communities.activeCommunity.canManageUsers
|
2021-12-07 20:33:12 +00:00
|
|
|
|
// chatInfoButton.onClicked: Global.openPopup(communityProfilePopup, {
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// store: root.store,
|
|
|
|
|
// community: root.store.chatsModelInst.communities.activeCommunity
|
|
|
|
|
// })
|
2021-07-16 12:36:27 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
popupMenu: StatusPopupMenu {
|
|
|
|
|
StatusMenuItem {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Create channel"
|
|
|
|
|
text: qsTrId("create-channel")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "channel"
|
2021-11-26 15:37:57 +00:00
|
|
|
|
//enabled: root.store.chatsModelInst.communities.activeCommunity.admin
|
2021-12-07 20:33:12 +00:00
|
|
|
|
onTriggered: Global.openPopup(createChannelPopup, {communityId: chatsModel.communities.activeCommunity.id})
|
2020-12-11 20:29:46 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusMenuItem {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Create category"
|
|
|
|
|
text: qsTrId("create-category")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "channel-category"
|
2021-11-26 15:37:57 +00:00
|
|
|
|
//enabled: root.store.chatsModelInst.communities.activeCommunity.admin
|
2021-12-07 20:33:12 +00:00
|
|
|
|
onTriggered: Global.openPopup(createCategoryPopup, {communityId: chatsModel.communities.activeCommunity.id})
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-05-04 18:39:36 +00:00
|
|
|
|
|
2021-07-16 08:36:34 +00:00
|
|
|
|
StatusMenuSeparator {}
|
2021-05-04 18:39:36 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusMenuItem {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Invite people"
|
|
|
|
|
text: qsTrId("invite-people")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "share-ios"
|
2021-11-26 15:37:57 +00:00
|
|
|
|
//enabled: root.store.chatsModelInst.communities.activeCommunity.canManageUsers
|
2021-12-07 20:33:12 +00:00
|
|
|
|
onTriggered: Global.openPopup(inviteFriendsToCommunityPopup, {
|
2021-10-21 22:39:53 +00:00
|
|
|
|
community: root.store.chatsModelInst.communities.activeCommunity
|
2021-07-21 09:49:03 +00:00
|
|
|
|
})
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-05-04 18:39:36 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2021-02-11 19:06:39 +00:00
|
|
|
|
Loader {
|
2021-07-02 12:34:01 +00:00
|
|
|
|
id: membershipRequests
|
2021-02-10 20:37:17 +00:00
|
|
|
|
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
property int nbRequests: 0
|
|
|
|
|
//property int nbRequests: root.store.chatsModelInst.communities.activeCommunity.communityMembershipRequests.nbRequests
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
|
|
|
|
anchors.top: communityHeader.bottom
|
|
|
|
|
anchors.topMargin: active ? 8 : 0
|
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
|
|
|
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
active: nbRequests > 0
|
|
|
|
|
//active: root.store.chatsModelInst.communities.activeCommunity.admin && nbRequests > 0
|
2021-07-20 09:50:36 +00:00
|
|
|
|
height: nbRequests > 0 ? 64 : 0
|
2021-02-11 19:06:39 +00:00
|
|
|
|
sourceComponent: Component {
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusContactRequestsIndicatorListItem {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Membership requests"
|
|
|
|
|
title: qsTrId("membership-requests")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
requestsCount: membershipRequests.nbRequests
|
2021-12-07 20:33:12 +00:00
|
|
|
|
sensor.onClicked: Global.openPopup(membershipRequestPopup)
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-02-10 20:37:17 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2020-12-11 20:29:46 +00:00
|
|
|
|
ScrollView {
|
|
|
|
|
id: chatGroupsContainer
|
2021-07-02 12:34:01 +00:00
|
|
|
|
anchors.top: membershipRequests.bottom
|
2020-12-11 20:29:46 +00:00
|
|
|
|
anchors.topMargin: Style.current.padding
|
|
|
|
|
anchors.bottom: parent.bottom
|
2021-07-02 12:34:01 +00:00
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
|
|
|
|
|
|
|
|
width: parent.width
|
|
|
|
|
|
2020-12-11 20:29:46 +00:00
|
|
|
|
leftPadding: Style.current.halfPadding
|
|
|
|
|
rightPadding: Style.current.halfPadding
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
2020-12-11 20:29:46 +00:00
|
|
|
|
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
|
|
|
|
clip: true
|
2021-07-02 12:34:01 +00:00
|
|
|
|
contentHeight: communityChatListAndCategories.height
|
|
|
|
|
+ emptyViewAndSuggestionsLoader.height
|
|
|
|
|
+ backUpBannerLoader.height
|
|
|
|
|
+ 16
|
|
|
|
|
|
|
|
|
|
StatusChatListAndCategories {
|
|
|
|
|
id: communityChatListAndCategories
|
|
|
|
|
|
|
|
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
|
|
|
width: root.width
|
|
|
|
|
height: {
|
|
|
|
|
if (!emptyViewAndSuggestionsLoader.active &&
|
|
|
|
|
!backUpBannerLoader.active) {
|
|
|
|
|
return implicitHeight > (root.height - 82) ? implicitHeight + 8 : root.height - 82
|
|
|
|
|
}
|
|
|
|
|
return implicitHeight
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// draggableItems: root.store.chatsModelInst.communities.activeCommunity.admin
|
|
|
|
|
// draggableCategories: root.store.chatsModelInst.communities.activeCommunity.admin
|
|
|
|
|
//chatList.model: root.store.chatsModelInst.communities.activeCommunity.chats
|
|
|
|
|
|
|
|
|
|
//categoryList.model: root.store.chatsModelInst.communities.activeCommunity.categories
|
|
|
|
|
model: root.communitySectionModule.model
|
|
|
|
|
onChatItemSelected: {
|
|
|
|
|
if(categoryId === "")
|
|
|
|
|
root.communitySectionModule.setActiveItem(id, "")
|
|
|
|
|
else
|
|
|
|
|
root.communitySectionModule.setActiveItem(categoryId, id)
|
|
|
|
|
}
|
2021-07-28 12:40:51 +00:00
|
|
|
|
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// showCategoryActionButtons: root.store.chatsModelInst.communities.activeCommunity.admin
|
|
|
|
|
// showPopupMenu: root.store.chatsModelInst.communities.activeCommunity.admin && chatsModel.communities.activeCommunity.canManageUsers
|
|
|
|
|
//selectedChatId: root.store.chatsModelInst.channelView.activeChannel.id
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// onChatItemSelected: root.store.chatsModelInst.channelView.setActiveChannel(id)
|
|
|
|
|
// onChatItemUnmuted: root.store.chatsModelInst.channelView.unmuteChatItem(id)
|
|
|
|
|
// onChatItemReordered: function (categoryId, id, from, to) {
|
|
|
|
|
// root.store.chatsModelInst.communities.reorderCommunityChannel(chatsModel.communities.activeCommunity.id, categoryId, id, to);
|
|
|
|
|
// }
|
|
|
|
|
// onChatListCategoryReordered: function (categoryId, from, to) {
|
|
|
|
|
// root.store.chatsModelInst.communities.reorderCommunityCategories(chatsModel.communities.activeCommunity.id, categoryId, to);
|
|
|
|
|
// }
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
2021-12-07 20:33:12 +00:00
|
|
|
|
// onCategoryAddButtonClicked: Global.openPopup(createChannelPopup, {
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// communityId: root.store.chatsModelInst.communities.activeCommunity.id,
|
|
|
|
|
// categoryId: id
|
|
|
|
|
// })
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
|
|
|
|
popupMenu: StatusPopupMenu {
|
|
|
|
|
StatusMenuItem {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Create channel"
|
|
|
|
|
text: qsTrId("create-channel")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "channel"
|
|
|
|
|
enabled: chatsModel.communities.activeCommunity.admin
|
2021-12-07 20:33:12 +00:00
|
|
|
|
onTriggered: Global.openPopup(createChannelPopup, {communityId: root.store.chatsModelInst.communities.activeCommunity.id})
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
StatusMenuItem {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Create category"
|
|
|
|
|
text: qsTrId("create-category")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "channel-category"
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
enabled: false
|
|
|
|
|
//enabled: root.store.chatsModelInst.communities.activeCommunity.admin
|
2021-12-07 20:33:12 +00:00
|
|
|
|
onTriggered: Global.openPopup(createCategoryPopup, {communityId: root.store.chatsModelInst.communities.activeCommunity.id})
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2020-12-11 20:29:46 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusMenuSeparator {}
|
2021-06-25 09:13:54 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusMenuItem {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Invite people"
|
|
|
|
|
text: qsTrId("invite-people")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "share-ios"
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
enabled: false
|
|
|
|
|
//enabled: root.store.chatsModelInst.communities.activeCommunity.canManageUsers
|
2021-12-07 20:33:12 +00:00
|
|
|
|
onTriggered: Global.openPopup(inviteFriendsToCommunityPopup, {
|
2021-10-21 22:39:53 +00:00
|
|
|
|
community: root.store.chatsModelInst.communities.activeCommunity
|
2021-07-21 09:49:03 +00:00
|
|
|
|
})
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
categoryPopupMenu: StatusPopupMenu {
|
|
|
|
|
|
|
|
|
|
property var categoryItem
|
|
|
|
|
|
|
|
|
|
openHandler: function (id) {
|
2021-10-21 22:39:53 +00:00
|
|
|
|
categoryItem = root.store.chatsModelInst.communities.activeCommunity.getCommunityCategoryItemById(id)
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-06-25 09:13:54 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusMenuItem {
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
enabled: true
|
|
|
|
|
//enabled: root.store.chatsModelInst.communities.activeCommunity.admin
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Edit Category"
|
|
|
|
|
text: qsTrId("edit-category")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "edit"
|
|
|
|
|
onTriggered: {
|
2021-12-07 20:33:12 +00:00
|
|
|
|
Global.openPopup(createCategoryPopup, {
|
2021-10-21 22:39:53 +00:00
|
|
|
|
communityId: root.store.chatsModelInst.communities.activeCommunity.id,
|
2021-07-02 12:34:01 +00:00
|
|
|
|
isEdit: true,
|
|
|
|
|
categoryId: categoryItem.id,
|
|
|
|
|
categoryName: categoryItem.name
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-06-25 09:13:54 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusMenuSeparator {
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
visible: true
|
|
|
|
|
//visible: root.store.chatsModelInst.communities.activeCommunity.admin
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-06-25 09:13:54 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
StatusMenuItem {
|
2021-11-26 15:37:57 +00:00
|
|
|
|
// Not Refactored Yet
|
|
|
|
|
enabled: true
|
|
|
|
|
//enabled: root.store.chatsModelInst.communities.activeCommunity.admin
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Delete Category"
|
|
|
|
|
text: qsTrId("delete-category")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon.name: "delete"
|
|
|
|
|
type: StatusMenuItem.Type.Danger
|
|
|
|
|
onTriggered: {
|
2021-12-07 20:33:12 +00:00
|
|
|
|
Global.openPopup(deleteCategoryConfirmationDialogComponent, {
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Delete %1 category"
|
|
|
|
|
title: qsTrId("delete--1-category").arg(categoryItem.name),
|
|
|
|
|
//% "Are you sure you want to delete %1 category? Channels inside the category won’t be deleted."
|
|
|
|
|
confirmationText: qsTrId("are-you-sure-you-want-to-delete--1-category--channels-inside-the-category-won-t-be-deleted-")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
.arg(categoryItem.name),
|
|
|
|
|
categoryId: categoryItem.id
|
|
|
|
|
})
|
|
|
|
|
}
|
2021-06-25 09:13:54 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2021-10-01 15:58:36 +00:00
|
|
|
|
chatListPopupMenu: ChatContextMenuView {
|
2021-11-03 19:35:12 +00:00
|
|
|
|
id: chatContextMenuView
|
2021-12-09 12:53:40 +00:00
|
|
|
|
|
2021-07-02 12:34:01 +00:00
|
|
|
|
openHandler: function (id) {
|
2021-12-09 12:53:40 +00:00
|
|
|
|
let jsonObj = root.communitySectionModule.getItemAsJson(id)
|
|
|
|
|
let obj = JSON.parse(jsonObj)
|
|
|
|
|
if (obj.error) {
|
|
|
|
|
console.error("error parsing chat item json object, id: ", id, " error: ", obj.error)
|
|
|
|
|
close()
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
isCommunityChat = root.communitySectionModule.isCommunity()
|
|
|
|
|
chatId = obj.itemId
|
|
|
|
|
chatName = obj.name
|
|
|
|
|
chatType = obj.type
|
|
|
|
|
chatMuted = obj.muted
|
|
|
|
|
|
|
|
|
|
// TODO
|
|
|
|
|
//currentFleet
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onMuteChat: {
|
|
|
|
|
root.communitySectionModule.muteChat(id)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
onUnmuteChat: {
|
|
|
|
|
root.communitySectionModule.unmuteChat(id)
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-12-08 11:10:34 +00:00
|
|
|
|
|
|
|
|
|
onMarkAllMessagesRead: {
|
|
|
|
|
root.communitySectionModule.markAllMessagesRead(id)
|
|
|
|
|
}
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-05-16 15:16:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-04-28 19:03:41 +00:00
|
|
|
|
Loader {
|
|
|
|
|
id: emptyViewAndSuggestionsLoader
|
2021-11-02 19:39:18 +00:00
|
|
|
|
active: root.store.chatsModelInst.communities.activeCommunity.admin &&
|
|
|
|
|
(!localAccountSensitiveSettings.hiddenCommunityWelcomeBanners ||
|
|
|
|
|
!localAccountSensitiveSettings.hiddenCommunityWelcomeBanners.includes(root.store.chatsModelInst.communities.activeCommunity.id))
|
2020-12-11 20:29:46 +00:00
|
|
|
|
width: parent.width
|
2021-04-28 19:03:41 +00:00
|
|
|
|
height: active ? item.height : 0
|
2021-07-02 12:34:01 +00:00
|
|
|
|
anchors.top: communityChatListAndCategories.bottom
|
2021-04-28 19:03:41 +00:00
|
|
|
|
anchors.topMargin: active ? Style.current.padding : 0
|
|
|
|
|
sourceComponent: Component {
|
2021-10-21 00:41:54 +00:00
|
|
|
|
CommunityWelcomeBannerPanel {
|
2021-10-21 22:39:53 +00:00
|
|
|
|
activeCommunity: store.activeCommunity
|
2021-11-02 19:39:18 +00:00
|
|
|
|
store: root.store
|
2021-10-21 00:41:54 +00:00
|
|
|
|
}
|
2021-04-28 19:03:41 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
2021-04-28 19:03:41 +00:00
|
|
|
|
Loader {
|
|
|
|
|
id: backUpBannerLoader
|
2021-11-02 19:39:18 +00:00
|
|
|
|
active: root.store.chatsModelInst.communities.activeCommunity.admin &&
|
|
|
|
|
(!localAccountSensitiveSettings.hiddenCommunityBackUpBanners ||
|
|
|
|
|
!localAccountSensitiveSettings.hiddenCommunityBackUpBanners.includes(root.store.chatsModelInst.communities.activeCommunity.id))
|
2021-04-28 19:03:41 +00:00
|
|
|
|
width: parent.width
|
|
|
|
|
height: active ? item.height : 0
|
|
|
|
|
anchors.top: emptyViewAndSuggestionsLoader.bottom
|
|
|
|
|
anchors.topMargin: active ? Style.current.padding : 0
|
|
|
|
|
sourceComponent: Component {
|
2021-06-29 17:42:13 +00:00
|
|
|
|
Item {
|
|
|
|
|
width: parent.width
|
|
|
|
|
height: backupBanner.height
|
|
|
|
|
|
2021-10-01 15:58:36 +00:00
|
|
|
|
BackUpCommuntyBannerPanel {
|
2021-06-29 17:42:13 +00:00
|
|
|
|
id: backupBanner
|
2021-11-02 19:39:18 +00:00
|
|
|
|
activeCommunity: store.activeCommunity
|
2021-11-11 10:45:59 +00:00
|
|
|
|
onBackupButtonClicked: {
|
2021-12-07 20:33:12 +00:00
|
|
|
|
Global.openPopup(transferOwnershipPopup, {
|
2021-11-11 10:45:59 +00:00
|
|
|
|
privateKey: root.store.exportCommunity(),
|
|
|
|
|
store: root.store
|
|
|
|
|
})
|
|
|
|
|
}
|
2021-06-29 17:42:13 +00:00
|
|
|
|
}
|
|
|
|
|
MouseArea {
|
|
|
|
|
anchors.fill: backupBanner
|
|
|
|
|
acceptedButtons: Qt.RightButton
|
|
|
|
|
onClicked: {
|
|
|
|
|
/* Prevents sending events to the component beneath
|
|
|
|
|
if Right Mouse Button is clicked. */
|
|
|
|
|
mouse.accepted = false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-04-28 19:03:41 +00:00
|
|
|
|
}
|
2020-12-11 20:29:46 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2021-07-02 12:34:01 +00:00
|
|
|
|
|
|
|
|
|
Component {
|
|
|
|
|
id: createChannelPopup
|
|
|
|
|
CreateChannelPopup {
|
2021-07-07 12:45:11 +00:00
|
|
|
|
anchors.centerIn: parent
|
2021-10-22 20:49:47 +00:00
|
|
|
|
store: root.store
|
2021-07-02 12:34:01 +00:00
|
|
|
|
pinnedMessagesPopupComponent: root.pinnedMessagesPopupComponent
|
|
|
|
|
onClosed: {
|
|
|
|
|
destroy()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Component {
|
|
|
|
|
id: createCategoryPopup
|
|
|
|
|
CreateCategoryPopup {
|
2021-07-09 10:09:03 +00:00
|
|
|
|
anchors.centerIn: parent
|
2021-10-22 20:49:47 +00:00
|
|
|
|
store: root.store
|
2021-07-02 12:34:01 +00:00
|
|
|
|
onClosed: {
|
|
|
|
|
destroy()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Component {
|
|
|
|
|
id: deleteCategoryConfirmationDialogComponent
|
|
|
|
|
ConfirmationDialog {
|
|
|
|
|
property string categoryId
|
|
|
|
|
btnType: "warn"
|
|
|
|
|
showCancelButton: true
|
|
|
|
|
onClosed: {
|
|
|
|
|
destroy()
|
|
|
|
|
}
|
|
|
|
|
onCancelButtonClicked: {
|
|
|
|
|
close();
|
|
|
|
|
}
|
|
|
|
|
onConfirmButtonClicked: function(){
|
2021-10-21 22:39:53 +00:00
|
|
|
|
const error = root.store.chatsModelInst.communities.deleteCommunityCategory(root.store.chatsModelInst.communities.activeCommunity.id, categoryId)
|
2021-07-02 12:34:01 +00:00
|
|
|
|
if (error) {
|
|
|
|
|
creatingError.text = error
|
|
|
|
|
return creatingError.open()
|
|
|
|
|
}
|
|
|
|
|
close();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
MessageDialog {
|
|
|
|
|
id: deleteError
|
2021-07-16 20:22:50 +00:00
|
|
|
|
//% "Error deleting the category"
|
|
|
|
|
title: qsTrId("error-deleting-the-category")
|
2021-07-02 12:34:01 +00:00
|
|
|
|
icon: StandardIcon.Critical
|
|
|
|
|
standardButtons: StandardButton.Ok
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-20 09:50:36 +00:00
|
|
|
|
Component {
|
2021-07-02 12:34:01 +00:00
|
|
|
|
id: membershipRequestPopup
|
2021-07-20 09:50:36 +00:00
|
|
|
|
MembershipRequestsPopup {
|
|
|
|
|
anchors.centerIn: parent
|
2021-10-22 20:49:47 +00:00
|
|
|
|
store: root.store
|
2021-07-20 09:50:36 +00:00
|
|
|
|
onClosed: {
|
|
|
|
|
destroy()
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-07-02 12:34:01 +00:00
|
|
|
|
}
|
2021-07-20 09:50:36 +00:00
|
|
|
|
|
2021-11-11 10:45:59 +00:00
|
|
|
|
Component {
|
|
|
|
|
id: transferOwnershipPopup
|
|
|
|
|
TransferOwnershipPopup {
|
|
|
|
|
anchors.centerIn: parent
|
|
|
|
|
onClosed: {
|
|
|
|
|
let hiddenBannerIds = localAccountSensitiveSettings.hiddenCommunityBackUpBanners || []
|
|
|
|
|
if (hiddenBannerIds.includes(root.store.activeCommunity.id)) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
hiddenBannerIds.push(root.store.activeCommunity.id)
|
|
|
|
|
localAccountSensitiveSettings.hiddenCommunityBackUpBanners = hiddenBannerIds
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-12-11 20:29:46 +00:00
|
|
|
|
}
|