feat(profile): Make terms of use and privacy policy easily accessible (#21759)

* Fix `:true` keyword being used in navigation screens.

* Add about screen, terms of use and privacy policy links

* Remove old about app screen
This commit is contained in:
Ulises Manuel 2024-12-11 13:15:26 -06:00 committed by Alexander Pantiukhov
parent a5b001f237
commit 744ba2917e
No known key found for this signature in database
12 changed files with 249 additions and 149 deletions

View File

@ -1,67 +0,0 @@
(ns legacy.status-im.ui.screens.about-app.views
(:require
[legacy.status-im.ui.components.colors :as colors]
[legacy.status-im.ui.components.copyable-text :as copyable-text]
[legacy.status-im.ui.components.icons.icons :as icons]
[legacy.status-im.ui.components.list.item :as list.item]
[legacy.status-im.ui.components.react :as react]
[quo.core :as quo]
[utils.i18n :as i18n]
[utils.re-frame :as rf])
(:require-macros [legacy.status-im.utils.views :as views]))
(views/defview about-app
[]
(views/letsubs [app-version [:get-app-short-version]
commit-hash [:get-commit-hash]
node-version [:get-app-node-version]]
[:<>
[quo/page-nav
{:type :title
:title (i18n/label :t/about-app)
:background :blur
:icon-name :i/close
:on-press #(rf/dispatch [:navigate-back])}]
[react/scroll-view
[copyable-text/copyable-text-view
{:copied-text app-version}
[list.item/list-item
{:size :small
:accessibility-label :app-version
:title (i18n/label :t/version)
:accessory :text
:accessory-text app-version}]]
[copyable-text/copyable-text-view
{:copied-text commit-hash}
[list.item/list-item
{:size :small
:accessibility-label :commit-hash
:title (i18n/label :t/app-commit)
:accessory :text
:accessory-text commit-hash}]]
[copyable-text/copyable-text-view
{:copied-text node-version}
[list.item/list-item
{:size :small
:accessibility-label :node-version
:title (i18n/label :t/node-version)
:accessory :text
:accessory-text node-version}]]]]))
(views/defview learn-more-sheet
[]
(views/letsubs [{:keys [title content]} [:bottom-sheet/options]]
[react/view
{:style {:padding-left 16
:padding-top 16
:padding-right 34
:padding-bottom 0}}
[react/view {:style {:align-items :center :flex-direction :row :margin-bottom 16}}
[icons/icon :main-icons/info
{:color colors/blue
:container-style {:margin-right 13}}]
[react/text {:style {:typography :title-bold}} title]]
[react/text {:style {:color colors/gray}} content]]))
(def learn-more
{:content learn-more-sheet})

View File

@ -1,7 +1,6 @@
(ns legacy.status-im.ui.screens.screens
(:require
[legacy.status-im.ui.components.colors :as colors]
[legacy.status-im.ui.screens.about-app.views :as about-app]
[legacy.status-im.ui.screens.advanced-settings.views :as advanced-settings]
[legacy.status-im.ui.screens.appearance.views :as appearance]
[legacy.status-im.ui.screens.backup-settings.view :as backup-settings]
@ -93,12 +92,6 @@
:insets {:top? platform/android?}}
:component sync-settings/sync-settings}
;; ABOUT
{:name :about-app
:options {:topBar {:visible false}
:insets {:top? platform/android?}}
:component about-app/about-app}
;; STATUS HELP
{:name :help-center
:options {:topBar {:visible false}

View File

@ -16,7 +16,8 @@
[rn/view {:style (style/loading-container size blur? theme)}]))
(defn- left-subtitle
[{:keys [size subtitle-type subtitle-color icon icon-color blur? subtitle customization-color emoji
[{:keys [size subtitle-text-props subtitle-type subtitle-color icon icon-color blur? subtitle
customization-color emoji
network-image]
:or {subtitle-type :default}}]
(let [theme (quo.theme/use-theme)]
@ -39,9 +40,10 @@
:style style/image}]
nil)])
[text/text
{:weight :medium
:size :paragraph-2
:style (style/description subtitle-color blur? theme)}
(merge {:weight :medium
:size :paragraph-2
:style (style/description subtitle-color blur? theme)}
subtitle-text-props)
subtitle]
(when (= subtitle-type :editable)
[icons/icon :i/edit
@ -75,7 +77,8 @@
(defn- left-side
"The description can either be given as a string `subtitle-type` or a component `custom-subtitle`"
[{:keys [title status size blur? custom-subtitle icon subtitle subtitle-type subtitle-color icon-color
[{:keys [title subtitle-text-props status size blur? custom-subtitle icon subtitle subtitle-type
subtitle-color icon-color
customization-color network-image emoji title-icon]
:as props}]
(let [theme (quo.theme/use-theme)]
@ -94,6 +97,7 @@
[custom-subtitle props]
[left-subtitle
{:theme theme
:subtitle-text-props subtitle-text-props
:size size
:subtitle-type subtitle-type
:subtitle-color subtitle-color
@ -140,6 +144,7 @@
[:size {:optional true} [:maybe [:enum :default :small :large]]]
[:title :string]
[:subtitle {:optional true} [:maybe [:or :string :double]]]
[:subtitle-text-props {:optional true} [:maybe :map]]
[:custom-subtitle {:optional true} [:maybe fn?]]
[:icon {:optional true} [:maybe :keyword]]
[:title-icon {:optional true} [:maybe :keyword]]

View File

@ -1,11 +1,20 @@
(ns status-im.common.privacy.view
(:require-macros [legacy.status-im.utils.slurp :refer [slurp]])
(:require [quo.core :as quo]
[react-native.gesture :as gesture]))
[react-native.gesture :as gesture]
[status-im.contexts.settings.common.header :as header]
[utils.i18n :as i18n]))
(def privacy-statement-text (slurp "resources/privacy.mdwn"))
(defn privacy-statement
[]
[gesture/scroll-view {:margin 20}
[gesture/scroll-view {:style {:margin 20}}
[quo/text privacy-statement-text]])
(defn view
[]
[quo/overlay {:type :shell}
[header/view {:title (i18n/label :t/privacy-policy)}]
[gesture/scroll-view {:style {:padding-horizontal 20}}
[quo/text privacy-statement-text]]])

View File

@ -1,11 +1,20 @@
(ns status-im.common.terms.view
(:require-macros [legacy.status-im.utils.slurp :refer [slurp]])
(:require [quo.core :as quo]
[react-native.gesture :as gesture]))
[react-native.gesture :as gesture]
[status-im.contexts.settings.common.header :as header]
[utils.i18n :as i18n]))
(def terms-of-use-text (slurp "resources/terms-of-use.mdwn"))
(defn terms-of-use
[]
[gesture/scroll-view {:margin 20}
[gesture/scroll-view {:style {:margin 20}}
[quo/text terms-of-use-text]])
(defn view
[]
[quo/overlay {:type :shell}
[header/view {:title (i18n/label :t/terms-of-service)}]
[gesture/scroll-view {:style {:padding-horizontal 20}}
[quo/text terms-of-use-text]]])

View File

@ -642,3 +642,9 @@
(def ^:const wallet-connect-transaction-refresh-interval-ms 10000)
(def ^:const native-token-symbol "ETH")
;; About app links
(def ^:const status-app-url "http://status.app")
(def ^:const go-waku-url "https://github.com/waku-org/go-waku")
(def ^:const status-go-url "https://github.com/status-im/status-go")
(def ^:const status-mobile-url "https://github.com/status-im/status-mobile")

View File

@ -125,7 +125,7 @@
:blur? true
:image-props :i/light})]
[{:title (i18n/label :t/about)
:on-press #(rf/dispatch [:open-modal :about-app])
:on-press #(rf/dispatch [:open-modal :screen/settings.about])
:action :arrow
:blur? true}
{:title (i18n/label :t/status-help)

View File

@ -0,0 +1,9 @@
(ns status-im.contexts.settings.about.style)
(def category-spacing {:padding-bottom 12})
(def app-info-container
{:padding-horizontal 20
:padding-top 8
:padding-bottom 16
:row-gap 16})

View File

@ -0,0 +1,101 @@
(ns status-im.contexts.settings.about.view
(:require [quo.core :as quo]
[react-native.core :as rn]
[status-im.constants :as constants]
[status-im.contexts.settings.about.style :as style]
[status-im.contexts.settings.common.header :as header]
[utils.i18n :as i18n]
[utils.re-frame :as rf]))
(defn- open-link
[url]
(rf/dispatch [:browser.ui/open-url url]))
(defn- copy
[data item-name]
(rf/dispatch [:share/copy-text-and-show-toast
{:text-to-copy data
:post-copy-message (str item-name
" "
(i18n/label :t/sharing-copied-to-clipboard))}]))
(def about-data
[{:app-info? true}
{:category-label (i18n/label :t/website)
:items [{:title "status.app"
:on-press #(open-link constants/status-app-url)
:blur? true
:action :arrow
:action-props {:icon :i/external}}]}
{:category-label (i18n/label :t/github-repos)
:items [{:title "status-mobile"
:on-press #(open-link constants/status-mobile-url)
:blur? true
:action :arrow
:action-props {:icon :i/external}}
{:title "status-go"
:on-press #(open-link constants/status-go-url)
:blur? true
:action :arrow
:action-props {:icon :i/external}}
{:title "go-waku"
:on-press #(open-link constants/go-waku-url)
:blur? true
:action :arrow
:action-props {:icon :i/external}}]}
{:category-label (i18n/label :t/documents)
:items [{:title (i18n/label :t/privacy-policy)
:on-press #(rf/dispatch [:open-modal :screen/settings.privacy-policy])
:blur? true
:action :arrow}
{:title (i18n/label :t/terms-of-service)
:on-press #(rf/dispatch [:open-modal :screen/settings.terms-of-use])
:blur? true
:action :arrow}]}])
(defn info-item
[{:keys [title info]}]
[quo/data-item
{:size :default
:status :default
:right-icon :i/copy
:card? true
:blur? true
:title title
:on-press #(copy info title)
:subtitle info
:subtitle-type :default
:subtitle-text-props {:number-of-lines 1
:ellipsize-mode :middle}}])
(defn- app-info
[]
(let [app-version (rf/sub [:get-app-short-version])
commit-hash (rf/sub [:get-commit-hash])
node-version (rf/sub [:get-app-node-version])]
[rn/view {:style style/app-info-container}
[info-item {:title (i18n/label :t/version) :info app-version}]
[info-item {:title (i18n/label :t/app-commit) :info commit-hash}]
[info-item {:title (i18n/label :t/node-version) :info node-version}]]))
(defn category
[{:keys [app-info? category-label items]}]
(if app-info?
[app-info]
[quo/category
{:label category-label
:list-type :settings
:container-style style/category-spacing
:blur? true
:data items}]))
(defn view
[]
[quo/overlay {:type :shell}
[header/view {:title (i18n/label :t/about)}]
[rn/flat-list
{:data about-data
:shows-vertical-scroll-indicator false
:render-fn category
:bounces false
:over-scroll-mode :never}]])

View File

@ -0,0 +1,14 @@
(ns status-im.contexts.settings.common.header
(:require [quo.core :as quo]
[react-native.core :as rn]
[react-native.safe-area :as safe-area]
[status-im.common.events-helper :as events-helper]))
(defn view
[{:keys [title]}]
[rn/view {:style {:padding-top (safe-area/get-top)}}
[quo/page-nav
{:background :blur
:icon-name :i/arrow-left
:on-press events-helper/navigate-back}]
[quo/page-top {:title title}]])

View File

@ -6,6 +6,8 @@
[status-im.common.enter-seed-phrase.view :as enter-seed-phrase]
[status-im.common.lightbox.view :as lightbox]
[status-im.common.pdf-viewer.view :as pdf-viewer]
[status-im.common.privacy.view :as privacy-policy]
[status-im.common.terms.view :as terms-of-use]
[status-im.config :as config]
[status-im.contexts.chat.group.create.view :as group.create]
[status-im.contexts.chat.group.details.view :as group.details]
@ -73,6 +75,7 @@
[status-im.contexts.profile.settings.screens.password.view :as settings-password]
[status-im.contexts.profile.settings.screens.syncing.view :as settings.syncing]
[status-im.contexts.profile.settings.view :as settings]
[status-im.contexts.settings.about.view :as settings.about]
[status-im.contexts.settings.keycard.view :as settings.keycard]
[status-im.contexts.settings.language-and-currency.currency.view :as settings.currency-selection]
[status-im.contexts.settings.language-and-currency.view :as settings.language-and-currency]
@ -153,39 +156,39 @@
(def chat-screens
[{:name :start-a-new-chat
:metrics {:track? :true
:metrics {:track? true
:alias-id :messenger.new-chat}
:options {:sheet? true}
:component new-chat/view}
{:name :chat
:metrics {:track? :true
:metrics {:track? true
:alias-id :messenger.chat}
:options {:popGesture false
:animations transitions/stack-transition-from-bottom}
:component chat/chat}
{:name :screen/group-create
:metrics {:track? :true
:metrics {:track? true
:alias-id :messenger.new-group}
:options {:sheet? true
:skip-background? true}
:component group.create/view}
{:name :screen/group-details
:metrics {:track? :true
:metrics {:track? true
:alias-id :messenger.group-details}
:component group.details/view}
{:name :screen/group-update
:metrics {:track? :true
:metrics {:track? true
:alias-id :messenger.group-update}
:options {:sheet? true
:skip-background? true}
:component group.update/view}
{:name :screen/group-add-manage-members
:metrics {:track? :true
:metrics {:track? true
:flow :messenger
:alias-id :messenger.group-manage-members}
:options {:sheet? true}
@ -193,12 +196,12 @@
(def community-screens
[{:name :discover-communities
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.discover}
:component communities.discover/view}
{:name :community-overview
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.overview}
:options {:animations transitions/stack-transition-from-bottom}
:component communities.overview/view}
@ -207,79 +210,79 @@
;; joining a community. The non-sheet screen is used when editing shared
;; addresses after the join request was sent.
{:name :community-account-selection-sheet
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.select-addresses-for-joining-community}
:options {:sheet? true}
:component communities.accounts-selection/view}
{:name :community-account-selection
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.select-addresses-for-community}
:options {:insets {:top? true}}
:component communities.accounts-selection/view}
{:name :community-requests-to-join
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.request-to-join}
:options {:sheet? true}
:component join-menu/view}
{:name :screen/share-community
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.share-community}
:options options/transparent-screen-options
:component share-community/view}
{:name :invite-people-community
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.invite-people}
:options {:sheet? true}
:component communities.invite/view}
{:name :share-community-channel
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.share-channel}
:options options/transparent-screen-options
:component share-community-channel/view}
{:name :screen/chat.view-channel-members-and-details
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.view-channel-members-and-details}
:options {:insets {:top? true}}
:component channel-view-channel-members-and-details/view}
{:name :addresses-for-permissions
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.choose-addresses-for-permissions}
:options {:insets {:top? true}}
:component addresses-for-permissions/view}
{:name :address-for-airdrop
:metrics {:track? :true
:metrics {:track? true
:alias-id :community.choose-addresses-for-airdrop}
:options {:insets {:top? true}}
:component airdrop-addresses/view}])
(def contact-screens
[{:name :new-contact
:metrics {:track? :true
:metrics {:track? true
:alias-id :contact.new-contact}
:options {:sheet? true}
:component add-new-contact/new-contact}
{:name :scan-profile-qr-code
:metrics {:track? :true
:metrics {:track? true
:alias-id :contact.scan-profile-qr-code}
:options options/dark-screen
:component scan-profile-qr-page/view}
{:name :contact-profile
:metrics {:track? :true
:metrics {:track? true
:alias-id :contact.contact-profile}
:options {:modalPresentationStyle :overCurrentContext}
:component contact-profile/view}
{:name :share-contact
:metrics {:track? :true
:metrics {:track? true
:alias-id :contact.share-profile}
:options options/transparent-screen-options
:component share-contact/view}])
@ -311,56 +314,56 @@
(def settings-screens
[{:name :settings
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.profile-settings}
:options options/transparent-screen-options
:component settings/view}
{:name :screen/settings.keycard
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.keycard}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component settings.keycard/view}
{:name :edit-profile
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.edit-profile}
:options options/transparent-modal-screen-options
:component edit-profile/view}
{:name :edit-accent-colour
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.edit-profile-accent-colour}
:options options/transparent-modal-screen-options
:component edit-accent-colour/view}
{:name :edit-name
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.edit-profile-name}
:options options/transparent-modal-screen-options
:component edit-name/view}
{:name :edit-bio
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.edit-profile-bio}
:options options/transparent-modal-screen-options
:component edit-bio/view}
{:name :screen/settings-password
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.password}
:options options/transparent-modal-screen-options
:component settings-password/view}
{:name :screen/change-password
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.change-password}
:options (assoc options/transparent-modal-screen-options :theme :dark)
:component change-password/view}
{:name :screen/change-password-loading
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.change-password-loading}
:options (assoc
options/transparent-modal-screen-options
@ -371,25 +374,25 @@
:component change-password-loading/view}
{:name :screen/settings-messages
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.messages}
:options options/transparent-modal-screen-options
:component settings.messages/view}
{:name :screen/settings-blocked-users
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.blocked-users}
:options options/transparent-modal-screen-options
:component settings.blocked-users/view}
{:name :screen/settings-privacy-and-security
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.private-and-security}
:options options/transparent-modal-screen-options
:component settings.privacy-and-security/view}
{:name :screen/settings.share-usage-data
:metrics {:track? :true}
:metrics {:track? true}
:options options/transparent-modal-screen-options
:component settings.share-usage/view}
@ -405,89 +408,104 @@
:component syncing-devices-list/view}
{:name :screen/settings.language-and-currency
:metrics {:track? :true}
:metrics {:track? true}
:options options/transparent-modal-screen-options
:component settings.language-and-currency/view}
{:name :screen/settings.currency-selection
:metrics {:track? :true}
:metrics {:track? true}
:options options/transparent-modal-screen-options
:component settings.currency-selection/view}])
:component settings.currency-selection/view}
{:name :screen/settings.about
:metrics {:track? true}
:options options/transparent-modal-screen-options
:component settings.about/view}
{:name :screen/settings.privacy-policy
:metrics {:track? true}
:options options/transparent-modal-screen-options
:component privacy-policy/view}
{:name :screen/settings.terms-of-use
:metrics {:track? true}
:options options/transparent-modal-screen-options
:component terms-of-use/view}])
(def wallet-settings-screens
[{:name :screen/settings.wallet
:metrics {:track? :true}
:metrics {:track? true}
:options options/transparent-modal-screen-options
:component wallet-options/view}
{:name :screen/settings.rename-keypair
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-rename-keypair}
:options options/transparent-screen-options
:component keypair-rename/view}
{:name :screen/settings.encrypted-keypair-qr
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-encrypted-keypair-qr}
:options options/transparent-screen-options
:component encrypted-keypair-qr/view}
{:name :screen/settings.saved-addresses
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-saved-addresses}
:options options/transparent-modal-screen-options
:component saved-addresses-settings/view}
{:name :screen/settings.keypairs-and-accounts
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-keypairs-and-accounts}
:options options/transparent-modal-screen-options
:component keypairs-and-accounts/view}
{:name :screen/settings.scan-keypair-qr
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-scan-keypair-qr}
:options options/transparent-screen-options
:component scan-keypair-qr/view}
{:name :screen/settings.missing-keypair.import-seed-phrase
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-missing-keypair-import-seed-phrase}
:options options/transparent-screen-options
:component missing-keypairs.import-seed-phrase/view}
{:name :screen/settings.missing-keypair-import-private-key
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-missing-keypair-import-private-key}
:options options/transparent-screen-options
:component missing-keypairs.import-private-key/view}
{:name :screen/settings.network-settings
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-network-settings}
:options options/transparent-modal-screen-options
:component network-settings/view}
{:name :screen/settings.save-address
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-saved-addresses}
:options options/transparent-modal-screen-options
:component wallet-save-address/view}
{:name :screen/settings.edit-saved-address
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-edit-saved-addresses}
:options (assoc options/dark-screen :sheet? true)
:component wallet-save-address/view}
{:name :screen/settings.add-address-to-save
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-add-saved-address}
:options options/transparent-modal-screen-options
:component wallet-add-address-to-save/view}
{:name :screen/settings.share-saved-address
:metrics {:track? :true
:metrics {:track? true
:alias-id :settings.wallet-share-saved-address}
:options options/transparent-screen-options
:component share-saved-address/view}])
@ -874,48 +892,48 @@
(def keycard-screens
[{:name :screen/keycard.check
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.check/view}
{:name :screen/keycard.empty
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.empty/view}
{:name :screen/keycard.empty-create
:metrics {:track? :true}
:metrics {:track? true}
:options {:insets {:top? true :bottom? true}}
:component keycard.empty/create}
{:name :screen/keycard.error
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.error/view}
{:name :screen/keycard.not-keycard
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.not-keycard/view}
{:name :screen/keycard.authorise
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.authorise/view}
{:name :screen/keycard.migrate
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.migrate/view}
{:name :screen/keycard.re-encrypting
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}
:popGesture false
@ -924,7 +942,7 @@
:component keycard.re-encrypting/view}
{:name :screen/keycard.migrate.success
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}
:popGesture false
@ -933,7 +951,7 @@
:component keycard.migrate.success/view}
{:name :screen/keycard.migrate.fail
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}
:popGesture false
@ -942,30 +960,30 @@
:component keycard.migrate.fail/view}
{:name :screen/keycard.pin.create
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.pin.create/view}
{:name :screen/keycard.pin.enter
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.pin.enter/view}
{:name :screen/keycard.profile-keys
:metrics {:track? :true}
:metrics {:track? true}
:options {:theme :dark
:insets {:top? true :bottom? true}}
:component keycard.migrate.profile-keys/view}
{:name :screen/keycard.create-profile
:metrics {:track? :true}
:metrics {:track? true}
:options {:insets {:top? true :bottom? true}}
:component keycard.create/view}
{:name :screen/keycard.create.ready-to-add
:metrics {:track? :true}
:metrics {:track? true}
:options {:insets {:top? true :bottom? true}}
:component keycard.create/ready-to-add}])

View File

@ -800,6 +800,7 @@
"do-not-quit": "Do not quit the application or turn off your device. Doing so will lead to data corruption, loss of your Status profile and the inability to use Status.",
"do-not-share": "Do not share",
"documents": "Documents",
"done": "Done",
"dont-ask": "Don't ask me again",
"dont-auto-recalculate-network": "Don't auto recalculate {{network}}",
@ -1115,6 +1116,7 @@
"getting-started-generate-keys-on-keycard-description": "A Keycard is a physical card (similar to a credit card) that securely stores your Status keys. Using a Keycard adds an extra layer of security to your digital assets and identity. This option creates a new Ethereum address.",
"getting-started-with-status": "Getting started with Status",
"gif": "GIF",
"github-repos": "GitHub repos",
"give-a-short-description": "Give a short description",
"give-a-short-description-community": "Give it a short description",
"give-permissions-camera": "Give permission\nto access camera",
@ -2871,6 +2873,7 @@
"we-will-receive-from-all-profiles": "We will receive from all profiles:",
"we-will-receive-from-the-current-profile": "We will receive from the current profile:",
"web-view-error": "Unable to load page",
"website": "Website",
"websites": "Websites",
"webview-camera-permission-requests": "Webview camera permission requests",
"webview-camera-permission-requests-subtitle": "When enabled, websites and dapps can ask to use your camera",