mirror of
https://github.com/minibits-cash/minibits_wallet.git
synced 2026-10-05 11:18:24 +00:00
Fix iOS build, fix onboarding is keys survive app reinstall
This commit is contained in:
+6
-6
@@ -1968,7 +1968,7 @@ PODS:
|
|||||||
- React-perflogger (= 0.84.0)
|
- React-perflogger (= 0.84.0)
|
||||||
- React-utils (= 0.84.0)
|
- React-utils (= 0.84.0)
|
||||||
- ReactNativeDependencies
|
- ReactNativeDependencies
|
||||||
- ReactNativeCameraKit (17.0.1):
|
- ReactNativeCameraKit (16.2.1):
|
||||||
- hermes-engine
|
- hermes-engine
|
||||||
- RCTRequired
|
- RCTRequired
|
||||||
- RCTTypeSafety
|
- RCTTypeSafety
|
||||||
@@ -2758,7 +2758,7 @@ SPEC CHECKSUMS:
|
|||||||
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
|
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
|
||||||
OpenSSL-Universal: 6082b0bf950e5636fe0d78def171184e2b3899c2
|
OpenSSL-Universal: 6082b0bf950e5636fe0d78def171184e2b3899c2
|
||||||
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47
|
||||||
RCT-Folly: 846fda9475e61ec7bcbf8a3fe81edfcaeb090669
|
RCT-Folly: 7449e39d08a22c7cfc6bbfc9f140168c61c5869d
|
||||||
RCTDeprecation: 8ae59687fd548d481aa5ce8014ac7cd9b47e7316
|
RCTDeprecation: 8ae59687fd548d481aa5ce8014ac7cd9b47e7316
|
||||||
RCTRequired: d711b3887891fab6a77c6b9cdc49a3d8b171e36a
|
RCTRequired: d711b3887891fab6a77c6b9cdc49a3d8b171e36a
|
||||||
RCTSwiftUI: 96986e49a4fdc2c2103929dee2641e1b57edf33d
|
RCTSwiftUI: 96986e49a4fdc2c2103929dee2641e1b57edf33d
|
||||||
@@ -2790,7 +2790,7 @@ SPEC CHECKSUMS:
|
|||||||
React-jsinspectorcdp: 84092b2afb8be60cd184832c757a8e8019f16384
|
React-jsinspectorcdp: 84092b2afb8be60cd184832c757a8e8019f16384
|
||||||
React-jsinspectornetwork: 3537aa4e90d7c5fba4fe2b4a4f9ccf7f4ec32f48
|
React-jsinspectornetwork: 3537aa4e90d7c5fba4fe2b4a4f9ccf7f4ec32f48
|
||||||
React-jsinspectortracing: 4bc2046417f5cd1fa0789a4943dc4a3ec90413e3
|
React-jsinspectortracing: 4bc2046417f5cd1fa0789a4943dc4a3ec90413e3
|
||||||
React-jsitooling: ead6180fa39d8dbfee3c2a1211ec37dbe45554fe
|
React-jsitooling: fb0d3dc02875aac8099d741bbae2209e26a832d1
|
||||||
React-jsitracing: fa7587d28b386c312a0c862cd3f4d1d4f69948ee
|
React-jsitracing: fa7587d28b386c312a0c862cd3f4d1d4f69948ee
|
||||||
React-logger: dd3e5f78709d5b029336be395a67bbcdc775e2ed
|
React-logger: dd3e5f78709d5b029336be395a67bbcdc775e2ed
|
||||||
React-Mapbuffer: 2bdeed9ba58c94ac99a2711a3a722d2d5b3a8a81
|
React-Mapbuffer: 2bdeed9ba58c94ac99a2711a3a722d2d5b3a8a81
|
||||||
@@ -2837,7 +2837,7 @@ SPEC CHECKSUMS:
|
|||||||
ReactAppDependencyProvider: 6b7e8d8d974ed13fb66698d82c30c5e70c1f7d3a
|
ReactAppDependencyProvider: 6b7e8d8d974ed13fb66698d82c30c5e70c1f7d3a
|
||||||
ReactCodegen: b411483ad988ff21fe9e7fb1c5851169f52afabb
|
ReactCodegen: b411483ad988ff21fe9e7fb1c5851169f52afabb
|
||||||
ReactCommon: 3c00047ec244a06c7deaa6ae59cc8aa305fa3f6a
|
ReactCommon: 3c00047ec244a06c7deaa6ae59cc8aa305fa3f6a
|
||||||
ReactNativeCameraKit: 5d844feee3a7d6b0069b3165b138eb73a343a1fd
|
ReactNativeCameraKit: aca16005874ca639a422fe90a9d6626d9ff1ae21
|
||||||
ReactNativeDependencies: 019be871bc55e933ba5469d1497b05a7201f0b16
|
ReactNativeDependencies: 019be871bc55e933ba5469d1497b05a7201f0b16
|
||||||
RNCClipboard: d73fd4b2ac59e792596e7cd615b6321d577c1a2b
|
RNCClipboard: d73fd4b2ac59e792596e7cd615b6321d577c1a2b
|
||||||
RNExitApp: a2fd7923ab37b9166704fdc488622a48dcd372a2
|
RNExitApp: a2fd7923ab37b9166704fdc488622a48dcd372a2
|
||||||
@@ -2848,11 +2848,11 @@ SPEC CHECKSUMS:
|
|||||||
RNKeychain: 1fdd8401d8c8d05da80a9e1843d837ccfb947ea2
|
RNKeychain: 1fdd8401d8c8d05da80a9e1843d837ccfb947ea2
|
||||||
RNLocalize: 17220985af7688b1dc3125d8aa14bcf904d730d6
|
RNLocalize: 17220985af7688b1dc3125d8aa14bcf904d730d6
|
||||||
RNNotifee: 5e3b271e8ea7456a36eec994085543c9adca9168
|
RNNotifee: 5e3b271e8ea7456a36eec994085543c9adca9168
|
||||||
RNReanimated: 1aa31141cdf34d502d2e59670a019e9dbfc63c75
|
RNReanimated: 00cb3d8876d5092758efd06f37e30f8e7d6653ca
|
||||||
RNScreens: 82c4bb10e5a71fb2ae904e2fe5141d28720806d1
|
RNScreens: 82c4bb10e5a71fb2ae904e2fe5141d28720806d1
|
||||||
RNSentry: d0b2aee30a7988272b64c6aaf0893b6dc320692b
|
RNSentry: d0b2aee30a7988272b64c6aaf0893b6dc320692b
|
||||||
RNSVG: c235766fc27d2f5fd74e6944343a5cae7e39ce1c
|
RNSVG: c235766fc27d2f5fd74e6944343a5cae7e39ce1c
|
||||||
RNWorklets: 7564836a83bc44a6ab3231cf9b9e4697d148b379
|
RNWorklets: 9629f9f7042c6f46a9b60e5a7b46163a11b9bac6
|
||||||
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
|
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
|
||||||
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
|
SDWebImageWebPCoder: 908b83b6adda48effe7667cd2b7f78c897e5111d
|
||||||
Sentry: c643eb180df401dd8c734c5036ddd9dd9218daa6
|
Sentry: c643eb180df401dd8c734c5036ddd9dd9218daa6
|
||||||
|
|||||||
@@ -26,13 +26,13 @@
|
|||||||
3B4392A12AC88292D35C810B /* Pods-minibits_wallet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minibits_wallet.debug.xcconfig"; path = "Target Support Files/Pods-minibits_wallet/Pods-minibits_wallet.debug.xcconfig"; sourceTree = "<group>"; };
|
3B4392A12AC88292D35C810B /* Pods-minibits_wallet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minibits_wallet.debug.xcconfig"; path = "Target Support Files/Pods-minibits_wallet/Pods-minibits_wallet.debug.xcconfig"; sourceTree = "<group>"; };
|
||||||
4ACC08249CA13DFDBBBD7A8B /* Pods_minibits_wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_minibits_wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
4ACC08249CA13DFDBBBD7A8B /* Pods_minibits_wallet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_minibits_wallet.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
5709B34CF0A7D63546082F79 /* Pods-minibits_wallet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minibits_wallet.release.xcconfig"; path = "Target Support Files/Pods-minibits_wallet/Pods-minibits_wallet.release.xcconfig"; sourceTree = "<group>"; };
|
5709B34CF0A7D63546082F79 /* Pods-minibits_wallet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-minibits_wallet.release.xcconfig"; path = "Target Support Files/Pods-minibits_wallet/Pods-minibits_wallet.release.xcconfig"; sourceTree = "<group>"; };
|
||||||
B3D7A2E5F1C648B9A0234567 /* HammersmithOne-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "HammersmithOne-Regular.ttf"; path = "../assets/fonts/HammersmithOne-Regular.ttf"; sourceTree = "<group>"; };
|
|
||||||
761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = minibits_wallet/AppDelegate.swift; sourceTree = "<group>"; };
|
761780EC2CA45674006654EE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = minibits_wallet/AppDelegate.swift; sourceTree = "<group>"; };
|
||||||
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = minibits_wallet/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = minibits_wallet/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
902F38382D92C792005DB998 /* OpenSSL.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:67RAULRX93:Marcin Krzyzanowski"; lastKnownFileType = wrapper.xcframework; name = OpenSSL.xcframework; path = "Pods/OpenSSL-Universal/OpenSSL.xcframework"; sourceTree = "<group>"; };
|
902F38382D92C792005DB998 /* OpenSSL.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:67RAULRX93:Marcin Krzyzanowski"; lastKnownFileType = wrapper.xcframework; name = OpenSSL.xcframework; path = "Pods/OpenSSL-Universal/OpenSSL.xcframework"; sourceTree = "<group>"; };
|
||||||
9044DC232D9556F600F918A6 /* minibits_wallet.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = minibits_wallet.entitlements; path = minibits_wallet/minibits_wallet.entitlements; sourceTree = "<group>"; };
|
9044DC232D9556F600F918A6 /* minibits_wallet.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = minibits_wallet.entitlements; path = minibits_wallet/minibits_wallet.entitlements; sourceTree = "<group>"; };
|
||||||
9044DC242D95937D00F918A6 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "minibits_wallet/GoogleService-Info.plist"; sourceTree = "<group>"; };
|
9044DC242D95937D00F918A6 /* GoogleService-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "minibits_wallet/GoogleService-Info.plist"; sourceTree = "<group>"; };
|
||||||
AB8A46AD84194C2583FF9193 /* nostr.png */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = nostr.png; path = ../assets/icons/nostr.png; sourceTree = "<group>"; };
|
AB8A46AD84194C2583FF9193 /* nostr.png */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = nostr.png; path = ../assets/icons/nostr.png; sourceTree = "<group>"; };
|
||||||
|
B3D7A2E5F1C648B9A0234567 /* HammersmithOne-Regular.ttf */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = unknown; name = "HammersmithOne-Regular.ttf"; path = "../assets/fonts/HammersmithOne-Regular.ttf"; sourceTree = "<group>"; };
|
||||||
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
@@ -301,7 +301,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = minibits_wallet/minibits_wallet.entitlements;
|
CODE_SIGN_ENTITLEMENTS = minibits_wallet/minibits_wallet.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 18;
|
CURRENT_PROJECT_VERSION = 19;
|
||||||
DEVELOPMENT_TEAM = GR2ZKMCLAM;
|
DEVELOPMENT_TEAM = GR2ZKMCLAM;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
INFOPLIST_FILE = minibits_wallet/Info.plist;
|
INFOPLIST_FILE = minibits_wallet/Info.plist;
|
||||||
@@ -312,7 +312,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.3.4;
|
MARKETING_VERSION = 0.4.0;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
@@ -337,7 +337,7 @@
|
|||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CODE_SIGN_ENTITLEMENTS = minibits_wallet/minibits_wallet.entitlements;
|
CODE_SIGN_ENTITLEMENTS = minibits_wallet/minibits_wallet.entitlements;
|
||||||
CURRENT_PROJECT_VERSION = 18;
|
CURRENT_PROJECT_VERSION = 19;
|
||||||
DEVELOPMENT_TEAM = GR2ZKMCLAM;
|
DEVELOPMENT_TEAM = GR2ZKMCLAM;
|
||||||
INFOPLIST_FILE = minibits_wallet/Info.plist;
|
INFOPLIST_FILE = minibits_wallet/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = Minibits;
|
INFOPLIST_KEY_CFBundleDisplayName = Minibits;
|
||||||
@@ -347,7 +347,7 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
);
|
);
|
||||||
MARKETING_VERSION = 0.3.4;
|
MARKETING_VERSION = 0.4.0;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"-ObjC",
|
"-ObjC",
|
||||||
|
|||||||
+1
-1
@@ -59,7 +59,7 @@
|
|||||||
"react": "19.2.3",
|
"react": "19.2.3",
|
||||||
"react-native": "0.84.0",
|
"react-native": "0.84.0",
|
||||||
"react-native-animated-pagination-dots": "^0.1.73",
|
"react-native-animated-pagination-dots": "^0.1.73",
|
||||||
"react-native-camera-kit": "17.0.1",
|
"react-native-camera-kit": "16.2.1",
|
||||||
"react-native-change-icon": "^3.0.0",
|
"react-native-change-icon": "^3.0.0",
|
||||||
"react-native-exit-app": "^2.0.0",
|
"react-native-exit-app": "^2.0.0",
|
||||||
"react-native-fast-image": "^8.6.3",
|
"react-native-fast-image": "^8.6.3",
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
diff --git a/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec b/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec
|
||||||
|
index 8df5864..0d914be 100644
|
||||||
|
--- a/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec
|
||||||
|
+++ b/node_modules/react-native/third-party-podspecs/RCT-Folly.podspec
|
||||||
|
@@ -72,6 +72,7 @@ Pod::Spec.new do |spec|
|
||||||
|
'folly/net/*.h',
|
||||||
|
'folly/net/detail/*.h',
|
||||||
|
'folly/portability/*.h',
|
||||||
|
+ 'folly/synchronization/*.h',
|
||||||
|
'folly/system/*.h',
|
||||||
|
|
||||||
|
# workaround for https://github.com/facebook/react-native/issues/14326
|
||||||
|
@@ -91,6 +92,7 @@ Pod::Spec.new do |spec|
|
||||||
|
'folly/net/*.h',
|
||||||
|
'folly/net/detail/*.h',
|
||||||
|
'folly/portability/*.h',
|
||||||
|
+ 'folly/synchronization/*.h',
|
||||||
|
'folly/system/*.h',
|
||||||
|
spec.libraries = "c++abi" # NOTE Apple-only: Keep c++abi here due to https://github.com/react-native-community/releases/issues/251
|
||||||
|
spec.pod_target_xcconfig = { "USE_HEADERMAP" => "NO",
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -75,6 +75,6 @@ const $headerContainer: ViewStyle = {
|
|||||||
const $headerTitle: TextStyle = {
|
const $headerTitle: TextStyle = {
|
||||||
fontSize: verticalScale(32),
|
fontSize: verticalScale(32),
|
||||||
lineHeight: verticalScale(44),
|
lineHeight: verticalScale(44),
|
||||||
fontFamily: typography.primary?.medium,
|
fontFamily: typography.light,
|
||||||
marginBottom: spacing.extraLarge * 2,
|
marginBottom: spacing.extraLarge * 2,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ const $baseViewStyle: ViewStyle = {
|
|||||||
const $baseTextStyle: TextStyle = {
|
const $baseTextStyle: TextStyle = {
|
||||||
fontSize: verticalScale(16),
|
fontSize: verticalScale(16),
|
||||||
lineHeight: verticalScale(20),
|
lineHeight: verticalScale(20),
|
||||||
fontFamily: typography.primary?.light,
|
fontFamily: typography.light,
|
||||||
textAlign: "center",
|
textAlign: "center",
|
||||||
flexShrink: 1,
|
flexShrink: 1,
|
||||||
flexGrow: 0,
|
flexGrow: 0,
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import {
|
|||||||
View,
|
View,
|
||||||
ViewStyle,
|
ViewStyle,
|
||||||
} from "react-native"
|
} from "react-native"
|
||||||
import { useThemeColor, spacing } from "../theme"
|
import { useThemeColor, spacing, typography } from "../theme"
|
||||||
import { Icon, IconTypes } from "./Icon"
|
import { Icon, IconTypes } from "./Icon"
|
||||||
import { Text, TextProps } from "./Text"
|
import { Text, TextProps } from "./Text"
|
||||||
|
|
||||||
@@ -313,6 +313,7 @@ const $subTextStyle: TextStyle = {
|
|||||||
flexGrow: 1,
|
flexGrow: 1,
|
||||||
flexShrink: 1,
|
flexShrink: 1,
|
||||||
paddingBottom: spacing.extraSmall,
|
paddingBottom: spacing.extraSmall,
|
||||||
|
fontFamily: typography.light,
|
||||||
}
|
}
|
||||||
|
|
||||||
const $touchableStyle: ViewStyle = {
|
const $touchableStyle: ViewStyle = {
|
||||||
|
|||||||
@@ -300,7 +300,7 @@ export const MintsScreen = observer(function MintsScreen({ route }: Props) {
|
|||||||
return (
|
return (
|
||||||
<Screen preset='fixed' contentContainerStyle={$screen}>
|
<Screen preset='fixed' contentContainerStyle={$screen}>
|
||||||
<View style={[$headerContainer, {backgroundColor: headerBg}]}>
|
<View style={[$headerContainer, {backgroundColor: headerBg}]}>
|
||||||
<Text preset="heading" tx="manageMints" style={{color: headerTitle}} />
|
<Text preset="heading" tx="manageMints" style={{color: headerTitle, fontFamily: typography.light}} />
|
||||||
</View>
|
</View>
|
||||||
<ScrollView style={$contentContainer}>
|
<ScrollView style={$contentContainer}>
|
||||||
<Card
|
<Card
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import {
|
|||||||
HOT_UPDATER_API_KEY,
|
HOT_UPDATER_API_KEY,
|
||||||
HOT_UPDATER_URL,
|
HOT_UPDATER_URL,
|
||||||
} from '@env'
|
} from '@env'
|
||||||
import {ThemeCode, Themes, colors, spacing, useThemeColor} from '../theme'
|
import {ThemeCode, Themes, colors, spacing, typography, useThemeColor} from '../theme'
|
||||||
import { changeIcon } from 'react-native-change-icon'
|
import { changeIcon } from 'react-native-change-icon'
|
||||||
import {ListItem, Screen, Text, Card, NwcIcon, Button, BottomModal, InfoModal, Icon, Header, AnimatedHeader} from '../components'
|
import {ListItem, Screen, Text, Card, NwcIcon, Button, BottomModal, InfoModal, Icon, Header, AnimatedHeader} from '../components'
|
||||||
import {useStores} from '../models'
|
import {useStores} from '../models'
|
||||||
@@ -303,7 +303,7 @@ export const SettingsScreen = observer(function SettingsScreen({ route }: Props)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const $itemRight = {color: useThemeColor('textDim')}
|
const $itemRight = {color: useThemeColor('textDim'), fontFamily: typography.light} as TextStyle
|
||||||
const colorScheme = useColorScheme()
|
const colorScheme = useColorScheme()
|
||||||
const defaultThemeColor = colorScheme === 'dark' ? Themes[ThemeCode.DARK]?.color : Themes[ThemeCode.LIGHT]?.color
|
const defaultThemeColor = colorScheme === 'dark' ? Themes[ThemeCode.DARK]?.color : Themes[ThemeCode.LIGHT]?.color
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export const CurrencyAmount = observer(function (props: {
|
|||||||
return (
|
return (
|
||||||
<View
|
<View
|
||||||
style={[{
|
style={[{
|
||||||
paddingHorizontal: spacing.tiny,
|
padding: spacing.tiny,
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
}, containerStyle || {}]}
|
}, containerStyle || {}]}
|
||||||
>
|
>
|
||||||
@@ -46,8 +46,8 @@ export const CurrencyAmount = observer(function (props: {
|
|||||||
style={[$symbol, {
|
style={[$symbol, {
|
||||||
color: symbolColor,
|
color: symbolColor,
|
||||||
fontSize: size && spacing[size] * 0.7 || spacing.small * 0.7,
|
fontSize: size && spacing[size] * 0.7 || spacing.small * 0.7,
|
||||||
fontFamily: typography.primary?.light,
|
fontFamily: typography.light,
|
||||||
//lineHeight: size && spacing[size] * 0.6 || spacing.small * 0.6
|
//lineHeight: size && spacing[size] * 0.7 || spacing.small * 0.7
|
||||||
|
|
||||||
}, symbolStyle || {}]}
|
}, symbolStyle || {}]}
|
||||||
text={currencySymbol}
|
text={currencySymbol}
|
||||||
@@ -57,7 +57,7 @@ export const CurrencyAmount = observer(function (props: {
|
|||||||
style={[$amount, {
|
style={[$amount, {
|
||||||
color: amountColor,
|
color: amountColor,
|
||||||
fontSize: props.size && spacing[props.size] * 1.3 || spacing.small * 1.3,
|
fontSize: props.size && spacing[props.size] * 1.3 || spacing.small * 1.3,
|
||||||
//lineHeight: size && spacing[size] * 1 || spacing.small * 1,
|
lineHeight: size && spacing[size] * 1.31 || spacing.small * 1.31,
|
||||||
//borderColor: 'red',
|
//borderColor: 'red',
|
||||||
//borderWidth: 1,
|
//borderWidth: 1,
|
||||||
//paddingTop: size && spacing[size] * 0.2 || spacing.small * 0.2,
|
//paddingTop: size && spacing[size] * 0.2 || spacing.small * 0.2,
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export const CurrencySign = function(props: {
|
|||||||
style={[{
|
style={[{
|
||||||
color: textColor,
|
color: textColor,
|
||||||
fontSize: props.size && spacing[props.size] || spacing.small,
|
fontSize: props.size && spacing[props.size] || spacing.small,
|
||||||
fontFamily: typography.primary?.light,
|
fontFamily: typography.light,
|
||||||
lineHeight: props.size && spacing[props.size] * 1.5 || spacing.small * 1.5
|
lineHeight: props.size && spacing[props.size] * 1.5 || spacing.small * 1.5
|
||||||
|
|
||||||
}, textStyle || {}]}
|
}, textStyle || {}]}
|
||||||
|
|||||||
@@ -942,9 +942,9 @@ const UnitBalanceBlock = observer(function (props: {
|
|||||||
mintUnit={unitBalance.unit}
|
mintUnit={unitBalance.unit}
|
||||||
symbolStyle={{display: 'none'}}
|
symbolStyle={{display: 'none'}}
|
||||||
amountStyle={[$unitBalance, {color: balanceColor}]}
|
amountStyle={[$unitBalance, {color: balanceColor}]}
|
||||||
containerStyle={{marginTop: spacing.small}}
|
containerStyle={{marginTop: spacing.large}}
|
||||||
/>
|
/>
|
||||||
<View style={{height: verticalScale(40)}}>
|
<View style={{height: verticalScale(25)}}>
|
||||||
{walletStore.exchangeRate
|
{walletStore.exchangeRate
|
||||||
&& (userSettingsStore.exchangeCurrency === getCurrency(unitBalance.unit).code || unitBalance.unit === 'sat')
|
&& (userSettingsStore.exchangeCurrency === getCurrency(unitBalance.unit).code || unitBalance.unit === 'sat')
|
||||||
&& (
|
&& (
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import {TxKeyPath, translate} from '../i18n'
|
|||||||
import AppError from '../utils/AppError'
|
import AppError from '../utils/AppError'
|
||||||
import { MINIBITS_MINT_URL } from '@env'
|
import { MINIBITS_MINT_URL } from '@env'
|
||||||
import useIsInternetReachable from '../utils/useIsInternetReachable'
|
import useIsInternetReachable from '../utils/useIsInternetReachable'
|
||||||
import { KeyChain } from '../services'
|
import { KeyChain, log, WalletKeys } from '../services'
|
||||||
import { delay } from '../utils/utils'
|
import { delay } from '../utils/utils'
|
||||||
import { StaticScreenProps, useNavigation } from '@react-navigation/native'
|
import { StaticScreenProps, useNavigation } from '@react-navigation/native'
|
||||||
|
|
||||||
@@ -106,35 +106,39 @@ export const WelcomeScreen = function ({ route }: Props) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
setIsLoading(true)
|
setIsLoading(true)
|
||||||
|
setStatusMessage(translate('welcomeScreen_creatingKeys'))
|
||||||
|
|
||||||
|
// check if keys already exist (if onboarding is repeated or if iOS did not wipe keys?)
|
||||||
|
let keys = await KeyChain.getWalletKeys()
|
||||||
|
|
||||||
if(!await KeyChain.hasWalletKeys()) {
|
if(!keys) {
|
||||||
setStatusMessage(translate('welcomeScreen_creatingKeys'))
|
const newKeys = KeyChain.generateWalletKeys()
|
||||||
|
|
||||||
const keys = KeyChain.generateWalletKeys()
|
|
||||||
|
|
||||||
setStatusMessage(translate('welcomeScreen_creatingProfile'))
|
|
||||||
|
|
||||||
// First, enroll device for JWT authentication then create profile
|
|
||||||
try {
|
|
||||||
await authStore.logout()
|
|
||||||
} catch (e: any) {}
|
|
||||||
|
|
||||||
await authStore.enrollDevice(
|
|
||||||
keys.NOSTR,
|
|
||||||
walletProfileStore.device
|
|
||||||
)
|
|
||||||
|
|
||||||
await walletProfileStore.create(
|
|
||||||
keys.walletId,
|
|
||||||
keys.SEED.seedHash
|
|
||||||
)
|
|
||||||
|
|
||||||
// save keys after successful profile creation
|
// save keys after successful profile creation
|
||||||
await KeyChain.saveWalletKeys(keys)
|
await KeyChain.saveWalletKeys(newKeys)
|
||||||
walletStore.cleanCachedWalletKeys()
|
walletStore.cleanCachedWalletKeys()
|
||||||
}
|
keys = newKeys
|
||||||
|
}
|
||||||
|
|
||||||
|
setStatusMessage(translate('welcomeScreen_creatingProfile'))
|
||||||
|
|
||||||
|
// First, enroll device for JWT authentication then create profile
|
||||||
|
try {
|
||||||
|
await authStore.logout()
|
||||||
|
} catch (e: any) {}
|
||||||
|
|
||||||
|
await authStore.enrollDevice(
|
||||||
|
keys.NOSTR,
|
||||||
|
walletProfileStore.device
|
||||||
|
)
|
||||||
|
|
||||||
|
// idempotent if keys and profile exists on the server
|
||||||
|
await walletProfileStore.create(
|
||||||
|
keys.walletId,
|
||||||
|
keys.SEED.seedHash
|
||||||
|
)
|
||||||
|
|
||||||
if(!mintsStore.mintExists(MINIBITS_MINT_URL)) {
|
if(!mintsStore.mintExists(MINIBITS_MINT_URL)) {
|
||||||
await mintsStore.addMint(MINIBITS_MINT_URL)
|
await mintsStore.addMint(MINIBITS_MINT_URL)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,12 +93,24 @@ const initNotifications = async () => {
|
|||||||
if(!enabled) return
|
if(!enabled) return
|
||||||
|
|
||||||
await messaging().registerDeviceForRemoteMessages()
|
await messaging().registerDeviceForRemoteMessages()
|
||||||
|
|
||||||
|
if (Platform.OS === 'ios') {
|
||||||
|
let apnsToken = await messaging().getAPNSToken()
|
||||||
|
let retries = 0
|
||||||
|
while (!apnsToken && retries < 5) {
|
||||||
|
await delay(1000)
|
||||||
|
apnsToken = await messaging().getAPNSToken()
|
||||||
|
retries++
|
||||||
|
}
|
||||||
|
log.trace(`[initNotifications] APNS token: ${apnsToken}`)
|
||||||
|
if (!apnsToken) {
|
||||||
|
log.warn('[initNotifications] No APNS token available (simulator?), skipping FCM token fetch.')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const deviceToken = await messaging().getToken()
|
const deviceToken = await messaging().getToken()
|
||||||
log.trace(`[initNotifications] Device token: ${deviceToken}`)
|
log.trace(`[initNotifications] Device token: ${deviceToken}`)
|
||||||
if(Platform.OS === 'ios') {
|
|
||||||
const apnsToken = await messaging().getAPNSToken()
|
|
||||||
log.trace(`[initNotifications] APNS token: ${apnsToken}`)
|
|
||||||
}
|
|
||||||
|
|
||||||
const {walletProfileStore} = rootStoreInstance
|
const {walletProfileStore} = rootStoreInstance
|
||||||
if(deviceToken && deviceToken !== walletProfileStore.device) {
|
if(deviceToken && deviceToken !== walletProfileStore.device) {
|
||||||
|
|||||||
+12
-4
@@ -40,19 +40,27 @@ export const typography = {
|
|||||||
* The primary font. Used in most places.
|
* The primary font. Used in most places.
|
||||||
*/
|
*/
|
||||||
primary: Platform.select({
|
primary: Platform.select({
|
||||||
ios: fonts.helveticaNeue,
|
ios: fonts.hammersmithOne,
|
||||||
android: fonts.sansSerif,
|
android: fonts.hammersmithOne,
|
||||||
}),
|
}),
|
||||||
/**
|
/**
|
||||||
* An alternate font used for perhaps titles and stuff.
|
* An alternate font used for perhaps titles and stuff.
|
||||||
*/
|
*/
|
||||||
secondary: Platform.select({
|
secondary: Platform.select({
|
||||||
ios: fonts.helveticaNeue,
|
ios: fonts.hammersmithOne,
|
||||||
android: fonts.sansSerif,
|
android: fonts.hammersmithOne,
|
||||||
}),
|
}),
|
||||||
/**
|
/**
|
||||||
* Lets get fancy with a monospace font!
|
* Lets get fancy with a monospace font!
|
||||||
*/
|
*/
|
||||||
code: Platform.select({ios: fonts.courier, android: fonts.monospace}),
|
code: Platform.select({ios: fonts.courier, android: fonts.monospace}),
|
||||||
|
thin: Platform.select({
|
||||||
|
ios: fonts.helveticaNeue.thin,
|
||||||
|
android: fonts.sansSerif.thin,
|
||||||
|
}),
|
||||||
|
light: Platform.select({
|
||||||
|
ios: fonts.helveticaNeue.light,
|
||||||
|
android: fonts.sansSerif.light,
|
||||||
|
}),
|
||||||
logo: fonts.hammersmithOne,
|
logo: fonts.hammersmithOne,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14668,7 +14668,7 @@ __metadata:
|
|||||||
react: 19.2.3
|
react: 19.2.3
|
||||||
react-native: 0.84.0
|
react-native: 0.84.0
|
||||||
react-native-animated-pagination-dots: ^0.1.73
|
react-native-animated-pagination-dots: ^0.1.73
|
||||||
react-native-camera-kit: 17.0.1
|
react-native-camera-kit: 16.2.1
|
||||||
react-native-change-icon: ^3.0.0
|
react-native-change-icon: ^3.0.0
|
||||||
react-native-clean-project: ^4.0.3
|
react-native-clean-project: ^4.0.3
|
||||||
react-native-dotenv: ^3.4.11
|
react-native-dotenv: ^3.4.11
|
||||||
@@ -16490,13 +16490,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"react-native-camera-kit@npm:17.0.1":
|
"react-native-camera-kit@npm:16.2.1":
|
||||||
version: 17.0.1
|
version: 16.2.1
|
||||||
resolution: "react-native-camera-kit@npm:17.0.1"
|
resolution: "react-native-camera-kit@npm:16.2.1"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: "*"
|
react: "*"
|
||||||
react-native: "*"
|
react-native: "*"
|
||||||
checksum: 40940bbbbd24192f7e8ee4826d77662e7a21b18ad4cfcb77bb860dd75594da33793b3835050de65b2a82f4e0b356e662d6a1ef54e030b34da96975157cff4502
|
checksum: fda3c197052e26f95cbabfe891c5df249f2764f94e132f5a4956cfd68741b15350b9e746533bf64c3eac648df1759fc99be23e64875deed45c1dc93ccfdac45e
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user