162 lines
4.9 KiB
QML
162 lines
4.9 KiB
QML
import QtQuick 2.13
|
|
import QtQuick.Controls 2.13
|
|
import QtQuick.Layouts 1.13
|
|
import QtGraphicalEffects 1.13
|
|
import "../helpers/channelList.js" as ChannelJSON
|
|
|
|
import StatusQ.Core 0.1
|
|
import StatusQ.Core.Theme 0.1
|
|
import StatusQ.Controls 0.1 as StatusQControls
|
|
|
|
import shared 1.0
|
|
import shared.panels 1.0
|
|
import shared.popups 1.0
|
|
import shared.status 1.0
|
|
|
|
import utils 1.0
|
|
|
|
Rectangle {
|
|
id: emptyView
|
|
Layout.fillHeight: true
|
|
Layout.fillWidth: true
|
|
|
|
property var rootStore
|
|
|
|
signal suggestedMessageClicked(string channel)
|
|
|
|
height: suggestionContainer.height + inviteFriendsContainer.height + Style.current.padding * 2
|
|
border.color: Style.current.secondaryMenuBorder
|
|
radius: 16
|
|
color: Style.current.transparent
|
|
|
|
anchors.right: parent.right
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: Style.current.padding
|
|
anchors.rightMargin: Style.current.padding
|
|
|
|
Item {
|
|
id: inviteFriendsContainer
|
|
height: visible ? 190 : 0
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 0
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: 0
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: 0
|
|
|
|
SVGImage {
|
|
anchors.top: parent.top
|
|
anchors.topMargin: -6
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
source: Style.svg("chatEmptyHeader")
|
|
width: 66
|
|
height: 50
|
|
}
|
|
|
|
|
|
StatusQControls.StatusFlatRoundButton {
|
|
id: closeImg
|
|
implicitWidth: 32
|
|
implicitHeight: 32
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 10
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: 10
|
|
icon.height: 20
|
|
icon.width: 20
|
|
icon.name: "close-circle"
|
|
type: StatusQControls.StatusFlatRoundButton.Type.Tertiary
|
|
onClicked: {
|
|
localAccountSensitiveSettings.hideChannelSuggestions = true
|
|
}
|
|
}
|
|
|
|
StatusBaseText {
|
|
id: chatAndTransactText
|
|
//% "Chat and transact privately with your friends"
|
|
text: qsTrId("chat-and-transact-privately-with-your-friends")
|
|
anchors.top: parent.top
|
|
anchors.topMargin: 56
|
|
horizontalAlignment: Text.AlignHCenter
|
|
font.pixelSize: 15
|
|
wrapMode: Text.WordWrap
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: Style.current.xlPadding
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: Style.current.xlPadding
|
|
color: Theme.palette.directColor1
|
|
}
|
|
|
|
StatusQControls.StatusButton {
|
|
//% "Invite friends"
|
|
text: qsTrId("invite-friends")
|
|
anchors.horizontalCenter: parent.horizontalCenter
|
|
anchors.bottom: parent.bottom
|
|
anchors.bottomMargin: Style.current.xlPadding
|
|
onClicked: {
|
|
inviteFriendsPopup.open()
|
|
}
|
|
}
|
|
|
|
InviteFriendsPopup {
|
|
id: inviteFriendsPopup
|
|
rootStore: emptyView.rootStore
|
|
}
|
|
}
|
|
|
|
Separator {
|
|
anchors.topMargin: 0
|
|
anchors.top: inviteFriendsContainer.bottom
|
|
color: Style.current.border
|
|
}
|
|
|
|
Item {
|
|
id: suggestionContainer
|
|
anchors.top: inviteFriendsContainer.bottom
|
|
anchors.right: parent.right
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: Style.current.padding
|
|
anchors.rightMargin: Style.current.padding
|
|
|
|
height: {
|
|
if (!visible) return 0
|
|
var totalHeight = 0
|
|
for (let i = 0; i < sectionRepeater.count; i++) {
|
|
totalHeight += sectionRepeater.itemAt(i).height + Style.current.padding
|
|
}
|
|
return suggestionsText.height + totalHeight + Style.current.smallPadding
|
|
}
|
|
|
|
StatusBaseText {
|
|
id: suggestionsText
|
|
width: parent.width
|
|
//% "Follow your interests in one of the many Public Chats."
|
|
text: qsTrId("follow-your-interests-in-one-of-the-many-public-chats.")
|
|
anchors.top: parent.top
|
|
anchors.topMargin: Style.current.xlPadding
|
|
font.pointSize: 15
|
|
wrapMode: Text.WordWrap
|
|
verticalAlignment: Text.AlignTop
|
|
horizontalAlignment: Text.AlignHCenter
|
|
fontSizeMode: Text.FixedSize
|
|
renderType: Text.QtRendering
|
|
anchors.right: parent.right
|
|
anchors.rightMargin: Style.current.xlPadding
|
|
anchors.left: parent.left
|
|
anchors.leftMargin: Style.current.xlPadding
|
|
color: Theme.palette.directColor1
|
|
}
|
|
|
|
Item {
|
|
anchors.top: suggestionsText.bottom
|
|
anchors.topMargin: Style.current.smallPadding
|
|
width: parent.width
|
|
|
|
SuggestedChannelsPanel {
|
|
id: sectionRepeater
|
|
onSuggestedMessageClicked: emptyView.suggestedMessageClicked(channel)
|
|
}
|
|
}
|
|
}
|
|
}
|