diff --git a/src/app/global/feature_flags.nim b/src/app/global/feature_flags.nim
index cefaff64876..6fb2ddb9dc3 100644
--- a/src/app/global/feature_flags.nim
+++ b/src/app/global/feature_flags.nim
@@ -23,7 +23,7 @@ const DEFAULT_FLAG_SIMPLE_SEND_ENABLED = true
const DEFAULT_FLAG_MARKET_ENABLED = true
const DEFAULT_FLAG_HOMEPAGE_ENABLED = true
const DEFAULT_FLAG_LOCAL_BACKUP_ENABLED = true
-const DEFAULT_FLAG_PRIVACY_MODE_FEATURE_ENABLED = false
+const DEFAULT_FLAG_PRIVACY_MODE_FEATURE_ENABLED = true
# Compile time feature flags
const DEFAULT_FLAG_DAPPS_ENABLED = true
diff --git a/storybook/pages/BrowserPrivacyWallPage.qml b/storybook/pages/BrowserPrivacyWallPage.qml
new file mode 100644
index 00000000000..7904d4561a1
--- /dev/null
+++ b/storybook/pages/BrowserPrivacyWallPage.qml
@@ -0,0 +1,33 @@
+import QtQuick
+import QtQuick.Controls
+
+import AppLayouts.Browser
+
+import Storybook
+
+SplitView {
+ id: root
+
+ Logs { id: logs }
+
+ BrowserPrivacyWall {
+ SplitView.fillWidth: true
+ SplitView.fillHeight: true
+
+ onOpenThirdpartyServicesInfoPopupRequested: logs.logEvent("Enable third party services requested")
+ onOpenDiscussPageRequested: logs.logEvent("Open discuss page requested")
+ }
+
+ LogsAndControlsPanel {
+ id: logsAndControlsPanel
+
+ SplitView.minimumHeight: 100
+ SplitView.preferredHeight: 200
+
+ logsView.logText: logs.logText
+ }
+}
+
+// category: Layouts
+// status: good
+// https://www.figma.com/design/idUoxN7OIW2Jpp3PMJ1Rl8/Settings----Desktop-Legacy?node-id=27024-24709&m=dev
diff --git a/ui/StatusQ/CMakeLists.txt b/ui/StatusQ/CMakeLists.txt
index 0d400ab58b7..d3f85830bc0 100644
--- a/ui/StatusQ/CMakeLists.txt
+++ b/ui/StatusQ/CMakeLists.txt
@@ -140,6 +140,18 @@ if (${STATUSQ_SHADOW_BUILD})
src/assets/png/png.qrc
src/assets/twemoji/twemoji.qrc
src/assets/twemoji/twemoji-svg.qrc)
+
+ # Platform-specific PNG bundles
+ if(ANDROID OR IOS)
+ list(APPEND STATUSQ_QRC_FILES
+ src/assets/png/png-mobile.qrc
+ )
+ else()
+ list(APPEND STATUSQ_QRC_FILES
+ src/assets/png/png-desktop.qrc
+ )
+ endif()
+
if (${STATUSQ_STATIC_LIB})
# randlib would complain about the generated .o files. Generate cpp files instead.
qt_add_resources(STATUSQ_QRC_COMPILED ${STATUSQ_QRC_FILES})
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark-small.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark-small.png
new file mode 100644
index 00000000000..7ac1d5060fb
Binary files /dev/null and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark.png
new file mode 100644
index 00000000000..cff6ed76fed
Binary files /dev/null and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-light-small.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light-small.png
new file mode 100644
index 00000000000..0744ea13b6d
Binary files /dev/null and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/browser/placeholders/browser-light.png b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light.png
new file mode 100644
index 00000000000..ba425a21f1e
Binary files /dev/null and b/ui/StatusQ/src/assets/png/browser/placeholders/browser-light.png differ
diff --git a/ui/StatusQ/src/assets/png/market/swap-dark-small.png b/ui/StatusQ/src/assets/png/market/swap-dark-small.png
new file mode 100644
index 00000000000..61bd764b6dd
Binary files /dev/null and b/ui/StatusQ/src/assets/png/market/swap-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/market/swap-dark.png b/ui/StatusQ/src/assets/png/market/swap-dark.png
new file mode 100644
index 00000000000..c1f2b151de8
Binary files /dev/null and b/ui/StatusQ/src/assets/png/market/swap-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/market/swap-light-small.png b/ui/StatusQ/src/assets/png/market/swap-light-small.png
new file mode 100644
index 00000000000..deccb05bbdf
Binary files /dev/null and b/ui/StatusQ/src/assets/png/market/swap-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/market/swap.png b/ui/StatusQ/src/assets/png/market/swap-light.png
similarity index 100%
rename from ui/StatusQ/src/assets/png/market/swap.png
rename to ui/StatusQ/src/assets/png/market/swap-light.png
diff --git a/ui/StatusQ/src/assets/png/market/tradeCenter-dark-small.png b/ui/StatusQ/src/assets/png/market/tradeCenter-dark-small.png
new file mode 100644
index 00000000000..916a147b5a2
Binary files /dev/null and b/ui/StatusQ/src/assets/png/market/tradeCenter-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/market/tradeCenter-dark.png b/ui/StatusQ/src/assets/png/market/tradeCenter-dark.png
new file mode 100644
index 00000000000..0f8b8ff747a
Binary files /dev/null and b/ui/StatusQ/src/assets/png/market/tradeCenter-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/market/tradeCenter-light-small.png b/ui/StatusQ/src/assets/png/market/tradeCenter-light-small.png
new file mode 100644
index 00000000000..035b113bb8c
Binary files /dev/null and b/ui/StatusQ/src/assets/png/market/tradeCenter-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/market/tradeCenter.png b/ui/StatusQ/src/assets/png/market/tradeCenter-light.png
similarity index 100%
rename from ui/StatusQ/src/assets/png/market/tradeCenter.png
rename to ui/StatusQ/src/assets/png/market/tradeCenter-light.png
diff --git a/ui/StatusQ/src/assets/png/png-desktop.qrc b/ui/StatusQ/src/assets/png/png-desktop.qrc
new file mode 100644
index 00000000000..71bd23216a2
--- /dev/null
+++ b/ui/StatusQ/src/assets/png/png-desktop.qrc
@@ -0,0 +1,18 @@
+
+
+ market/tradeCenter-light.png
+ market/swap-light.png
+ market/tradeCenter-dark.png
+ market/swap-dark.png
+ wallet/placeholders/buyView-dark.png
+ wallet/placeholders/collectiblesView-dark.png
+ wallet/placeholders/swapView-dark.png
+ wallet/placeholders/mainView-dark.png
+ wallet/placeholders/swapView-light.png
+ wallet/placeholders/mainView-light.png
+ wallet/placeholders/collectiblesView-light.png
+ wallet/placeholders/buyView-light.png
+ browser/placeholders/browser-light.png
+ browser/placeholders/browser-dark.png
+
+
diff --git a/ui/StatusQ/src/assets/png/png-mobile.qrc b/ui/StatusQ/src/assets/png/png-mobile.qrc
new file mode 100644
index 00000000000..ad2b280bf0d
--- /dev/null
+++ b/ui/StatusQ/src/assets/png/png-mobile.qrc
@@ -0,0 +1,18 @@
+
+
+ market/tradeCenter-light-small.png
+ market/swap-light-small.png
+ market/tradeCenter-dark-small.png
+ market/swap-dark-small.png
+ wallet/placeholders/mainView-light-small.png
+ wallet/placeholders/collectiblesView-light-small.png
+ wallet/placeholders/buyView-light-small.png
+ wallet/placeholders/swapView-light-small.png
+ wallet/placeholders/mainView-dark-small.png
+ wallet/placeholders/collectiblesView-dark-small.png
+ wallet/placeholders/buyView-dark-small.png
+ wallet/placeholders/swapView-dark-small.png
+ browser/placeholders/browser-light-small.png
+ browser/placeholders/browser-dark-small.png
+
+
diff --git a/ui/StatusQ/src/assets/png/png.qrc b/ui/StatusQ/src/assets/png/png.qrc
index 00d4161f611..05e573a6803 100644
--- a/ui/StatusQ/src/assets/png/png.qrc
+++ b/ui/StatusQ/src/assets/png/png.qrc
@@ -924,11 +924,5 @@
status-logo-icon.png
status-preparing.png
unfurling-image.png
- wallet/placeholders/buyView.png
- wallet/placeholders/swapView.png
- wallet/placeholders/collectiblesView.png
- wallet/placeholders/mainView.png
- market/tradeCenter.png
- market/swap.png
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-dark-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-dark-small.png
new file mode 100644
index 00000000000..fd706cec533
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-dark.png b/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-dark.png
new file mode 100644
index 00000000000..67bc04149a9
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-light-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-light-small.png
new file mode 100644
index 00000000000..1468fd20fc3
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/buyView.png b/ui/StatusQ/src/assets/png/wallet/placeholders/buyView-light.png
similarity index 100%
rename from ui/StatusQ/src/assets/png/wallet/placeholders/buyView.png
rename to ui/StatusQ/src/assets/png/wallet/placeholders/buyView-light.png
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-dark-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-dark-small.png
new file mode 100644
index 00000000000..1714fe5be62
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-dark.png b/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-dark.png
new file mode 100644
index 00000000000..b8ade434c7f
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-light-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-light-small.png
new file mode 100644
index 00000000000..433f5e790ae
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView.png b/ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-light.png
similarity index 100%
rename from ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView.png
rename to ui/StatusQ/src/assets/png/wallet/placeholders/collectiblesView-light.png
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-dark-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-dark-small.png
new file mode 100644
index 00000000000..93eb6a5253f
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-dark.png b/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-dark.png
new file mode 100644
index 00000000000..65b04199fa9
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-light-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-light-small.png
new file mode 100644
index 00000000000..ee16be093e9
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/mainView.png b/ui/StatusQ/src/assets/png/wallet/placeholders/mainView-light.png
similarity index 100%
rename from ui/StatusQ/src/assets/png/wallet/placeholders/mainView.png
rename to ui/StatusQ/src/assets/png/wallet/placeholders/mainView-light.png
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-dark-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-dark-small.png
new file mode 100644
index 00000000000..10c72829c16
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-dark-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-dark.png b/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-dark.png
new file mode 100644
index 00000000000..18f62db615a
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-dark.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-light-small.png b/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-light-small.png
new file mode 100644
index 00000000000..dc686844923
Binary files /dev/null and b/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-light-small.png differ
diff --git a/ui/StatusQ/src/assets/png/wallet/placeholders/swapView.png b/ui/StatusQ/src/assets/png/wallet/placeholders/swapView-light.png
similarity index 100%
rename from ui/StatusQ/src/assets/png/wallet/placeholders/swapView.png
rename to ui/StatusQ/src/assets/png/wallet/placeholders/swapView-light.png
diff --git a/ui/StatusQ/src/typesregistration.cpp b/ui/StatusQ/src/typesregistration.cpp
index 1ffe5ace1e2..0b1686aaf29 100644
--- a/ui/StatusQ/src/typesregistration.cpp
+++ b/ui/StatusQ/src/typesregistration.cpp
@@ -101,6 +101,11 @@ void registerStatusQTypes() {
Q_INIT_RESOURCE(fonts);
Q_INIT_RESOURCE(img);
Q_INIT_RESOURCE(png);
+#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
+ Q_INIT_RESOURCE(png_mobile);
+#else
+ Q_INIT_RESOURCE(png_desktop);
+#endif
Q_INIT_RESOURCE(twemoji);
Q_INIT_RESOURCE(twemoji_svg);
#endif
diff --git a/ui/app/AppLayouts/Browser/BrowserPrivacyWall.qml b/ui/app/AppLayouts/Browser/BrowserPrivacyWall.qml
new file mode 100644
index 00000000000..a8fae2f95a6
--- /dev/null
+++ b/ui/app/AppLayouts/Browser/BrowserPrivacyWall.qml
@@ -0,0 +1,31 @@
+import QtQuick
+import QtQuick.Layouts
+
+import StatusQ.Layout
+
+import shared.panels
+import utils
+
+StatusSectionLayout {
+ id: root
+
+ signal openDiscussPageRequested()
+ signal openThirdpartyServicesInfoPopupRequested()
+
+ centerPanel: PrivacyWallCarousel {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+
+ infoText: qsTr("Enable third-party services for browser features to work.")
+ model: ListModel {
+ ListElement {
+ primary: qsTr("Dapp browser")
+ secondary: qsTr("Browse decentralized apps")
+ image: "browser/placeholders/browser"
+ }
+ }
+
+ onEnableThirdpartyServicesRequested: root.openThirdpartyServicesInfoPopupRequested()
+ onOpenDiscussPageRequested: root.openDiscussPageRequested()
+ }
+}
diff --git a/ui/app/AppLayouts/Browser/qmldir b/ui/app/AppLayouts/Browser/qmldir
index b0b245e68f2..4ed99e81f74 100644
--- a/ui/app/AppLayouts/Browser/qmldir
+++ b/ui/app/AppLayouts/Browser/qmldir
@@ -1 +1,2 @@
BrowserLayout 1.0 BrowserLayout.qml
+BrowserPrivacyWall 1.0 BrowserPrivacyWall.qml
diff --git a/ui/app/AppLayouts/Onboarding/OnboardingFlow.qml b/ui/app/AppLayouts/Onboarding/OnboardingFlow.qml
index c5ad795fd5a..eb93489fae8 100644
--- a/ui/app/AppLayouts/Onboarding/OnboardingFlow.qml
+++ b/ui/app/AppLayouts/Onboarding/OnboardingFlow.qml
@@ -278,6 +278,7 @@ OnboardingStackView {
NewAccountLoginPage {
networkChecksEnabled: root.networkChecksEnabled
isKeycardEnabled: root.isKeycardEnabled
+ thirdpartyServicesEnabled: root.thirdpartyServicesEnabled
onLoginWithSyncingRequested: root.push(logInBySyncingFlow)
onLoginWithKeycardRequested: root.push(loginWithKeycardFlow)
diff --git a/ui/app/AppLayouts/Onboarding/pages/NewAccountLoginPage.qml b/ui/app/AppLayouts/Onboarding/pages/NewAccountLoginPage.qml
index 88a34998023..f318b5777ae 100644
--- a/ui/app/AppLayouts/Onboarding/pages/NewAccountLoginPage.qml
+++ b/ui/app/AppLayouts/Onboarding/pages/NewAccountLoginPage.qml
@@ -19,6 +19,7 @@ OnboardingPage {
id: root
required property bool networkChecksEnabled
+ required property bool thirdpartyServicesEnabled
property bool isKeycardEnabled: true
@@ -126,7 +127,7 @@ OnboardingPage {
NetworkChecker {
id: netChecker
- active: root.networkChecksEnabled
+ active: root.networkChecksEnabled && root.thirdpartyServicesEnabled
}
Component {
diff --git a/ui/app/mainui/AppMain.qml b/ui/app/mainui/AppMain.qml
index 666a388fea2..a7c52d0f8cb 100644
--- a/ui/app/mainui/AppMain.qml
+++ b/ui/app/mainui/AppMain.qml
@@ -2046,24 +2046,44 @@ Item {
restoreMode: Binding.RestoreNone
}
- sourceComponent: BrowserLayout {
- id: browserLayout
- userUID: appMain.profileStore.pubKey
- thirdpartyServicesEnabled: appMain.rootStore.thirdpartyServicesEnabled
- navBar: appMain.navBar
- bookmarksStore: BrowserStores.BookmarksStore {}
- downloadsStore: BrowserStores.DownloadsStore {}
- browserRootStore: BrowserStores.BrowserRootStore {}
- browserWalletStore: BrowserStores.BrowserWalletStore {}
- web3ProviderStore: BrowserStores.Web3ProviderStore {
- dappBrowserAccountAddress: browserLayout.browserWalletStore.dappBrowserAccount.address
+ sourceComponent: appMain.rootStore.thirdpartyServicesEnabled ? browserLayout: browserPrivacyWall
+
+ Component {
+ id: browserPrivacyWall
+
+ BrowserPrivacyWall {
+ navBar: appMain.navBar
+
+ onOpenThirdpartyServicesInfoPopupRequested: popupRequestsHandler.thirdpartyServicesPopupHandler.openPopup()
+ onOpenDiscussPageRequested: Global.openLinkWithConfirmation(
+ Constants.statusDiscussPageUrl,
+ SQUtils.StringUtils.extractDomainFromLink(Constants.statusDiscussPageUrl))
}
+ }
- transactionStore: appMain.transactionStore
- assetsStore: appMain.walletAssetsStore
- currencyStore: appMain.currencyStore
- tokensStore: appMain.tokensStore
- onSendToRecipientRequested: (address) => popupRequestsHandler.sendModalHandler.sendToRecipient(address)
+ Component {
+ id: browserLayout
+
+ BrowserLayout {
+ id: browserLayoutItem
+
+ userUID: appMain.profileStore.pubKey
+ thirdpartyServicesEnabled: appMain.rootStore.thirdpartyServicesEnabled
+ navBar: appMain.navBar
+ bookmarksStore: BrowserStores.BookmarksStore {}
+ downloadsStore: BrowserStores.DownloadsStore {}
+ browserRootStore: BrowserStores.BrowserRootStore {}
+ browserWalletStore: BrowserStores.BrowserWalletStore {}
+ web3ProviderStore: BrowserStores.Web3ProviderStore {
+ dappBrowserAccountAddress: browserLayoutItem.browserWalletStore.dappBrowserAccount.address
+ }
+
+ transactionStore: appMain.transactionStore
+ assetsStore: appMain.walletAssetsStore
+ currencyStore: appMain.currencyStore
+ tokensStore: appMain.tokensStore
+ onSendToRecipientRequested: (address) => popupRequestsHandler.sendModalHandler.sendToRecipient(address)
+ }
}
}
diff --git a/ui/i18n/qml_base_en.ts b/ui/i18n/qml_base_en.ts
index 203383c4dc2..156b4a36b62 100644
--- a/ui/i18n/qml_base_en.ts
+++ b/ui/i18n/qml_base_en.ts
@@ -2534,6 +2534,21 @@ Do you wish to override the security check and continue?
+
+ BrowserPrivacyWall
+
+ Enable third-party services for browser features to work.
+
+
+
+ Dapp browser
+
+
+
+ Browse decentralized apps
+
+
+
BrowserSettingsMenu
diff --git a/ui/i18n/qml_base_lokalise_en.ts b/ui/i18n/qml_base_lokalise_en.ts
index e534215eb08..fb909260067 100644
--- a/ui/i18n/qml_base_lokalise_en.ts
+++ b/ui/i18n/qml_base_lokalise_en.ts
@@ -3102,6 +3102,24 @@
If you wish so, you may continue with an unverified certificate. Accepting an unverified certificate means you may not be connected with the host you tried to connect to.
Do you wish to override the security check and continue?
+
+ BrowserPrivacyWall
+
+ Enable third-party services for browser features to work.
+ BrowserPrivacyWall
+ Enable third-party services for browser features to work.
+
+
+ Dapp browser
+ BrowserPrivacyWall
+ Dapp browser
+
+
+ Browse decentralized apps
+ BrowserPrivacyWall
+ Browse decentralized apps
+
+
BrowserSettingsMenu
diff --git a/ui/i18n/qml_cs.ts b/ui/i18n/qml_cs.ts
index 31d27e5f686..19ee98246db 100644
--- a/ui/i18n/qml_cs.ts
+++ b/ui/i18n/qml_cs.ts
@@ -2541,6 +2541,21 @@ Do you wish to override the security check and continue?
+
+ BrowserPrivacyWall
+
+ Enable third-party services for browser features to work.
+
+
+
+ Dapp browser
+
+
+
+ Browse decentralized apps
+
+
+
BrowserSettingsMenu
diff --git a/ui/i18n/qml_ko.ts b/ui/i18n/qml_ko.ts
index fcfc0d0306c..6ebaf49183e 100644
--- a/ui/i18n/qml_ko.ts
+++ b/ui/i18n/qml_ko.ts
@@ -2527,6 +2527,21 @@ Do you wish to override the security check and continue?
원하신다면, 검증되지 않은 인증서로 계속할 수 있습니다. 검증되지 않은 인증서를 수락하면, 시도한 호스트와 실제로 연결되지 않을 수 있습니다.\n보안 검사를 무시하고 계속하시겠습니까?
+
+ BrowserPrivacyWall
+
+ Enable third-party services for browser features to work.
+
+
+
+ Dapp browser
+
+
+
+ Browse decentralized apps
+
+
+
BrowserSettingsMenu
diff --git a/ui/imports/shared/panels/PrivacyWallCarousel.qml b/ui/imports/shared/panels/PrivacyWallCarousel.qml
index 4c070a888f6..bef2834f426 100644
--- a/ui/imports/shared/panels/PrivacyWallCarousel.qml
+++ b/ui/imports/shared/panels/PrivacyWallCarousel.qml
@@ -20,6 +20,22 @@ Control {
signal openDiscussPageRequested()
signal enableThirdpartyServicesRequested()
+ QtObject {
+ id: d
+ readonly property var window: root.contentItem.Window.window
+ readonly property int windowWidth: window ? window.width: Screen.width
+ readonly property int windowHeight: window ? window.height: Screen.height
+ readonly property bool isSmallPortraitScreen: windowHeight > windowWidth
+ // The max width of a phone in portrait mode
+ && windowWidth <= Theme.portraitBreakpoint.width
+ function getImagePath(currentIndex) {
+ const imageName = root.model.get(currentIndex).image
+ const platformPostfix = isSmallPortraitScreen ? "-small": ""
+ const imagePath = "%1-%2%3".arg(imageName).arg(Theme.palette.name).arg(platformPostfix)
+ return Theme.png(imagePath)
+ }
+ }
+
verticalPadding: Theme.xlPadding
horizontalPadding: Theme.xlPadding * 2
@@ -28,30 +44,49 @@ Control {
Item { Layout.fillHeight: true }
- StatusBaseText {
+ ColumnLayout {
+ readonly property int maxChildrenHeight: (primaryText.maximumLineCount * primaryText.lineHeight) +
+ (secondaryText.maximumLineCount * secondaryText.lineHeight)
+
Layout.fillWidth: true
+ Layout.preferredHeight: maxChildrenHeight
+ Layout.maximumHeight: maxChildrenHeight
+ spacing: 0
- horizontalAlignment: Text.AlignHCenter
- font.weight: Font.Bold
- font.pixelSize: 22
- lineHeightMode: Text.FixedHeight
- lineHeight: 30
- wrapMode: Text.WordWrap
+ Item { Layout.fillHeight: true }
- text: root.model.get(pageIndicator.currentIndex).primary
- }
+ StatusBaseText {
+ id: primaryText
- StatusBaseText {
- Layout.topMargin: -parent.spacing
- Layout.fillWidth: true
+ Layout.fillWidth: true
+ Layout.alignment: Qt.AlignBottom
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: Theme.additionalTextSize
- lineHeightMode: Text.FixedHeight
- lineHeight: 18
- wrapMode: Text.WordWrap
+ horizontalAlignment: Text.AlignHCenter
+ font.weight: Font.Bold
+ font.pixelSize: 22
+ wrapMode: Text.WordWrap
+ lineHeightMode: Text.FixedHeight
+ lineHeight: 30
+ maximumLineCount: 2
+
+ text: root.model.get(pageIndicator.currentIndex).primary
+ }
- text: root.model.get(pageIndicator.currentIndex).secondary
+ StatusBaseText {
+ id: secondaryText
+
+ Layout.fillWidth: true
+ Layout.alignment: Qt.AlignBottom
+
+ horizontalAlignment: Text.AlignHCenter
+ font.pixelSize: Theme.additionalTextSize
+ lineHeightMode: Text.FixedHeight
+ lineHeight: 18
+ wrapMode: Text.WordWrap
+ maximumLineCount: 2
+
+ text: root.model.get(pageIndicator.currentIndex).secondary
+ }
}
Image {
@@ -74,7 +109,7 @@ Control {
id: fadeSwap
OpacityAnimator { target: placeholderImage; from: 1; to: 0; duration: 500;}
PropertyAction { target: placeholderImage; property: "source";
- value: Theme.png(root.model.get(pageIndicator.currentIndex).image) }
+ value: d.getImagePath(pageIndicator.currentIndex) }
OpacityAnimator { target: placeholderImage; from: 0; to: 1; duration: 500; }
}
@@ -89,7 +124,7 @@ Control {
}
Component.onCompleted: {
- placeholderImage.source = Theme.png(root.model.get(pageIndicator.currentIndex).image)
+ placeholderImage.source = d.getImagePath(pageIndicator.currentIndex)
initialized = true
}
}
@@ -101,6 +136,7 @@ Control {
Layout.maximumWidth: parent.width
count: root.model.count
+ visible: count > 1
}
StatusBaseText {
diff --git a/ui/nim-status-client.pro b/ui/nim-status-client.pro
index fc2d9956115..59c74911b4e 100644
--- a/ui/nim-status-client.pro
+++ b/ui/nim-status-client.pro
@@ -42,6 +42,8 @@ RESOURCES += resources.qrc \
StatusQ/src/assets/fonts/fonts.qrc \
StatusQ/src/assets/img/img.qrc \
StatusQ/src/assets/png/png.qrc \
+ StatusQ/src/assets/png/png-desktop.qrc \
+ StatusQ/src/assets/png/png-mobile.qrc \
StatusQ/src/assets/twemoji/twemoji.qrc \
StatusQ/src/assets/twemoji/twemoji-big.qrc \
StatusQ/src/assets/twemoji/twemoji-svg.qrc \
diff --git a/vendor/status-go b/vendor/status-go
index c3bd89f1c8e..30bbd40f98d 160000
--- a/vendor/status-go
+++ b/vendor/status-go
@@ -1 +1 @@
-Subproject commit c3bd89f1c8e7d2c2af8c757a2e7623e50737c9cf
+Subproject commit 30bbd40f98d65c5896e4d302b8714cd7fe0d0a6a