Skip to content

Conversation

Khushboo-dev-cpp
Copy link
Contributor

@Khushboo-dev-cpp Khushboo-dev-cpp commented Aug 29, 2025

What does the PR do

Implements the Privacy walls for Wallet and Market tabs when Thirdparty services are disabled as defined in designs here https://www.figma.com/design/idUoxN7OIW2Jpp3PMJ1Rl8/Settings----Desktop-Legacy?node-id=26301-22159&m=dev

Affected areas

Architecture compliance

Screencapture of the functionality

Screen.Recording.2025-08-29.at.15.07.58.mov
Screen.Recording.2025-08-29.at.15.44.43.mov

Impact on end user

How to test

Risk

@Khushboo-dev-cpp Khushboo-dev-cpp requested review from vkjr and removed request for a team August 29, 2025 13:10
@status-im-auto
Copy link
Member

status-im-auto commented Aug 29, 2025

Jenkins Builds

Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ b268ecb #1 2025-08-29 13:17:32 ~7 min tests/nim 📄log
✔️ b268ecb #1 2025-08-29 13:23:35 ~13 min tests/ui 📄log
✔️ b268ecb #1 2025-08-29 13:27:04 ~16 min linux/x86_64 📦tgz
✔️ b268ecb #1 2025-08-29 13:27:56 ~17 min macos/aarch64-nwaku 🍎dmg
✔️ b268ecb #1 2025-08-29 13:28:06 ~17 min macos/aarch64 🍎dmg
✔️ b268ecb pr18750 2025-08-29 13:38:12 ~11 min tests/e2e 📊rpt
✔️ b268ecb #1 2025-08-29 13:38:23 ~27 min linux/x86_64-nwaku 📦tgz
✔️ b268ecb #1 2025-08-29 13:39:07 ~28 min windows/x86_64 💿exe
✔️ 43ea202 #2 2025-08-29 13:51:29 ~7 min tests/nim 📄log
✔️ 43ea202 #2 2025-08-29 13:56:25 ~12 min tests/ui 📄log
✔️ 43ea202 #2 2025-08-29 14:06:06 ~22 min linux/x86_64-nwaku 📦tgz
✔️ 43ea202 #2 2025-08-29 14:08:08 ~23 min windows/x86_64 💿exe

Copy link
Member

@caybro caybro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM in general, jsut some small things

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Those PNG screenshots are unusually big (as in filesize) for their small size... have you tried running optipng on them?

@@ -856,6 +856,9 @@ Item {
}
return username
}

readonly property bool thirdPartyServicesDisbaled: featureFlagsStore.privacyModeFeatureEnabled &&
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
readonly property bool thirdPartyServicesDisbaled: featureFlagsStore.privacyModeFeatureEnabled &&
readonly property bool thirdPartyServicesDisabled: featureFlagsStore.privacyModeFeatureEnabled &&

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a typo

dappMetrics.logNavigationEvent(DAppsMetrics.DAppsNavigationAction.DAppConnectInitiated)
dAppsServiceLoader.dappConnectRequested()
}
onDappDisconnectRequested: (dappUrl) => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See how the indentation is messed up inside the lambda... it's a QtCreator bug indeed but that's why I actually prefer the function(dappUrl) {} syntax here

Copy link
Contributor

@noeliaSD noeliaSD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job @Khushboo-dev-cpp !

Tested on desktop and mobile. I've posted some comments in code and here are some other issues and suggestions I want to share:

Issues:

  • In wallet section, Organize collectibles your way - 3rd carousel image - the title is missing:
Screenshot 2025-09-05 at 11 49 04
  • Wrong word here when in market section:
Screenshot 2025-09-05 at 12 02 08
  • We should remove this selection Open in Status for mobile platforms since browser is not available there yet and if selected, it drives the app to a white screen non return page:
Screen.Recording.2025-09-05.at.12.47.12.mov

Design suggestions / concerns:

  • I think we should change the selected section icon color in light mode when in privacy mode since it's vaguely visible (also the hover color):
Screenshot 2025-09-05 at 11 42 32
  • I think it would be nicer if the screenshots on dark mode are also shown on dark mode.
  • Wdyt if we add some smooth transition in between each screenshot. I feel they appear abruptly. OR, maybe extending a bit the time for each image?

cc: @xAlisher for the design questions


MarketPrivacyWall {
onOpenThirdpartyServicesInfoPopupRequested: console.warn("Enable third party services requested")
onOpenDiscussPageRequested: console.warn("Open discuss page requested")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: You could create a Logs object and use the logs.logEvent so that we can see it inside a LogsAndControlsPanel component directly on the storybook environment

}
}

onEnableThirdpartyServicesRequested: console.warn("Enable third party services requested")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment than before!

id: root

WalletPrivacyWall {
onOpenThirdpartyServicesInfoPopupRequested: console.warn("Enable third party services requested")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment than before! ;)

@@ -27,7 +29,8 @@ Rectangle {

implicitWidth: 78

color: Theme.palette.statusAppNavBar.backgroundColor
color: root.thirdpartyServicesDisabled ?
Theme.palette.customisationColors.purple : Theme.palette.statusAppNavBar.backgroundColor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering if it would make sense to create a specific property in Theme.palette called something like privacyModeColor and do the asignement of the specific color inside the palette component?

image: "wallet/placeholders/swapView"
}
ListElement {
header: qsTr("Organize collectibles your way")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this is the issue I posted on the global comment:

Suggested change
header: qsTr("Organize collectibles your way")
primary: qsTr("Organize collectibles your way")

@@ -856,6 +856,9 @@ Item {
}
return username
}

readonly property bool thirdPartyServicesDisbaled: featureFlagsStore.privacyModeFeatureEnabled &&
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to create a property inside the main root store (ui/app/AppLayouts/stores/RootStore.qml) instead since it seems a really global setting for the app? I see it at the same / similar level than isProduction or isOnline properties.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having it on shared folder makes me feel it's a statusq one ¿maybe?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also a potential component to test on storybook?

font.pixelSize: Theme.additionalTextSize
wrapMode: Text.WordWrap

text: qsTr("Enable third-party services for wallet features to work.")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be customizable as well, so, or you add a new param in the model, or a property to set it up from outside.

Here it's the other issue described on the global comments, in case of market tab, the string changes slightly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants