feat(CommunityPermissions): UI support to show the % of members fulfilling permission
Closes: #9044
This commit is contained in:
parent
7f67c885c8
commit
769a41ea9c
|
@ -0,0 +1,61 @@
|
||||||
|
import QtQuick 2.14
|
||||||
|
import QtQuick.Controls 2.14
|
||||||
|
import QtQuick.Layouts 1.14
|
||||||
|
|
||||||
|
import StatusQ.Core 0.1
|
||||||
|
import StatusQ.Core.Theme 0.1
|
||||||
|
|
||||||
|
import utils 1.0
|
||||||
|
|
||||||
|
Control {
|
||||||
|
property int qualifyingAddresses: 1
|
||||||
|
property int knownAddresses: 1
|
||||||
|
property int unknownAddresses: 1
|
||||||
|
|
||||||
|
verticalPadding: 16
|
||||||
|
horizontalPadding: 18
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
border.color: Style.current.border
|
||||||
|
radius: Style.current.radius
|
||||||
|
color: Style.current.transparent
|
||||||
|
}
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
spacing: 4
|
||||||
|
|
||||||
|
StatusIcon {
|
||||||
|
Layout.preferredWidth: 22
|
||||||
|
Layout.preferredHeight: 22
|
||||||
|
|
||||||
|
Layout.alignment: Qt.AlignTop
|
||||||
|
|
||||||
|
color: Theme.palette.baseColor1
|
||||||
|
icon: "communities"
|
||||||
|
}
|
||||||
|
|
||||||
|
StatusBaseText {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
wrapMode: Text.Wrap
|
||||||
|
|
||||||
|
font.pixelSize: Style.current.primaryTextFontSize
|
||||||
|
lineHeight: 22
|
||||||
|
lineHeightMode: Text.FixedHeight
|
||||||
|
|
||||||
|
Binding on color {
|
||||||
|
when: qualifyingAddresses === 0
|
||||||
|
value: Theme.palette.dangerColor1
|
||||||
|
}
|
||||||
|
|
||||||
|
readonly property real ratio: 100 * qualifyingAddresses / knownAddresses
|
||||||
|
readonly property string ratioAligned: Number(ratio.toFixed(1))
|
||||||
|
|
||||||
|
readonly property string part1: qsTr("%L1% of the %Ln community member(s) with known addresses will qualify for this permission.",
|
||||||
|
"", knownAddresses).arg(ratioAligned)
|
||||||
|
readonly property string part2: qsTr("The addresses of %Ln community member(s) are unknown.", "", unknownAddresses)
|
||||||
|
|
||||||
|
text: `${part1} ${part2}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +1,4 @@
|
||||||
|
CommunityPermissionsSettingsPanel 1.0 CommunityPermissionsSettingsPanel.qml
|
||||||
CommunityProfilePopupInviteFriendsPanel 1.0 CommunityProfilePopupInviteFriendsPanel.qml
|
CommunityProfilePopupInviteFriendsPanel 1.0 CommunityProfilePopupInviteFriendsPanel.qml
|
||||||
CommunityProfilePopupInviteMessagePanel 1.0 CommunityProfilePopupInviteMessagePanel.qml
|
CommunityProfilePopupInviteMessagePanel 1.0 CommunityProfilePopupInviteMessagePanel.qml
|
||||||
CommunityPermissionsSettingsPanel 1.0 CommunityPermissionsSettingsPanel.qml
|
PermissionQualificationPanel 1.0 PermissionQualificationPanel.qml
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import QtQuick 2.14
|
import QtQuick 2.14
|
||||||
|
import QtQuick.Controls 2.14
|
||||||
import QtQuick.Layouts 1.14
|
import QtQuick.Layouts 1.14
|
||||||
|
|
||||||
import StatusQ.Core 0.1
|
import StatusQ.Core 0.1
|
||||||
|
@ -13,6 +14,7 @@ import shared.panels 1.0
|
||||||
|
|
||||||
import SortFilterProxyModel 0.2
|
import SortFilterProxyModel 0.2
|
||||||
|
|
||||||
|
import AppLayouts.Chat.panels.communities 1.0
|
||||||
|
|
||||||
import "../../../Chat/controls/community"
|
import "../../../Chat/controls/community"
|
||||||
|
|
||||||
|
@ -515,6 +517,18 @@ StatusScrollView {
|
||||||
onToggled: d.dirtyValues.isPrivateDirty = (root.isPrivate !== checked)
|
onToggled: d.dirtyValues.isPrivateDirty = (root.isPrivate !== checked)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PermissionQualificationPanel {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.topMargin: 24
|
||||||
|
|
||||||
|
visible: d.dirtyValues.holdingsModel.count > 0
|
||||||
|
|
||||||
|
qualifyingAddresses: 200234
|
||||||
|
knownAddresses: 663026
|
||||||
|
unknownAddresses: 396720
|
||||||
|
}
|
||||||
|
|
||||||
StatusButton {
|
StatusButton {
|
||||||
visible: !root.isEditState
|
visible: !root.isEditState
|
||||||
Layout.topMargin: 24
|
Layout.topMargin: 24
|
||||||
|
|
Loading…
Reference in New Issue