diff --git a/package.json b/package.json
index 2a1b07dd86..84cc6e1913 100644
--- a/package.json
+++ b/package.json
@@ -208,6 +208,7 @@
"@types/jest": "^27.0.2",
"@types/react": "^17.0.30",
"@types/react-native": "^0.65.21",
+ "@types/react-native-video": "^5.0.13",
"@types/react-test-renderer": "^17.0.1",
"babel-jest": "^26.6.3",
"babel-plugin-module-resolver": "^4.1.0",
diff --git a/src/components/theme/ForceTheme.tsx b/src/components/theme/ForceTheme.tsx
new file mode 100644
index 0000000000..814b0deec5
--- /dev/null
+++ b/src/components/theme/ForceTheme.tsx
@@ -0,0 +1,14 @@
+import React from "react";
+import StyleProvider from "../../StyleProvider";
+
+export default function ForceTheme({
+ children,
+ selectedPalette,
+}: {
+ children?: React.ReactNode;
+ selectedPalette: "light" | "dark";
+}): React.ReactElement {
+ return (
+ {children}
+ );
+}
diff --git a/src/components/InvertTheme.tsx b/src/components/theme/InvertTheme.tsx
similarity index 59%
rename from src/components/InvertTheme.tsx
rename to src/components/theme/InvertTheme.tsx
index ded040caf4..ec1a9c7dfb 100644
--- a/src/components/InvertTheme.tsx
+++ b/src/components/theme/InvertTheme.tsx
@@ -1,6 +1,7 @@
import React, { useMemo } from "react";
import { ThemeProvider, useTheme } from "styled-components/native";
import { defaultTheme, palettes } from "@ledgerhq/native-ui/styles";
+import StyleProvider from "../../StyleProvider";
export default function InvertTheme({
children,
@@ -9,14 +10,8 @@ export default function InvertTheme({
}): React.ReactElement {
const { theme } = useTheme();
const revertTheme = theme === "light" ? "dark" : "light";
- const newTheme = useMemo(
- () => ({
- ...defaultTheme,
- colors: { ...defaultTheme.colors, palette: palettes[revertTheme] },
- theme: revertTheme,
- }),
- [revertTheme],
- );
- return {children};
+ return (
+ {children}
+ );
}
diff --git a/src/locales/en/common.json b/src/locales/en/common.json
index 1a633e63c9..83899e8cca 100644
--- a/src/locales/en/common.json
+++ b/src/locales/en/common.json
@@ -828,8 +828,8 @@
},
"onboarding": {
"stepWelcome": {
- "title": "Welcome to Ledger",
- "subtitle": "Safely manage your cryptos from your smartphone.",
+ "title": "The most secure cryptocurrency & NFT wallet",
+ "subtitle": "Securely manage, buy and grow your crypto and NFTs on Ledger Live.",
"start": "Get started",
"noDevice": "No device?",
"buy": "Buy a {{fullDeviceName}}",
diff --git a/src/screens/Onboarding/steps/welcome.tsx b/src/screens/Onboarding/steps/welcome.tsx
index 6966b2c7a8..e88a08685b 100644
--- a/src/screens/Onboarding/steps/welcome.tsx
+++ b/src/screens/Onboarding/steps/welcome.tsx
@@ -8,13 +8,15 @@ import Video from "react-native-video";
import { Linking } from "react-native";
import Svg, { Defs, LinearGradient, Rect, Stop } from "react-native-svg";
import { useDispatch } from "react-redux";
-import Button from "../../../components/Button";
import { ScreenName } from "../../../const";
import StyledStatusBar from "../../../components/StyledStatusBar";
import { urls } from "../../../config/urls";
import { useTermsAccept } from "../../../logic/terms";
import { setAnalytics } from "../../../actions/settings";
import useIsAppInBackground from "../../../components/useIsAppInBackground";
+import InvertTheme from "../../../components/theme/InvertTheme";
+import ForceTheme from "../../../components/theme/ForceTheme";
+import Button from "../../../components/wrappedUi/Button";
const source = require("../../../../assets/videos/onboarding.mp4");
@@ -74,116 +76,111 @@ function OnboardingStepWelcome({ navigation }: any) {
const videoMounted = !useIsAppInBackground();
return (
-
-
- {videoMounted && (
-
- )}
-
-
-
-
-
-
-
- {t("onboarding.stepWelcome.title")}
-
-
- {t("onboarding.stepWelcome.subtitle")}
-
-
+
+ {t("onboarding.stepWelcome.subtitle")}
+
+
+ {t("onboarding.stepWelcome.start")}
+
-
- {t("onboarding.stepWelcome.terms")}
-
-
-
- {t("onboarding.stepWelcome.termsLink")}
-
-
- {t("onboarding.stepWelcome.and")}
+
+ {t("onboarding.stepWelcome.terms")}
-
- {t("onboarding.stepWelcome.privacyLink")}
-
+
+
+ {t("onboarding.stepWelcome.termsLink")}
+
+
+ {t("onboarding.stepWelcome.and")}
+
+
+ {t("onboarding.stepWelcome.privacyLink")}
+
+
-
+
);
}
diff --git a/yarn.lock b/yarn.lock
index 4952370a2b..1a50d6f5e0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4215,7 +4215,29 @@
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
-"@types/react-native@^0.65", "@types/react-native@^0.65.21", "@types/react-native@^0.65.9":
+"@types/react-native-video@^5.0.13":
+ version "5.0.13"
+ resolved "https://registry.yarnpkg.com/@types/react-native-video/-/react-native-video-5.0.13.tgz#4a6df3156c5d9ad4e3a37edb320199eaeb22ea20"
+ integrity sha512-pXdF+uM5Kqmsx90eQzOArkz06QOzKQi8uekdcqD+KeNXuQfwJ6hiuGTiC46VcgxGdQVCKAa1AYMg6oUMPaygew==
+ dependencies:
+ "@types/react" "*"
+ "@types/react-native" "*"
+
+"@types/react-native@*":
+ version "0.67.6"
+ resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.67.6.tgz#9a7de5feba6065aec9f44f9a1e8f6e55ee5d015c"
+ integrity sha512-NM6atxrefIXMLE/PyQ1bIQjQ/lWLdls3uVxItzKvNUUVZlGqgn/uGN4MarM9quSf90uSqJYPIAeAgTtBTUjhgg==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react-native@^0.65", "@types/react-native@^0.65.9":
+ version "0.65.17"
+ resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.65.17.tgz#6bdb4cb7e60bbc7eda880120e2a78a080373dd97"
+ integrity sha512-a1yykkqrnrTQJAteu0lt8gqv0PubdNzQvHH1kUOOl3y6JsK5AuqyvBaDmuw6xAYOL3vSXa43Wt+n47VTZRJd7w==
+ dependencies:
+ "@types/react" "*"
+
+"@types/react-native@^0.65.21":
version "0.65.21"
resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.65.21.tgz#f731b172765f17e4866473de41e1d3a4890ae536"
integrity sha512-6TmhHLEBH7xMOBG+MIExOILOEI+nq/VHmlAJZ7SynJ+/ezG318EFrrxDPge46WPqWT25ZbnhSR6uxzBn7TDRbQ==