feat: add new import community popup
This commit is contained in:
parent
a47847b40f
commit
534cb23e18
|
@ -7,43 +7,41 @@ import "../../../../shared"
|
||||||
import "../../../../shared/status"
|
import "../../../../shared/status"
|
||||||
|
|
||||||
ModalPopup {
|
ModalPopup {
|
||||||
property string keyValidationError: ""
|
|
||||||
|
|
||||||
id: popup
|
id: popup
|
||||||
height: 300
|
width: 400
|
||||||
|
height: 400
|
||||||
|
|
||||||
onOpened: {
|
title: qsTr("Access existing community")
|
||||||
keyInput.forceActiveFocus(Qt.MouseFocusReason)
|
|
||||||
|
onClosed: {
|
||||||
|
popup.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
function validate() {
|
Item {
|
||||||
keyValidationError = ""
|
anchors.fill: parent
|
||||||
|
|
||||||
if (keyInput.text === "") {
|
StyledTextArea {
|
||||||
//% "You need to enter a key"
|
id: pKeyTextArea
|
||||||
keyValidationError = qsTrId("you-need-to-enter-a-key")
|
label: qsTr("Community private key")
|
||||||
|
placeholderText: "0x0..."
|
||||||
|
customHeight: 110
|
||||||
}
|
}
|
||||||
|
|
||||||
return !keyValidationError
|
StyledText {
|
||||||
}
|
id: infoText1
|
||||||
|
text: qsTr("Entering a community key will grant you the ownership of that community. Please be responsible with it and don’t share the key with people you don’t trust.")
|
||||||
//% "Import a community"
|
anchors.top: pKeyTextArea.bottom
|
||||||
title: qsTrId("import-community")
|
wrapMode: Text.WordWrap
|
||||||
|
anchors.topMargin: Style.current.bigPadding
|
||||||
|
width: parent.width
|
||||||
Input {
|
font.pixelSize: 13
|
||||||
id: keyInput
|
color: Style.current.secondaryText
|
||||||
//% "Community key"
|
}
|
||||||
label: qsTrId("community-key")
|
|
||||||
//% "0x..."
|
|
||||||
placeholderText: qsTrId("0x---")
|
|
||||||
validationError: popup.keyValidationError
|
|
||||||
pasteFromClipboard: true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
footer: StatusButton {
|
footer: StatusButton {
|
||||||
//% "Import"
|
id: btnBack
|
||||||
text: qsTrId("import")
|
text: qsTr("Import")
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if (!validate()) {
|
if (!validate()) {
|
||||||
|
@ -67,11 +65,9 @@ ModalPopup {
|
||||||
|
|
||||||
MessageDialog {
|
MessageDialog {
|
||||||
id: creatingError
|
id: creatingError
|
||||||
//% "Error importing the community"
|
title: qsTr("Error importing the community")
|
||||||
title: qsTrId("error-importing-the-community")
|
|
||||||
icon: StandardIcon.Critical
|
icon: StandardIcon.Critical
|
||||||
standardButtons: StandardButton.Ok
|
standardButtons: StandardButton.Ok
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,75 @@ ModalPopup {
|
||||||
searchBox.forceActiveFocus(Qt.MouseFocusReason)
|
searchBox.forceActiveFocus(Qt.MouseFocusReason)
|
||||||
}
|
}
|
||||||
|
|
||||||
//% "Communities"
|
header: Item {
|
||||||
title: qsTrId("communities")
|
height: childrenRect.height
|
||||||
|
width: parent.width
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
id: groupName
|
||||||
|
text: qsTr("Communities")
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
font.bold: true
|
||||||
|
font.pixelSize: 17
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
id: moreActionsBtnContainer
|
||||||
|
width: 32
|
||||||
|
height: 32
|
||||||
|
radius: Style.current.radius
|
||||||
|
color: Style.current.transparent
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.rightMargin: 40
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: -5
|
||||||
|
|
||||||
|
StyledText {
|
||||||
|
id: moreActionsBtn
|
||||||
|
text: "..."
|
||||||
|
font.letterSpacing: 0.5
|
||||||
|
font.bold: true
|
||||||
|
lineHeight: 1.4
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
font.pixelSize: 25
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
id: mouseArea
|
||||||
|
anchors.fill: parent
|
||||||
|
hoverEnabled: true
|
||||||
|
onEntered: {
|
||||||
|
parent.color = Style.current.border
|
||||||
|
}
|
||||||
|
onExited: {
|
||||||
|
parent.color = Style.current.transparent
|
||||||
|
}
|
||||||
|
onClicked: contextMenu.popup(-contextMenu.width + moreActionsBtn.width, moreActionsBtn.height - Style.current.smallPadding)
|
||||||
|
}
|
||||||
|
|
||||||
|
PopupMenu {
|
||||||
|
id: contextMenu
|
||||||
|
Action {
|
||||||
|
icon.source: "../../../img/import.svg"
|
||||||
|
icon.width: 16
|
||||||
|
icon.height: 16
|
||||||
|
text: qsTr("Access exisitng community")
|
||||||
|
onTriggered: openPopup(importCommunitiesPopupComponent)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Separator {
|
||||||
|
anchors.top: groupName.bottom
|
||||||
|
anchors.topMargin: Style.current.padding
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.rightMargin: -Style.current.padding
|
||||||
|
anchors.leftMargin: -Style.current.padding
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
SearchBox {
|
SearchBox {
|
||||||
id: searchBox
|
id: searchBox
|
||||||
|
@ -138,31 +205,13 @@ ModalPopup {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
footer: Item {
|
footer: StatusButton {
|
||||||
width: parent.width
|
id: createBtn
|
||||||
height: importBtn.height
|
text: qsTr("Create a community")
|
||||||
|
anchors.right: parent.right
|
||||||
StatusButton {
|
onClicked: {
|
||||||
id: importBtn
|
openPopup(createCommunitiesPopupComponent)
|
||||||
//% "Import a community"
|
popup.close()
|
||||||
text: qsTrId("import-community")
|
|
||||||
anchors.right: createBtn.left
|
|
||||||
anchors.rightMargin: Style.current.smallPadding
|
|
||||||
onClicked: {
|
|
||||||
openPopup(importCommunitiesPopupComponent)
|
|
||||||
popup.close()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
StatusButton {
|
|
||||||
id: createBtn
|
|
||||||
//% "Create a community"
|
|
||||||
text: qsTrId("create-community")
|
|
||||||
anchors.right: parent.right
|
|
||||||
onClicked: {
|
|
||||||
openPopup(createCommunitiesPopupComponent)
|
|
||||||
popup.close()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,10 @@ ModalPopup {
|
||||||
|
|
||||||
title: qsTr("Transfer ownership")
|
title: qsTr("Transfer ownership")
|
||||||
|
|
||||||
|
onClosed: {
|
||||||
|
popup.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ Item {
|
||||||
|
|
||||||
Component {
|
Component {
|
||||||
id: importCommunitiesPopupComponent
|
id: importCommunitiesPopupComponent
|
||||||
ImportCommunityPopup {
|
AccessExistingCommunityPopup {
|
||||||
onClosed: {
|
onClosed: {
|
||||||
destroy()
|
destroy()
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M10.6667 8.83331C10.6667 8.55717 10.8922 8.33768 11.1646 8.29218C12.5845 8.05501 13.6667 6.82054 13.6667 5.33331C13.6667 3.67646 12.3235 2.33331 10.6667 2.33331L5.33333 2.33331C3.67648 2.33331 2.33333 3.67646 2.33333 5.33331C2.33333 6.82054 3.41554 8.05501 4.83543 8.29218C5.1078 8.33768 5.33333 8.55717 5.33333 8.83331C5.33333 9.10946 5.10836 9.33659 4.83433 9.30249C2.86069 9.05688 1.33333 7.37347 1.33333 5.33331C1.33333 3.12418 3.12419 1.33331 5.33333 1.33331L10.6667 1.33331C12.8758 1.33331 14.6667 3.12417 14.6667 5.33331C14.6667 7.37347 13.1393 9.05688 11.1657 9.30249C10.8916 9.33659 10.6667 9.10946 10.6667 8.83331Z" fill="#4360DF"/>
|
||||||
|
<path d="M8 4.83331C8.27614 4.83331 8.5 5.05717 8.5 5.33331V11.9881C8.5 12.2851 8.85905 12.4338 9.06904 12.2238L10.3131 10.9798C10.5084 10.7845 10.825 10.7845 11.0202 10.9798C11.2155 11.175 11.2155 11.4916 11.0202 11.6869L8.35355 14.3535C8.15829 14.5488 7.84171 14.5488 7.64645 14.3535L4.97978 11.6869C4.78452 11.4916 4.78452 11.175 4.97978 10.9798C5.17504 10.7845 5.49163 10.7845 5.68689 10.9798L6.93096 12.2238C7.14095 12.4338 7.5 12.2851 7.5 11.9881V5.33331C7.5 5.05717 7.72386 4.83331 8 4.83331Z" fill="#4360DF"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
|
@ -126,6 +126,7 @@ DISTFILES += \
|
||||||
app/AppLayouts/Chat/ChatColumn/MessageComponents/UsernameLabel.qml \
|
app/AppLayouts/Chat/ChatColumn/MessageComponents/UsernameLabel.qml \
|
||||||
app/AppLayouts/Chat/ChatColumn/MessageComponents/qmldir \
|
app/AppLayouts/Chat/ChatColumn/MessageComponents/qmldir \
|
||||||
app/AppLayouts/Chat/CommunityColumn.qml \
|
app/AppLayouts/Chat/CommunityColumn.qml \
|
||||||
|
app/AppLayouts/Chat/CommunityComponents/AccessExistingCommunityPopup.qml \
|
||||||
app/AppLayouts/Chat/CommunityComponents/CommunitiesPopup.qml \
|
app/AppLayouts/Chat/CommunityComponents/CommunitiesPopup.qml \
|
||||||
app/AppLayouts/Chat/CommunityComponents/CommunityButton.qml \
|
app/AppLayouts/Chat/CommunityComponents/CommunityButton.qml \
|
||||||
app/AppLayouts/Chat/CommunityComponents/CommunityDetailPopup.qml \
|
app/AppLayouts/Chat/CommunityComponents/CommunityDetailPopup.qml \
|
||||||
|
|
Loading…
Reference in New Issue