diff --git a/interface/resources/qml/controls-uit/TextField.qml b/interface/resources/qml/controls-uit/TextField.qml
index b942c8b4ab..a21d1f8efd 100644
--- a/interface/resources/qml/controls-uit/TextField.qml
+++ b/interface/resources/qml/controls-uit/TextField.qml
@@ -24,10 +24,13 @@ TextField {
property bool isSearchField: false
property string label: ""
property real controlHeight: height + (textFieldLabel.visible ? textFieldLabel.height + 1 : 0)
+ property bool hasDefocusedBorder: true;
property bool hasRoundedBorder: false
+ property int roundedBorderRadius: 4
property bool error: false;
property bool hasClearButton: false;
- property string leftPlaceholderGlyph: "";
+ property string leftPermanentGlyph: "";
+ property string centerPlaceholderGlyph: "";
placeholderText: textField.placeholderText
@@ -101,12 +104,12 @@ TextField {
}
}
border.color: textField.error ? hifi.colors.redHighlight :
- (textField.activeFocus ? hifi.colors.primaryHighlight : (isFaintGrayColorScheme ? hifi.colors.lightGrayText : hifi.colors.lightGray))
+ (textField.activeFocus ? hifi.colors.primaryHighlight : (hasDefocusedBorder ? (isFaintGrayColorScheme ? hifi.colors.lightGrayText : hifi.colors.lightGray) : color))
border.width: textField.activeFocus || hasRoundedBorder || textField.error ? 1 : 0
- radius: isSearchField ? textField.height / 2 : (hasRoundedBorder ? 4 : 0)
+ radius: isSearchField ? textField.height / 2 : (hasRoundedBorder ? roundedBorderRadius : 0)
HiFiGlyphs {
- text: textField.leftPlaceholderGlyph;
+ text: textField.leftPermanentGlyph;
color: textColor;
size: hifi.fontSizes.textFieldSearchIcon;
anchors.left: parent.left;
@@ -115,6 +118,15 @@ TextField {
visible: text;
}
+ HiFiGlyphs {
+ text: textField.centerPlaceholderGlyph;
+ color: textColor;
+ size: parent.height;
+ anchors.horizontalCenter: parent.horizontalCenter;
+ anchors.verticalCenter: parent.verticalCenter;
+ visible: text && !textField.focus && textField.text === "";
+ }
+
HiFiGlyphs {
text: hifi.glyphs.search
color: textColor
@@ -145,7 +157,7 @@ TextField {
placeholderTextColor: isFaintGrayColorScheme ? hifi.colors.lightGrayText : hifi.colors.lightGray
selectedTextColor: hifi.colors.black
selectionColor: hifi.colors.primaryHighlight
- padding.left: ((isSearchField || textField.leftPlaceholderGlyph !== "") ? textField.height - 2 : 0) + hifi.dimensions.textPadding
+ padding.left: hasRoundedBorder ? textField.height / 2 : ((isSearchField || textField.leftPermanentGlyph !== "") ? textField.height - 2 : 0) + hifi.dimensions.textPadding
padding.right: (hasClearButton ? textField.height - 2 : 0) + hifi.dimensions.textPadding
}
diff --git a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
index da67569bc3..ae42b8e3e1 100644
--- a/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/Wallet.qml
@@ -389,7 +389,7 @@ Rectangle {
//
Item {
id: tabButtonsContainer;
- visible: !needsLogIn.visible && root.activeView !== "passphraseChange" && root.activeView !== "securityImageChange";
+ visible: !needsLogIn.visible && root.activeView !== "passphraseChange" && root.activeView !== "securityImageChange" && sendMoney.currentActiveView !== "sendMoneyStep";
property int numTabs: 5;
// Size
width: root.width;
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/ConnectionItem.qml b/interface/resources/qml/hifi/commerce/wallet/sendMoney/ConnectionItem.qml
index c2d9ef3b19..33cd43bb05 100644
--- a/interface/resources/qml/hifi/commerce/wallet/sendMoney/ConnectionItem.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/sendMoney/ConnectionItem.qml
@@ -29,13 +29,13 @@ Item {
property string userName;
property string profilePicUrl;
- height: 65;
+ height: 75;
width: parent.width;
Rectangle {
id: mainContainer;
// Style
- color: root.isSelected ? hifi.colors.faintGray : hifi.colors.white;
+ color: root.isSelected ? hifi.colors.faintGray80 : hifi.colors.white;
// Size
anchors.left: parent.left;
anchors.right: parent.right;
@@ -49,7 +49,7 @@ Item {
anchors.verticalCenter: parent.verticalCenter;
anchors.left: parent.left;
anchors.leftMargin: 36;
- height: root.height - 15;
+ height: 50;
width: visible ? height : 0;
clip: true;
Image {
@@ -83,15 +83,15 @@ Item {
RalewaySemiBold {
id: userName;
anchors.left: avatarImage.right;
- anchors.leftMargin: 16;
+ anchors.leftMargin: 12;
anchors.top: parent.top;
anchors.bottom: parent.bottom;
anchors.right: chooseButton.visible ? chooseButton.left : parent.right;
anchors.rightMargin: chooseButton.visible ? 10 : 0;
// Text size
- size: 20;
+ size: 18;
// Style
- color: hifi.colors.baseGray;
+ color: hifi.colors.blueAccent;
text: root.userName;
elide: Text.ElideRight;
// Alignment
@@ -107,9 +107,9 @@ Item {
colorScheme: hifi.colorSchemes.dark;
anchors.verticalCenter: parent.verticalCenter;
anchors.right: parent.right;
- anchors.rightMargin: 24;
- height: root.height - 20;
- width: 110;
+ anchors.rightMargin: 28;
+ height: 35;
+ width: 100;
text: "CHOOSE";
onClicked: {
var msg = { method: 'chooseConnection', userName: root.userName, profilePicUrl: root.profilePicUrl };
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/RecipientDisplay.qml b/interface/resources/qml/hifi/commerce/wallet/sendMoney/RecipientDisplay.qml
index 267cf0ed51..43636d47ca 100644
--- a/interface/resources/qml/hifi/commerce/wallet/sendMoney/RecipientDisplay.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/sendMoney/RecipientDisplay.qml
@@ -29,6 +29,7 @@ Item {
property string displayName;
property string userName;
property string profilePic;
+ property string textColor: hifi.colors.white;
Item {
visible: root.isDisplayingNearby;
@@ -46,7 +47,7 @@ Item {
// Text size
size: 18;
// Style
- color: hifi.colors.baseGray;
+ color: root.textColor;
verticalAlignment: Text.AlignBottom;
elide: Text.ElideRight;
}
@@ -63,7 +64,7 @@ Item {
// Text size
size: 16;
// Style
- color: hifi.colors.baseGray;
+ color: root.textColor;
verticalAlignment: Text.AlignTop;
elide: Text.ElideRight;
}
@@ -108,7 +109,7 @@ Item {
// Text size
size: 16;
// Style
- color: hifi.colors.baseGray;
+ color: root.textColor;
verticalAlignment: Text.AlignVCenter;
elide: Text.ElideRight;
}
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/SendMoney.qml b/interface/resources/qml/hifi/commerce/wallet/sendMoney/SendMoney.qml
index 9164ba7a8c..f66781c919 100644
--- a/interface/resources/qml/hifi/commerce/wallet/sendMoney/SendMoney.qml
+++ b/interface/resources/qml/hifi/commerce/wallet/sendMoney/SendMoney.qml
@@ -29,8 +29,9 @@ Item {
property int parentAppNavBarHeight;
property string currentActiveView: "sendMoneyHome";
property string nextActiveView: "";
- property bool isCurrentlyFullScreen: chooseRecipientConnection.visible ||
- chooseRecipientNearby.visible || sendMoneyStep.visible || paymentSuccess.visible || paymentFailure.visible;
+ property bool shouldShowTopAndBottomOfWallet: chooseRecipientConnection.visible ||
+ chooseRecipientNearby.visible || paymentSuccess.visible || paymentFailure.visible;
+ property bool shouldShowTopOfWallet: sendMoneyStep.visible;
property bool isCurrentlySendingMoney: false;
// This object is always used in a popup or full-screen Wallet section.
@@ -38,9 +39,9 @@ Item {
// able to click on a button/mouseArea underneath the popup/section.
MouseArea {
x: 0;
- y: root.isCurrentlyFullScreen ? 0 : root.parentAppTitleBarHeight;
+ y: (root.shouldShowTopAndBottomOfWallet && !root.shouldShowTopOfWallet) ? 0 : root.parentAppTitleBarHeight;
width: parent.width;
- height: root.isCurrentlyFullScreen ? parent.height : parent.height - root.parentAppTitleBarHeight - root.parentAppNavBarHeight;
+ height: (root.shouldShowTopAndBottomOfWallet || root.shouldShowTopOfWallet) ? parent.height : parent.height - root.parentAppTitleBarHeight - root.parentAppNavBarHeight;
propagateComposedEvents: false;
}
@@ -105,7 +106,8 @@ Item {
// Send Money Home BEGIN
Item {
id: sendMoneyHome;
- visible: root.currentActiveView === "sendMoneyHome";
+ z: 996;
+ visible: root.currentActiveView === "sendMoneyHome" || root.currentActiveView === "chooseRecipientConnection" || root.currentActiveView === "chooseRecipientNearby";
anchors.fill: parent;
anchors.topMargin: root.parentAppTitleBarHeight;
anchors.bottomMargin: root.parentAppNavBarHeight;
@@ -194,6 +196,17 @@ Item {
anchors.right: parent.right;
anchors.bottom: parent.bottom;
height: 440;
+
+
+ LinearGradient {
+ anchors.fill: parent;
+ start: Qt.point(0, 0);
+ end: Qt.point(0, height);
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: hifi.colors.white }
+ GradientStop { position: 1.0; color: hifi.colors.faintGray }
+ }
+ }
RalewaySemiBold {
id: sendMoneyText;
@@ -223,12 +236,13 @@ Item {
Image {
anchors.top: parent.top;
- source: "../images/wallet-bg.jpg";
- height: 60;
+ source: "./images/connection.svg";
+ height: 70;
width: parent.width;
fillMode: Image.PreserveAspectFit;
horizontalAlignment: Image.AlignHCenter;
verticalAlignment: Image.AlignTop;
+ mipmap: true;
}
RalewaySemiBold {
@@ -248,6 +262,7 @@ Item {
anchors.fill: parent;
onClicked: {
root.nextActiveView = "chooseRecipientConnection";
+ filterBar.text = "";
}
}
}
@@ -264,12 +279,13 @@ Item {
Image {
anchors.top: parent.top;
- source: "../images/wallet-bg.jpg";
- height: 60;
+ source: "./images/nearby.svg";
+ height: 70;
width: parent.width;
fillMode: Image.PreserveAspectFit;
horizontalAlignment: Image.AlignHCenter;
verticalAlignment: Image.AlignTop;
+ mipmap: true;
}
RalewaySemiBold {
@@ -299,9 +315,18 @@ Item {
// Choose Recipient Connection BEGIN
Rectangle {
id: chooseRecipientConnection;
+ z: 997;
visible: root.currentActiveView === "chooseRecipientConnection";
anchors.fill: parent;
- color: "#AAAAAA";
+ color: "#80000000";
+
+ // This object is always used in a popup or full-screen Wallet section.
+ // This MouseArea is used to prevent a user from being
+ // able to click on a button/mouseArea underneath the popup/section.
+ MouseArea {
+ anchors.fill: parent;
+ propagateComposedEvents: false;
+ }
ListModel {
id: connectionsModel;
@@ -314,6 +339,8 @@ Item {
anchors.centerIn: parent;
width: parent.width - 30;
height: parent.height - 30;
+ color: "#FFFFFF";
+ radius: 8;
RalewaySemiBold {
id: chooseRecipientText_connections;
@@ -322,11 +349,11 @@ Item {
anchors.top: parent.top;
anchors.topMargin: 26;
anchors.left: parent.left;
- anchors.leftMargin: 20;
+ anchors.leftMargin: 36;
width: paintedWidth;
height: 30;
// Text size
- size: 22;
+ size: 18;
// Style
color: hifi.colors.baseGray;
}
@@ -334,6 +361,7 @@ Item {
HiFiGlyphs {
id: closeGlyphButton_connections;
text: hifi.glyphs.close;
+ color: hifi.colors.lightGrayText;
size: 26;
anchors.top: parent.top;
anchors.topMargin: 10;
@@ -363,7 +391,7 @@ Item {
height: 40;
// Anchors
anchors.left: parent.left;
- anchors.leftMargin: 16;
+ anchors.leftMargin: 36;
anchors.right: parent.right;
anchors.rightMargin: 16;
anchors.top: chooseRecipientText_connections.bottom;
@@ -374,8 +402,10 @@ Item {
colorScheme: hifi.colorSchemes.faintGray;
hasClearButton: true;
hasRoundedBorder: true;
+ hasDefocusedBorder: false;
+ roundedBorderRadius: filterBar.height/2;
anchors.fill: parent;
- placeholderText: "filter recipients";
+ centerPlaceholderGlyph: hifi.glyphs.search;
onTextChanged: {
buildFilteredConnectionsModel();
@@ -461,17 +491,28 @@ Item {
// Choose Recipient Nearby BEGIN
Rectangle {
id: chooseRecipientNearby;
+ z: 997;
+ color: "#80000000";
property string selectedRecipient;
visible: root.currentActiveView === "chooseRecipientNearby";
anchors.fill: parent;
- color: "#AAAAAA";
+
+ // This object is always used in a popup or full-screen Wallet section.
+ // This MouseArea is used to prevent a user from being
+ // able to click on a button/mouseArea underneath the popup/section.
+ MouseArea {
+ anchors.fill: parent;
+ propagateComposedEvents: false;
+ }
Rectangle {
anchors.centerIn: parent;
width: parent.width - 30;
height: parent.height - 30;
+ color: "#FFFFFF";
+ radius: 8;
RalewaySemiBold {
text: "Choose Recipient:";
@@ -483,7 +524,7 @@ Item {
width: paintedWidth;
height: 30;
// Text size
- size: 22;
+ size: 18;
// Style
color: hifi.colors.baseGray;
}
@@ -491,6 +532,7 @@ Item {
HiFiGlyphs {
id: closeGlyphButton_nearby;
text: hifi.glyphs.close;
+ color: hifi.colors.lightGrayText;
size: 26;
anchors.top: parent.top;
anchors.topMargin: 10;
@@ -512,163 +554,142 @@ Item {
}
}
- Item {
- id: selectionInstructionsContainer;
- visible: chooseRecipientNearby.selectedRecipient === "";
- anchors.fill: parent;
-
- RalewaySemiBold {
- id: selectionInstructions_deselected;
- text: "Click/trigger on an avatar nearby to select them...";
- // Anchors
- anchors.bottom: parent.bottom;
- anchors.bottomMargin: 200;
- anchors.left: parent.left;
- anchors.leftMargin: 58;
- anchors.right: parent.right;
- anchors.rightMargin: anchors.leftMargin;
- height: paintedHeight;
- // Text size
- size: 20;
- // Style
- color: hifi.colors.baseGray;
- horizontalAlignment: Text.AlignHCenter;
- wrapMode: Text.Wrap;
- }
+ RalewaySemiBold {
+ id: selectionInstructions;
+ text: chooseRecipientNearby.selectedRecipient === "" ? "Trigger or click on\nsomeone nearby to select them" :
+ "Trigger or click on\nsomeone else to select again";
+ // Anchors
+ anchors.top: parent.top;
+ anchors.topMargin: 100;
+ anchors.left: parent.left;
+ anchors.leftMargin: 20;
+ anchors.right: parent.right;
+ anchors.rightMargin: anchors.leftMargin;
+ height: paintedHeight;
+ // Text size
+ size: 20;
+ // Style
+ color: hifi.colors.baseGray;
+ horizontalAlignment: Text.AlignHCenter;
+ wrapMode: Text.Wrap;
}
- Item {
+ Image {
+ anchors.top: selectionInstructions.bottom;
+ anchors.topMargin: 20;
+ anchors.bottom: selectionMadeContainer.top;
+ anchors.bottomMargin: 30;
+ source: "./images/p2p-nearby-unselected.svg";
+ width: parent.width;
+ fillMode: Image.PreserveAspectFit;
+ horizontalAlignment: Image.AlignHCenter;
+ verticalAlignment: Image.AlignVCenter;
+ mipmap: true;
+ }
+
+ Rectangle {
id: selectionMadeContainer;
- visible: !selectionInstructionsContainer.visible;
- anchors.fill: parent;
+ visible: chooseRecipientNearby.selectedRecipient !== "";
+ anchors.bottom: parent.bottom;
+ anchors.left: parent.left;
+ anchors.right: parent.right;
+ height: 190;
+ color: "#F3F3F3";
+ radius: 8;
+
+ // Used to square off the top left and top right edges of this container
+ Rectangle {
+ color: "#F3F3F3";
+ height: selectionMadeContainer.radius;
+ anchors.top: selectionMadeContainer.top;
+ anchors.left: selectionMadeContainer.left;
+ anchors.right: selectionMadeContainer.right;
+ }
RalewaySemiBold {
id: sendToText;
- text: "Send To:";
+ text: "Send to:";
// Anchors
anchors.top: parent.top;
- anchors.topMargin: 120;
+ anchors.topMargin: 36;
anchors.left: parent.left;
- anchors.leftMargin: 12;
+ anchors.leftMargin: 36;
width: paintedWidth;
height: paintedHeight;
// Text size
- size: 20;
+ size: 18;
// Style
color: hifi.colors.baseGray;
}
+ Image {
+ id: selectedImage;
+ anchors.top: parent.top;
+ anchors.topMargin: 24;
+ anchors.bottom: parent.bottom;
+ anchors.bottomMargin: 32;
+ anchors.left: sendToText.right;
+ anchors.leftMargin: 4;
+ source: "./images/p2p-nearby-selected.svg";
+ width: 50;
+ fillMode: Image.PreserveAspectFit;
+ horizontalAlignment: Image.AlignHCenter;
+ verticalAlignment: Image.AlignVCenter;
+ mipmap: true;
+ }
+
RalewaySemiBold {
id: avatarDisplayName;
text: '"' + AvatarList.getAvatar(chooseRecipientNearby.selectedRecipient).sessionDisplayName + '"';
// Anchors
- anchors.top: sendToText.bottom;
- anchors.topMargin: 60;
- anchors.left: parent.left;
- anchors.leftMargin: 30;
+ anchors.top: parent.top;
+ anchors.topMargin: 34;
+ anchors.left: selectedImage.right;
+ anchors.leftMargin: 10;
anchors.right: parent.right;
- anchors.rightMargin: 30;
+ anchors.rightMargin: 10;
height: paintedHeight;
// Text size
- size: 22;
+ size: 20;
// Style
- horizontalAlignment: Text.AlignHCenter;
- color: hifi.colors.baseGray;
- }
-
- RalewaySemiBold {
- id: avatarNodeID;
- text: chooseRecipientNearby.selectedRecipient;
- // Anchors
- anchors.top: avatarDisplayName.bottom;
- anchors.topMargin: 6;
- anchors.left: parent.left;
- anchors.leftMargin: 30;
- anchors.right: parent.right;
- anchors.rightMargin: 30;
- height: paintedHeight;
- // Text size
- size: 14;
- // Style
- horizontalAlignment: Text.AlignHCenter;
- color: hifi.colors.lightGrayText;
+ color: hifi.colors.blueAccent;
}
RalewaySemiBold {
id: avatarUserName;
text: sendMoneyStep.selectedRecipientUserName;
// Anchors
- anchors.top: avatarNodeID.bottom;
- anchors.topMargin: 12;
- anchors.left: parent.left;
- anchors.leftMargin: 30;
+ anchors.top: avatarDisplayName.bottom;
+ anchors.topMargin: 16;
+ anchors.left: selectedImage.right;
+ anchors.leftMargin: 10;
anchors.right: parent.right;
- anchors.rightMargin: 30;
+ anchors.rightMargin: 10;
height: paintedHeight;
// Text size
- size: 22;
+ size: 18;
// Style
- horizontalAlignment: Text.AlignHCenter;
color: hifi.colors.baseGray;
}
- RalewaySemiBold {
- id: selectionInstructions_selected;
- text: "Click/trigger on another avatar nearby to select them...\n\nor press 'Next' to continue.";
- // Anchors
+ // "CHOOSE" button
+ HifiControlsUit.Button {
+ id: chooseButton;
+ color: hifi.buttons.blue;
+ colorScheme: hifi.colorSchemes.dark;
+ anchors.horizontalCenter: parent.horizontalCenter;
anchors.bottom: parent.bottom;
- anchors.bottomMargin: 200;
- anchors.left: parent.left;
- anchors.leftMargin: 58;
- anchors.right: parent.right;
- anchors.rightMargin: anchors.leftMargin;
- height: paintedHeight;
- // Text size
- size: 20;
- // Style
- color: hifi.colors.baseGray;
- horizontalAlignment: Text.AlignHCenter;
- wrapMode: Text.Wrap;
- }
- }
+ anchors.bottomMargin: 20;
+ height: 40;
+ width: 110;
+ text: "CHOOSE";
+ onClicked: {
+ sendMoneyStep.referrer = "nearby";
+ sendMoneyStep.selectedRecipientNodeID = chooseRecipientNearby.selectedRecipient;
+ chooseRecipientNearby.selectedRecipient = "";
- // "Cancel" button
- HifiControlsUit.Button {
- id: cancelButton;
- color: hifi.buttons.noneBorderless;
- colorScheme: hifi.colorSchemes.dark;
- anchors.left: parent.left;
- anchors.leftMargin: 60;
- anchors.bottom: parent.bottom;
- anchors.bottomMargin: 80;
- height: 50;
- width: 120;
- text: "Cancel";
- onClicked: {
- root.nextActiveView = "sendMoneyHome";
- resetSendMoneyData();
- }
- }
-
- // "Next" button
- HifiControlsUit.Button {
- id: nextButton;
- enabled: chooseRecipientNearby.selectedRecipient !== "";
- color: hifi.buttons.blue;
- colorScheme: hifi.colorSchemes.dark;
- anchors.right: parent.right;
- anchors.rightMargin: 60;
- anchors.bottom: parent.bottom;
- anchors.bottomMargin: 80;
- height: 50;
- width: 120;
- text: "Next";
- onClicked: {
- sendMoneyStep.referrer = "nearby";
- sendMoneyStep.selectedRecipientNodeID = chooseRecipientNearby.selectedRecipient;
- chooseRecipientNearby.selectedRecipient = "";
-
- root.nextActiveView = "sendMoneyStep";
+ root.nextActiveView = "sendMoneyStep";
+ }
}
}
}
@@ -676,9 +697,9 @@ Item {
// Choose Recipient Nearby END
// Send Money Screen BEGIN
- Rectangle {
+ Item {
id: sendMoneyStep;
- z: 997;
+ z: 996;
property string referrer; // either "connections" or "nearby"
property string selectedRecipientNodeID;
@@ -688,284 +709,333 @@ Item {
visible: root.currentActiveView === "sendMoneyStep";
anchors.fill: parent;
- color: "#AAAAAA";
+ anchors.topMargin: root.parentAppTitleBarHeight;
- Rectangle {
- anchors.centerIn: parent;
- width: parent.width - 30;
- height: parent.height - 30;
+ RalewaySemiBold {
+ id: sendMoneyText_sendMoneyStep;
+ text: "Send Money";
+ // Anchors
+ anchors.top: parent.top;
+ anchors.topMargin: 26;
+ anchors.left: parent.left;
+ anchors.leftMargin: 20;
+ width: paintedWidth;
+ height: 30;
+ // Text size
+ size: 22;
+ // Style
+ color: hifi.colors.white;
+ }
+
+ Item {
+ id: sendToContainer;
+ anchors.top: sendMoneyText_sendMoneyStep.bottom;
+ anchors.topMargin: 20;
+ anchors.left: parent.left;
+ anchors.leftMargin: 20;
+ anchors.right: parent.right;
+ anchors.rightMargin: 20;
+ height: 80;
RalewaySemiBold {
- id: sendMoneyText_sendMoneyStep;
- text: "Send Money To:";
+ id: sendToText_sendMoneyStep;
+ text: "Send to:";
// Anchors
anchors.top: parent.top;
- anchors.topMargin: 26;
anchors.left: parent.left;
- anchors.leftMargin: 20;
- width: paintedWidth;
- height: 30;
+ anchors.bottom: parent.bottom;
+ width: 90;
// Text size
- size: 22;
+ size: 18;
// Style
- color: hifi.colors.baseGray;
+ color: hifi.colors.white;
+ verticalAlignment: Text.AlignVCenter;
}
- Item {
- id: sendToContainer;
- anchors.top: sendMoneyText_sendMoneyStep.bottom;
- anchors.topMargin: 20;
- anchors.left: parent.left;
- anchors.leftMargin: 20;
+ RecipientDisplay {
+ anchors.top: parent.top;
+ anchors.left: sendToText_sendMoneyStep.right;
+ anchors.right: changeButton.left;
+ anchors.rightMargin: 12;
+ height: parent.height;
+
+ displayName: sendMoneyStep.selectedRecipientDisplayName;
+ userName: sendMoneyStep.selectedRecipientUserName;
+ profilePic: sendMoneyStep.selectedRecipientProfilePic !== "" ? ((0 === sendMoneyStep.selectedRecipientProfilePic.indexOf("http")) ?
+ sendMoneyStep.selectedRecipientProfilePic : (Account.metaverseServerURL + sendMoneyStep.selectedRecipientProfilePic)) : "";
+ isDisplayingNearby: sendMoneyStep.referrer === "nearby";
+ }
+
+ // "CHANGE" button
+ HifiControlsUit.Button {
+ id: changeButton;
+ color: hifi.buttons.none;
+ colorScheme: hifi.colorSchemes.dark;
anchors.right: parent.right;
- anchors.rightMargin: 20;
- height: 80;
-
- RalewaySemiBold {
- id: sendToText_sendMoneyStep;
- text: "Send To:";
- // Anchors
- anchors.top: parent.top;
- anchors.left: parent.left;
- anchors.bottom: parent.bottom;
- width: 90;
- // Text size
- size: 18;
- // Style
- color: hifi.colors.baseGray;
- verticalAlignment: Text.AlignVCenter;
- }
-
- RecipientDisplay {
- anchors.top: parent.top;
- anchors.left: sendToText_sendMoneyStep.right;
- anchors.right: changeButton.left;
- anchors.rightMargin: 12;
- height: parent.height;
-
- displayName: sendMoneyStep.selectedRecipientDisplayName;
- userName: sendMoneyStep.selectedRecipientUserName;
- profilePic: sendMoneyStep.selectedRecipientProfilePic !== "" ? ((0 === sendMoneyStep.selectedRecipientProfilePic.indexOf("http")) ?
- sendMoneyStep.selectedRecipientProfilePic : (Account.metaverseServerURL + sendMoneyStep.selectedRecipientProfilePic)) : "";
- isDisplayingNearby: sendMoneyStep.referrer === "nearby";
- }
-
- // "CHANGE" button
- HifiControlsUit.Button {
- id: changeButton;
- color: hifi.buttons.black;
- colorScheme: hifi.colorSchemes.dark;
- anchors.right: parent.right;
- anchors.verticalCenter: parent.verticalCenter;
- height: 35;
- width: 120;
- text: "CHANGE";
- onClicked: {
- if (sendMoneyStep.referrer === "connections") {
- root.nextActiveView = "chooseRecipientConnection";
- } else if (sendMoneyStep.referrer === "nearby") {
- root.nextActiveView = "chooseRecipientNearby";
- }
- resetSendMoneyData();
+ anchors.verticalCenter: parent.verticalCenter;
+ height: 35;
+ width: 100;
+ text: "CHANGE";
+ onClicked: {
+ if (sendMoneyStep.referrer === "connections") {
+ root.nextActiveView = "chooseRecipientConnection";
+ } else if (sendMoneyStep.referrer === "nearby") {
+ root.nextActiveView = "chooseRecipientNearby";
}
+ resetSendMoneyData();
+ }
+ }
+ }
+
+ Item {
+ id: amountContainer;
+ anchors.top: sendToContainer.bottom;
+ anchors.topMargin: 2;
+ anchors.left: parent.left;
+ anchors.leftMargin: 20;
+ anchors.right: parent.right;
+ anchors.rightMargin: 20;
+ height: 80;
+
+ RalewaySemiBold {
+ id: amountText;
+ text: "Amount:";
+ // Anchors
+ anchors.top: parent.top;
+ anchors.left: parent.left;
+ anchors.bottom: parent.bottom;
+ width: 90;
+ // Text size
+ size: 18;
+ // Style
+ color: hifi.colors.white;
+ verticalAlignment: Text.AlignVCenter;
+ }
+
+ HifiControlsUit.TextField {
+ id: amountTextField;
+ colorScheme: hifi.colorSchemes.dark;
+ inputMethodHints: Qt.ImhDigitsOnly;
+ // Anchors
+ anchors.verticalCenter: parent.verticalCenter;
+ anchors.left: amountText.right;
+ anchors.right: parent.right;
+ height: 50;
+ // Style
+ leftPermanentGlyph: hifi.glyphs.hfc;
+ activeFocusOnPress: true;
+ activeFocusOnTab: true;
+
+ validator: IntValidator { bottom: 0; }
+
+ onAccepted: {
+ optionalMessage.focus = true;
}
}
- Item {
- id: amountContainer;
- anchors.top: sendToContainer.bottom;
+ FiraSansSemiBold {
+ visible: amountTextFieldError.text === "";
+ text: "Balance: ";
+ // Anchors
+ anchors.top: amountTextField.bottom;
anchors.topMargin: 2;
- anchors.left: parent.left;
- anchors.leftMargin: 20;
- anchors.right: parent.right;
- anchors.rightMargin: 20;
- height: 80;
-
- RalewaySemiBold {
- id: amountText;
- text: "Amount:";
- // Anchors
- anchors.top: parent.top;
- anchors.left: parent.left;
- anchors.bottom: parent.bottom;
- width: 90;
- // Text size
- size: 18;
- // Style
- color: hifi.colors.baseGray;
- verticalAlignment: Text.AlignVCenter;
- }
-
- HifiControlsUit.TextField {
- id: amountTextField;
- colorScheme: hifi.colorSchemes.light;
- inputMethodHints: Qt.ImhDigitsOnly;
- // Anchors
- anchors.verticalCenter: parent.verticalCenter;
- anchors.left: amountText.right;
- anchors.right: parent.right;
- height: 50;
- // Style
- leftPlaceholderGlyph: hifi.glyphs.hfc;
- activeFocusOnPress: true;
- activeFocusOnTab: true;
-
- validator: IntValidator { bottom: 0; }
-
- onAccepted: {
- optionalMessage.focus = true;
- }
- }
-
- RalewaySemiBold {
- id: amountTextFieldError;
- // Anchors
- anchors.top: amountTextField.bottom;
- anchors.topMargin: 2;
- anchors.left: amountTextField.left;
- anchors.right: amountTextField.right;
- height: 40;
- // Text size
- size: 16;
- // Style
- color: hifi.colors.baseGray;
- verticalAlignment: Text.AlignTop;
- horizontalAlignment: Text.AlignRight;
- }
+ anchors.left: amountTextField.left;
+ anchors.right: sendMoneyBalanceText_HFC.left;
+ width: paintedWidth;
+ height: 40;
+ // Text size
+ size: 16;
+ // Style
+ color: hifi.colors.lightGrayText;
+ verticalAlignment: Text.AlignTop;
+ horizontalAlignment: Text.AlignRight;
+ }
+ HiFiGlyphs {
+ id: sendMoneyBalanceText_HFC;
+ visible: amountTextFieldError.text === "";
+ text: hifi.glyphs.hfc;
+ // Size
+ size: 16;
+ // Anchors
+ anchors.top: amountTextField.bottom;
+ anchors.topMargin: 2;
+ anchors.right: sendMoneyBalanceText.left;
+ width: paintedWidth;
+ height: 40;
+ // Style
+ color: hifi.colors.lightGrayText;
+ verticalAlignment: Text.AlignTop;
+ horizontalAlignment: Text.AlignRight;
+ }
+ FiraSansSemiBold {
+ id: sendMoneyBalanceText;
+ visible: amountTextFieldError.text === "";
+ text: balanceText.text;
+ // Anchors
+ anchors.top: amountTextField.bottom;
+ anchors.topMargin: 2;
+ anchors.right: amountTextField.right;
+ width: paintedWidth;
+ height: 40;
+ // Text size
+ size: 16;
+ // Style
+ color: hifi.colors.lightGrayText;
+ verticalAlignment: Text.AlignTop;
+ horizontalAlignment: Text.AlignRight;
}
- Item {
- id: messageContainer;
- anchors.top: amountContainer.bottom;
- anchors.topMargin: 16;
- anchors.left: parent.left;
- anchors.leftMargin: 20;
- anchors.right: parent.right;
- anchors.rightMargin: 20;
- height: 140;
+ RalewaySemiBold {
+ id: amountTextFieldError;
+ // Anchors
+ anchors.top: amountTextField.bottom;
+ anchors.topMargin: 2;
+ anchors.left: amountTextField.left;
+ anchors.right: amountTextField.right;
+ height: 40;
+ // Text size
+ size: 16;
+ // Style
+ color: hifi.colors.white;
+ verticalAlignment: Text.AlignTop;
+ horizontalAlignment: Text.AlignRight;
+ }
+ }
+
+ Item {
+ id: messageContainer;
+ anchors.top: amountContainer.bottom;
+ anchors.topMargin: 16;
+ anchors.left: parent.left;
+ anchors.leftMargin: 20;
+ anchors.right: parent.right;
+ anchors.rightMargin: 20;
+ height: 140;
- FontLoader { id: firaSansSemiBold; source: "../../../../../fonts/FiraSans-SemiBold.ttf"; }
- TextArea {
- id: optionalMessage;
- property int maximumLength: 70;
- property string previousText: text;
- placeholderText: "Optional Message";
- font.family: firaSansSemiBold.name;
- font.pixelSize: 20;
- // Anchors
+ FontLoader { id: firaSansSemiBold; source: "../../../../../fonts/FiraSans-SemiBold.ttf"; }
+ TextArea {
+ id: optionalMessage;
+ property int maximumLength: 72;
+ property string previousText: text;
+ placeholderText: "Optional Message (" + maximumLength + " character limit)";
+ font.family: firaSansSemiBold.name;
+ font.pixelSize: 20;
+ // Anchors
+ anchors.fill: parent;
+ // Style
+ background: Rectangle {
anchors.fill: parent;
- // Style
- background: Rectangle {
- anchors.fill: parent;
- color: optionalMessage.activeFocus ? hifi.colors.white : hifi.colors.textFieldLightBackground;
- border.width: optionalMessage.activeFocus ? 1 : 0;
- border.color: optionalMessage.activeFocus ? hifi.colors.primaryHighlight : hifi.colors.textFieldLightBackground;
- }
- color: hifi.colors.black;
- textFormat: TextEdit.PlainText;
- wrapMode: TextEdit.Wrap;
- activeFocusOnPress: true;
- activeFocusOnTab: true;
- // Workaround for no max length on TextAreas
- onTextChanged: {
- if (text.length > maximumLength) {
- var cursor = cursorPosition;
- text = previousText;
- if (cursor > text.length) {
- cursorPosition = text.length;
- } else {
- cursorPosition = cursor-1;
- }
- }
- previousText = text;
- }
+ color: optionalMessage.activeFocus ? hifi.colors.black : hifi.colors.baseGrayShadow;
+ border.width: optionalMessage.activeFocus ? 1 : 0;
+ border.color: optionalMessage.activeFocus ? hifi.colors.primaryHighlight : hifi.colors.textFieldLightBackground;
}
- RalewaySemiBold {
- id: optionalMessageCharacterCount;
- text: optionalMessage.text.length + "/" + optionalMessage.maximumLength;
- // Anchors
- anchors.top: optionalMessage.bottom;
- anchors.topMargin: 2;
- anchors.right: optionalMessage.right;
- height: paintedHeight;
- // Text size
- size: 16;
- // Style
- color: hifi.colors.baseGray;
- verticalAlignment: Text.AlignTop;
- horizontalAlignment: Text.AlignRight;
+ color: hifi.colors.white;
+ textFormat: TextEdit.PlainText;
+ wrapMode: TextEdit.Wrap;
+ activeFocusOnPress: true;
+ activeFocusOnTab: true;
+ // Workaround for no max length on TextAreas
+ onTextChanged: {
+ if (text.length > maximumLength) {
+ var cursor = cursorPosition;
+ text = previousText;
+ if (cursor > text.length) {
+ cursorPosition = text.length;
+ } else {
+ cursorPosition = cursor-1;
+ }
+ }
+ previousText = text;
+ }
+ }
+ FiraSansSemiBold {
+ id: optionalMessageCharacterCount;
+ text: optionalMessage.text.length + "/" + optionalMessage.maximumLength;
+ // Anchors
+ anchors.top: optionalMessage.bottom;
+ anchors.topMargin: 4;
+ anchors.right: optionalMessage.right;
+ height: paintedHeight;
+ // Text size
+ size: 16;
+ // Style
+ color: optionalMessage.text.length === optionalMessage.maximumLength ? "#ea89a5" : hifi.colors.lightGrayText;
+ verticalAlignment: Text.AlignTop;
+ horizontalAlignment: Text.AlignRight;
+ }
+ }
+
+ HifiControlsUit.CheckBox {
+ id: sendPubliclyCheckbox;
+ visible: false; // FIXME ONCE PARTICLE EFFECTS ARE IN
+ text: "Send Publicly"
+ // Anchors
+ anchors.top: messageContainer.bottom;
+ anchors.topMargin: 16;
+ anchors.left: parent.left;
+ anchors.leftMargin: 20;
+ anchors.right: parent.right;
+ anchors.rightMargin: 16;
+ boxSize: 24;
+ }
+
+ Item {
+ id: bottomBarContainer;
+ anchors.left: parent.left;
+ anchors.leftMargin: 20;
+ anchors.right: parent.right;
+ anchors.rightMargin: 20;
+ anchors.bottom: parent.bottom;
+ anchors.bottomMargin: 20;
+ height: 60;
+
+ // "CANCEL" button
+ HifiControlsUit.Button {
+ id: cancelButton_sendMoneyStep;
+ color: hifi.buttons.noneBorderlessWhite;
+ colorScheme: hifi.colorSchemes.dark;
+ anchors.left: parent.left;
+ anchors.leftMargin: 24;
+ anchors.verticalCenter: parent.verticalCenter;
+ height: 40;
+ width: 150;
+ text: "CANCEL";
+ onClicked: {
+ resetSendMoneyData();
+ root.nextActiveView = "sendMoneyHome";
}
}
- Item {
- id: bottomBarContainer;
- anchors.top: messageContainer.bottom;
- anchors.topMargin: 30;
- anchors.left: parent.left;
- anchors.leftMargin: 20;
+ // "SEND" button
+ HifiControlsUit.Button {
+ id: sendButton;
+ color: hifi.buttons.blue;
+ colorScheme: hifi.colorSchemes.dark;
anchors.right: parent.right;
- anchors.rightMargin: 20;
- height: 80;
-
- HifiControlsUit.CheckBox {
- id: sendPubliclyCheckbox;
- visible: false; // FIXME ONCE PARTICLE EFFECTS ARE IN
- text: "Send Publicly"
- // Anchors
- anchors.verticalCenter: parent.verticalCenter;
- anchors.left: parent.left;
- anchors.right: cancelButton_sendMoneyStep.left;
- anchors.rightMargin: 16;
- boxSize: 24;
- }
-
- // "CANCEL" button
- HifiControlsUit.Button {
- id: cancelButton_sendMoneyStep;
- color: hifi.buttons.noneBorderless;
- colorScheme: hifi.colorSchemes.dark;
- anchors.right: sendButton.left;
- anchors.rightMargin: 16;
- anchors.verticalCenter: parent.verticalCenter;
- height: 35;
- width: 100;
- text: "CANCEL";
- onClicked: {
- resetSendMoneyData();
- root.nextActiveView = "sendMoneyHome";
- }
- }
-
- // "SEND" button
- HifiControlsUit.Button {
- id: sendButton;
- color: hifi.buttons.blue;
- colorScheme: hifi.colorSchemes.dark;
- anchors.right: parent.right;
- anchors.verticalCenter: parent.verticalCenter;
- height: 35;
- width: 100;
- text: "SEND";
- onClicked: {
- if (parseInt(amountTextField.text) > parseInt(balanceText.text)) {
- amountTextField.focus = true;
- amountTextField.error = true;
- amountTextFieldError.text = "amount exceeds available funds";
- } else if (amountTextField.text === "" || parseInt(amountTextField.text) < 1) {
- amountTextField.focus = true;
- amountTextField.error = true;
- amountTextFieldError.text = "invalid amount";
- } else {
- amountTextFieldError.text = "";
- amountTextField.error = false;
- root.isCurrentlySendingMoney = true;
- amountTextField.focus = false;
- optionalMessage.focus = false;
- if (sendMoneyStep.referrer === "connections") {
- Commerce.transferHfcToUsername(sendMoneyStep.selectedRecipientUserName, parseInt(amountTextField.text), optionalMessage.text);
- } else if (sendMoneyStep.referrer === "nearby") {
- Commerce.transferHfcToNode(sendMoneyStep.selectedRecipientNodeID, parseInt(amountTextField.text), optionalMessage.text);
- }
+ anchors.rightMargin: 24;
+ anchors.verticalCenter: parent.verticalCenter;
+ height: 40;
+ width: 150;
+ text: "SUBMIT";
+ onClicked: {
+ if (parseInt(amountTextField.text) > parseInt(balanceText.text)) {
+ amountTextField.focus = true;
+ amountTextField.error = true;
+ amountTextFieldError.text = "amount exceeds available funds";
+ } else if (amountTextField.text === "" || parseInt(amountTextField.text) < 1) {
+ amountTextField.focus = true;
+ amountTextField.error = true;
+ amountTextFieldError.text = "invalid amount";
+ } else {
+ amountTextFieldError.text = "";
+ amountTextField.error = false;
+ root.isCurrentlySendingMoney = true;
+ amountTextField.focus = false;
+ optionalMessage.focus = false;
+ if (sendMoneyStep.referrer === "connections") {
+ Commerce.transferHfcToUsername(sendMoneyStep.selectedRecipientUserName, parseInt(amountTextField.text), optionalMessage.text);
+ } else if (sendMoneyStep.referrer === "nearby") {
+ Commerce.transferHfcToNode(sendMoneyStep.selectedRecipientNodeID, parseInt(amountTextField.text), optionalMessage.text);
}
}
}
@@ -981,7 +1051,7 @@ Item {
visible: root.isCurrentlySendingMoney;
anchors.fill: parent;
- color: Qt.rgba(0.0, 0.0, 0.0, 0.5);
+ color: Qt.rgba(0.0, 0.0, 0.0, 0.8);
// This object is always used in a popup or full-screen Wallet section.
// This MouseArea is used to prevent a user from being
@@ -993,11 +1063,10 @@ Item {
AnimatedImage {
id: sendingMoneyImage;
- source: "../../../../../icons/profilePicLoading.gif"
- width: 160;
+ source: "./images/loader.gif"
+ width: 96;
height: width;
- anchors.top: parent.top;
- anchors.topMargin: 185;
+ anchors.verticalCenter: parent.verticalCenter;
anchors.horizontalCenter: parent.horizontalCenter;
}
@@ -1005,11 +1074,11 @@ Item {
text: "Sending";
// Anchors
anchors.top: sendingMoneyImage.bottom;
- anchors.topMargin: 22;
+ anchors.topMargin: 4;
anchors.horizontalCenter: parent.horizontalCenter;
width: paintedWidth;
// Text size
- size: 24;
+ size: 26;
// Style
color: hifi.colors.white;
verticalAlignment: Text.AlignVCenter;
@@ -1018,17 +1087,17 @@ Item {
// Sending Money Overlay END
// Payment Success BEGIN
- Rectangle {
+ Item {
id: paymentSuccess;
visible: root.currentActiveView === "paymentSuccess";
anchors.fill: parent;
- color: "#AAAAAA";
Rectangle {
anchors.centerIn: parent;
width: parent.width - 30;
height: parent.height - 30;
+ color: "#FFFFFF";
RalewaySemiBold {
id: paymentSentText;
@@ -1049,6 +1118,7 @@ Item {
HiFiGlyphs {
id: closeGlyphButton_paymentSuccess;
text: hifi.glyphs.close;
+ color: hifi.colors.lightGrayText;
size: 26;
anchors.top: parent.top;
anchors.topMargin: 10;
@@ -1100,6 +1170,7 @@ Item {
anchors.left: sendToText_paymentSuccess.right;
anchors.right: parent.right;
height: parent.height;
+ textColor: hifi.colors.blueAccent;
displayName: sendMoneyStep.selectedRecipientDisplayName;
userName: sendMoneyStep.selectedRecipientUserName;
@@ -1145,10 +1216,10 @@ Item {
anchors.verticalCenter: parent.verticalCenter;
height: 50;
// Style
- color: hifi.colors.baseGray;
+ color: hifi.colors.blueAccent;
}
- RalewaySemiBold {
+ FiraSansSemiBold {
id: amountSentText;
text: amountTextField.text;
// Anchors
@@ -1159,7 +1230,7 @@ Item {
height: 50;
// Style
size: 22;
- color: hifi.colors.baseGray;
+ color: hifi.colors.blueAccent;
}
}
@@ -1177,7 +1248,7 @@ Item {
// Text size
size: 22;
// Style
- color: hifi.colors.baseGray;
+ color: hifi.colors.blueAccent;
wrapMode: Text.Wrap;
verticalAlignment: Text.AlignTop;
}
@@ -1203,17 +1274,17 @@ Item {
// Payment Success END
// Payment Failure BEGIN
- Rectangle {
+ Item {
id: paymentFailure;
visible: root.currentActiveView === "paymentFailure";
anchors.fill: parent;
- color: "#AAAAAA";
Rectangle {
anchors.centerIn: parent;
width: parent.width - 30;
height: parent.height - 30;
+ color: "#FFFFFF";
RalewaySemiBold {
id: paymentFailureText;
@@ -1234,6 +1305,7 @@ Item {
HiFiGlyphs {
id: closeGlyphButton_paymentFailure;
text: hifi.glyphs.close;
+ color: hifi.colors.lightGrayText;
size: 26;
anchors.top: parent.top;
anchors.topMargin: 10;
@@ -1303,6 +1375,7 @@ Item {
anchors.left: sentToText_paymentFailure.right;
anchors.right: parent.right;
height: parent.height;
+ textColor: hifi.colors.baseGray;
displayName: sendMoneyStep.selectedRecipientDisplayName;
userName: sendMoneyStep.selectedRecipientUserName;
@@ -1351,7 +1424,7 @@ Item {
color: hifi.colors.baseGray;
}
- RalewaySemiBold {
+ FiraSansSemiBold {
id: amountSentText_paymentFailure;
text: amountTextField.text;
// Anchors
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/connection.svg b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/connection.svg
new file mode 100644
index 0000000000..7c5403fda3
--- /dev/null
+++ b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/connection.svg
@@ -0,0 +1,14 @@
+
+
+
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/loader.gif b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/loader.gif
new file mode 100644
index 0000000000..0536bd1884
Binary files /dev/null and b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/loader.gif differ
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/nearby.svg b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/nearby.svg
new file mode 100644
index 0000000000..dec87e658d
--- /dev/null
+++ b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/nearby.svg
@@ -0,0 +1,27 @@
+
+
+
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/p2p-nearby-selected.svg b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/p2p-nearby-selected.svg
new file mode 100644
index 0000000000..59635a99b1
--- /dev/null
+++ b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/p2p-nearby-selected.svg
@@ -0,0 +1,27 @@
+
+
+
diff --git a/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/p2p-nearby-unselected.svg b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/p2p-nearby-unselected.svg
new file mode 100644
index 0000000000..bba07b9567
--- /dev/null
+++ b/interface/resources/qml/hifi/commerce/wallet/sendMoney/images/p2p-nearby-unselected.svg
@@ -0,0 +1,30 @@
+
+
+
diff --git a/scripts/system/commerce/wallet.js b/scripts/system/commerce/wallet.js
index f93d6714f1..ad864622ed 100644
--- a/scripts/system/commerce/wallet.js
+++ b/scripts/system/commerce/wallet.js
@@ -593,10 +593,16 @@
getConnectionData(false);
break;
case 'enable_ChooseRecipientNearbyMode':
- Script.update.connect(updateOverlays);
+ if (!isUpdateOverlaysWired) {
+ Script.update.connect(updateOverlays);
+ isUpdateOverlaysWired = true;
+ }
break;
case 'disable_ChooseRecipientNearbyMode':
- Script.update.disconnect(updateOverlays);
+ if (isUpdateOverlaysWired) {
+ Script.update.disconnect(updateOverlays);
+ isUpdateOverlaysWired = false;
+ }
removeOverlays();
break;
default:
@@ -681,14 +687,18 @@
}
}
var isWired = false;
+ var isUpdateOverlaysWired = false;
function off() {
if (isWired) { // It is not ok to disconnect these twice, hence guard.
Users.usernameFromIDReply.disconnect(usernameFromIDReply);
- Script.update.disconnect(updateOverlays);
Controller.mousePressEvent.disconnect(handleMouseEvent);
Controller.mouseMoveEvent.disconnect(handleMouseMoveEvent);
isWired = false;
}
+ if (isUpdateOverlaysWired) {
+ Script.update.disconnect(updateOverlays);
+ isUpdateOverlaysWired = false;
+ }
triggerMapping.disable(); // It's ok if we disable twice.
triggerPressMapping.disable(); // see above
removeOverlays();