128 lines
3.6 KiB
QML
128 lines
3.6 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
import QtQuick.Layouts 1.13
|
|
|
|
import "../../../imports"
|
|
import "../../../shared"
|
|
import "../../../shared/status"
|
|
import "./ContactsColumn"
|
|
import "./CommunityComponents"
|
|
|
|
Item {
|
|
// TODO unhardcode
|
|
property int chatGroupsListViewCount: channelList.channelListCount
|
|
|
|
id: root
|
|
Layout.fillHeight: true
|
|
|
|
Component {
|
|
id: createChannelPopup
|
|
CreateChannelPopup {
|
|
onClosed: {
|
|
destroy()
|
|
}
|
|
}
|
|
}
|
|
|
|
Item {
|
|
id: communityHeader
|
|
width: parent.width
|
|
height: communityHeaderButton.height
|
|
anchors.top: parent.top
|
|
anchors.topMargin: Style.current.padding
|
|
|
|
StatusIconButton {
|
|
id: backArrow
|
|
icon.name: "arrow-right"
|
|
iconRotation: 180
|
|
iconColor: Style.current.inputColor
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: Style.current.bigPadding
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
onClicked: chatsModel.activeCommunity.active = false
|
|
}
|
|
|
|
CommunityHeaderButton {
|
|
id: communityHeaderButton
|
|
anchors.left: backArrow.right
|
|
anchors.top: parent.top
|
|
anchors.topMargin: -4
|
|
}
|
|
|
|
StatusIconButton {
|
|
id: optionsBtn
|
|
icon.name: "dots-icon"
|
|
iconColor: Style.current.inputColor
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: Style.current.bigPadding
|
|
anchors.verticalCenter: parent.verticalCenter
|
|
onClicked: {
|
|
optionsMenu.open()
|
|
}
|
|
}
|
|
|
|
PopupMenu {
|
|
id: optionsMenu
|
|
x: optionsBtn.x + optionsBtn.width / 2 - optionsMenu.width / 2
|
|
y: optionsBtn.height
|
|
|
|
Action {
|
|
enabled: chatsModel.activeCommunity.admin
|
|
text: qsTrId("Create channel")
|
|
icon.source: "../../img/hash.svg"
|
|
icon.width: 20
|
|
icon.height: 20
|
|
onTriggered: openPopup(createChannelPopup, {communityId: chatsModel.activeCommunity.id})
|
|
}
|
|
|
|
Action {
|
|
text: qsTrId("Leave community")
|
|
icon.source: "../../img/delete.svg"
|
|
icon.color: Style.current.red
|
|
icon.width: 20
|
|
icon.height: 20
|
|
onTriggered: chatsModel.leaveCurrentCommunity()
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
ScrollView {
|
|
id: chatGroupsContainer
|
|
anchors.top: communityHeader.bottom
|
|
anchors.topMargin: Style.current.padding
|
|
anchors.bottom: parent.bottom
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
leftPadding: Style.current.halfPadding
|
|
rightPadding: Style.current.halfPadding
|
|
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
|
contentHeight: channelList.height + emptyViewAndSuggestions.height + 2 * Style.current.padding
|
|
clip: true
|
|
|
|
ChannelList {
|
|
id: channelList
|
|
searchStr: ""
|
|
channelModel: chatsModel.activeCommunity.chats
|
|
}
|
|
|
|
CommunityWelcomeBanner {
|
|
id: emptyViewAndSuggestions
|
|
visible: chatsModel.activeCommunity.admin
|
|
width: parent.width
|
|
anchors.top: channelList.bottom
|
|
anchors.topMargin: Style.current.padding
|
|
}
|
|
|
|
CommunityProfilePopup {
|
|
id: communityProfilePopup
|
|
}
|
|
}
|
|
}
|
|
|
|
/*##^##
|
|
Designer {
|
|
D{i:0;autoSize:true;formeditorColor:"#ffffff";height:480;width:640}
|
|
}
|
|
##^##*/
|