diff --git a/src/screens/Onboarding/Slideshow.tsx b/src/screens/Onboarding/Slideshow.tsx
index a608e286c..202c279ea 100644
--- a/src/screens/Onboarding/Slideshow.tsx
+++ b/src/screens/Onboarding/Slideshow.tsx
@@ -23,16 +23,17 @@ import Animated, {
} from 'react-native-reanimated';
import Carousel, { ICarouselInstance } from 'react-native-reanimated-carousel';
+import { IThemeColors } from '../../styles/themes';
+import { View as ThemedView } from '../../styles/components';
+import { BodyM, BodyMB, Display, Footnote } from '../../styles/text';
import SafeAreaInset from '../../components/SafeAreaInset';
import Dot from '../../components/SliderDots';
import Button from '../../components/buttons/Button';
import ButtonTertiary from '../../components/buttons/ButtonTertiary';
-import { useAppDispatch } from '../../hooks/redux';
+import { useAppDispatch, useAppSelector } from '../../hooks/redux';
import type { OnboardingStackScreenProps } from '../../navigation/types';
import { updateUser } from '../../store/slices/user';
-import { View as ThemedView } from '../../styles/components';
-import { BodyM, BodyMB, Display } from '../../styles/text';
-import { IThemeColors } from '../../styles/themes';
+import { isGeoBlockedSelector } from '../../store/reselect/user';
type Slide = {
color: keyof IThemeColors;
@@ -68,6 +69,7 @@ const Slide = ({
}: SlideProps): ReactElement => {
const { t } = useTranslation('onboarding');
const dimensions = useWindowDimensions();
+ const isGeoBlocked = useAppSelector(isGeoBlockedSelector);
// because we can't properly scala image inside the }}
/>
- }}
- />
+
+
+ }}
+ />
+
+ {index === 1 && isGeoBlocked && (
+ {t('slide1_note')}
+ )}
+
{isLast ? (
@@ -276,7 +284,10 @@ const styles = StyleSheet.create({
},
text: {
marginTop: 4,
- minHeight: 90,
+ minHeight: 110,
+ },
+ note: {
+ marginTop: 6,
},
buttonsContainer: {
flexDirection: 'row',
diff --git a/src/screens/Onboarding/Welcome.tsx b/src/screens/Onboarding/Welcome.tsx
index c5630e43d..b98b4a93c 100644
--- a/src/screens/Onboarding/Welcome.tsx
+++ b/src/screens/Onboarding/Welcome.tsx
@@ -8,6 +8,7 @@ import { Display, BodyM } from '../../styles/text';
import SafeAreaInset from '../../components/SafeAreaInset';
import Button from '../../components/buttons/Button';
import DetectSwipe from '../../components/DetectSwipe';
+import { setGeoBlock } from '../../store/utils/user';
import type { OnboardingStackScreenProps } from '../../navigation/types';
const backgroundSrc = require('../../assets/illustrations/figures.png');
@@ -19,6 +20,7 @@ const OnboardingWelcomeScreen = ({
const { t } = useTranslation('onboarding');
const onGetStarted = (): void => {
+ setGeoBlock();
navigation.navigate('Slideshow');
};
diff --git a/src/store/utils/user.ts b/src/store/utils/user.ts
index ffa598014..35072c985 100644
--- a/src/store/utils/user.ts
+++ b/src/store/utils/user.ts
@@ -3,7 +3,7 @@ import { updateUser } from '../slices/user';
import { isGeoBlocked } from '../../utils/blocktank';
export const setGeoBlock = async (): Promise => {
- const response = await isGeoBlocked();
- dispatch(updateUser({ isGeoBlocked: response }));
- return response;
+ const isBlocked = await isGeoBlocked();
+ dispatch(updateUser({ isGeoBlocked: isBlocked }));
+ return isBlocked;
};
diff --git a/src/styles/text.ts b/src/styles/text.ts
index 56fb9666d..a35874f45 100644
--- a/src/styles/text.ts
+++ b/src/styles/text.ts
@@ -148,3 +148,11 @@ export const Caption13Up = styled.Text(({ theme, color }) => ({
color: theme.colors[color ?? 'primary'],
letterSpacing: Platform.OS === 'ios' ? 0.8 : undefined,
}));
+
+export const Footnote = styled.Text(({ theme, color }) => ({
+ ...theme.fonts.medium,
+ fontSize: '12px',
+ lineHeight: '16px',
+ color: theme.colors[color ?? 'white32'],
+ letterSpacing: Platform.OS === 'ios' ? 0.4 : undefined,
+}));
diff --git a/src/utils/blocktank/index.ts b/src/utils/blocktank/index.ts
index dddcb5d7f..4168ea708 100644
--- a/src/utils/blocktank/index.ts
+++ b/src/utils/blocktank/index.ts
@@ -350,7 +350,7 @@ export const isGeoBlocked = async (fromStorage = false): Promise => {
try {
let geoBlocked: boolean | undefined;
if (fromStorage) {
- geoBlocked = getUserStore()?.isGeoBlocked;
+ geoBlocked = getUserStore().isGeoBlocked;
if (geoBlocked !== undefined) {
return geoBlocked;
}
diff --git a/src/utils/i18n/locales/en/lightning.json b/src/utils/i18n/locales/en/lightning.json
index dfee414e5..ee7009d36 100644
--- a/src/utils/i18n/locales/en/lightning.json
+++ b/src/utils/i18n/locales/en/lightning.json
@@ -21,10 +21,10 @@
"string": "You can use your Bitkit savings or send bitcoin from a different wallet."
},
"text_blocked": {
- "string": "At this time, Bitkit cannot provide automatic Lightning connections to residents of the United States and Canada."
+ "string": "Bitkit does not currently provide Lightning services in your country, but you can still connect to other nodes directly."
},
"text_blocked_cjit": {
- "string": "Bitkit does not currently provide Lightning services to the USA or Canada, but you can still connect to other nodes directly."
+ "string": "Bitkit does not currently provide Lightning services in your country, but you can still connect to other nodes directly."
},
"button1": {
"string": "Transfer from Savings"
diff --git a/src/utils/i18n/locales/en/onboarding.json b/src/utils/i18n/locales/en/onboarding.json
index 31034fbb7..f6acbbf4f 100644
--- a/src/utils/i18n/locales/en/onboarding.json
+++ b/src/utils/i18n/locales/en/onboarding.json
@@ -41,6 +41,9 @@
"slide1_text": {
"string": "Spend bitcoin faster than ever. Enjoy instant and cheap payments with friends, family, and merchants."
},
+ "slide1_note": {
+ "string": "*Bitkit does not currently provide Lightning services in your country, but you can still connect to other nodes."
+ },
"slide2_header": {
"string": "Bitcoiners,\nborderless"
},