2
0
mirror of https://github.com/fork-maintainers/iceraven-browser synced 2024-11-03 23:15:31 +00:00

Bug 1826766 - Add onboarding feature manifest.

This commit is contained in:
t-p-white 2023-04-24 15:43:37 +01:00 committed by mergify[bot]
parent 506f28e27f
commit c27779ccb4
4 changed files with 111 additions and 15 deletions

View File

@ -36,6 +36,9 @@ juno-onboarding:
hasExposure: true
exposureDescription: ""
variables:
cards:
type: json
description: Collection of user facing onboarding cards.
enabled:
type: boolean
description: "if true, juno onboarding is shown to the user."

View File

@ -9,6 +9,8 @@ channels:
- beta
- nightly
- developer
includes:
- onboarding.fml.yaml
import:
- path: ../../android-components/components/service/nimbus/messaging.fml.yaml
channel: release
@ -305,21 +307,6 @@ features:
type: Boolean
default: false
juno-onboarding:
description: A feature that shows juno onboarding flow.
variables:
enabled:
description: if true, juno onboarding is shown to the user.
type: Boolean
default: false
defaults:
- channel: developer
value:
enabled: false
- channel: nightly
value:
enabled: true
onboarding:
description: "A feature that configures the new user onboarding page.
Note that onboarding is a **first run** feature, and should only be modified by first run experiments."

100
app/onboarding.fml.yaml Normal file
View File

@ -0,0 +1,100 @@
---
features:
juno-onboarding:
description: A feature that shows juno onboarding flow.
variables:
enabled:
description: if true, juno onboarding is shown to the user.
type: Boolean
default: false
cards:
description: Collection of user facing onboarding cards.
type: Map<String, OnboardingCardData>
default:
default-browser:
card-type: default-browser
title: juno_onboarding_default_browser_title_nimbus
ordering: 10
body: juno_onboarding_default_browser_description_nimbus
link-text: juno_onboarding_default_browser_description_link_text
primary-button-label: juno_onboarding_default_browser_positive_button
secondary-button-label: juno_onboarding_default_browser_negative_button
sync-sign-in:
card-type: sync-sign-in
title: juno_onboarding_sign_in_title
body: juno_onboarding_sign_in_description
ordering: 20
primary-button-label: juno_onboarding_sign_in_positive_button
secondary-button-label: juno_onboarding_sign_in_negative_button
notification-permission:
card-type: notification-permission
title: juno_onboarding_enable_notifications_title
body: juno_onboarding_enable_notifications_description
ordering: 30
primary-button-label: juno_onboarding_enable_notifications_positive_button
secondary-button-label: juno_onboarding_enable_notifications_negative_button
defaults:
- channel: developer
value:
enabled: false
- channel: nightly
value:
enabled: true
objects:
OnboardingCardData:
description: An object to describe a user facing onboarding card.
fields:
card-type:
type: OnboardingCardType
description: The type of the card.
# This should never be defaulted.
default: default-browser
title:
type: Text
description: The title text displayed to the user.
# This should never be defaulted.
default: ""
body:
type: Text
description: The message text displayed to the user. May contain linkable text.
# This should never be defaulted.
default: ""
link-text:
type: Option<Text>
description: >
link-text: policy link
default: null
ordering:
type: Int
description: Used to sequence the cards.
# This should never be defaulted.
default: 0
primary-button-label:
type: Text
description: The text to display on the primary button.
# This should never be defaulted.
default: ""
secondary-button-label:
type: Text
description: The text to display on the secondary button.
# This should never be defaulted.
default: ""
enums:
OnboardingCardType:
description: An enum to describe a type of card.
variants:
default-browser:
description: Allows user to set Firefox as the default browser.
sync-sign-in:
description: Allows user to sync with a Firefox account.
notification-permission:
description: Allows user to enable notification permission.

View File

@ -285,10 +285,16 @@
<!-- Title for set firefox as default browser screen.
The first parameter is the name of the app defined in app_name (for example: Fenix) -->
<string name="juno_onboarding_default_browser_title">Make %s your go-to browser</string>
<!-- Title for set firefox as default browser screen used by Nimbus. Nimbus does not support string placeholders.
Note: The word 'Firefox' should NOT be translated -->
<string name="juno_onboarding_default_browser_title_nimbus" tools:ignore="UnusedResources">Make Firefox your go-to browser</string>
<!-- Description for set firefox as default browser screen.
The first parameter is the Firefox brand name.
The second parameter is the string with key "juno_onboarding_default_browser_description_link_text". -->
<string name="juno_onboarding_default_browser_description">%1$s puts people over profits and defends your privacy by blocking cross-site trackers.\n\nLearn more in our %2$s.</string>
<!-- Description for set firefox as default browser screen used by Nimbus. Nimbus does not support string placeholders.
Note: The word 'Firefox' should NOT be translated -->
<string name="juno_onboarding_default_browser_description_nimbus" tools:ignore="UnusedResources">Firefox puts people over profits and defends your privacy by blocking cross-site trackers.\n\nLearn more in our privacy policy.</string>
<!-- Text for the link to the privacy notice webpage for set as firefox default browser screen.
This is part of the string with the key "juno_onboarding_default_browser_description". -->
<string name="juno_onboarding_default_browser_description_link_text">privacy notice</string>