diff --git a/ios/Podfile b/ios/Podfile
index 0d64adb7d..6349f49dd 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -56,8 +56,11 @@ target 'HeliumWallet' do
permissions_path = '../node_modules/react-native-permissions/ios'
setup_permissions(['BluetoothPeripheral'])
+ $RNMapboxMapsImpl = 'mapbox'
+ $RNMapboxMapsVersion = '= 11.4.0'
+
post_install do |installer|
- $RNMBGL.post_install(installer)
+ $RNMapboxMaps.post_install(installer)
# https://github.com/facebook/react-native/blob/main/packages/react-native/scripts/react_native_pods.rb#L197-L202
react_native_post_install(
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index cbfaf840e..5c5259d26 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -22,6 +22,8 @@ PODS:
- EXImageLoader (4.7.0):
- ExpoModulesCore
- React-Core
+ - EXLocation (17.0.1):
+ - ExpoModulesCore
- Expo (51.0.24):
- ExpoModulesCore
- ExpoAsset (10.0.10):
@@ -118,13 +120,13 @@ PODS:
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- Yoga
- - maplibre-react-native (9.1.0):
- - maplibre-react-native/DynamicLibrary (= 9.1.0)
- - React
- - React-Core
- - maplibre-react-native/DynamicLibrary (9.1.0):
- - React
- - React-Core
+ - MapboxCommon (24.4.0)
+ - MapboxCoreMaps (11.4.0):
+ - MapboxCommon (~> 24.4)
+ - MapboxMaps (11.4.0):
+ - MapboxCommon (= 24.4.0)
+ - MapboxCoreMaps (= 11.4.0)
+ - Turf (= 2.8.0)
- MultiplatformBleAdapter (0.1.9)
- OneSignalXCFramework (5.2.2):
- OneSignalXCFramework/OneSignalComplete (= 5.2.2)
@@ -1109,6 +1111,8 @@ PODS:
- Charts (= 4.1.0)
- React
- SwiftyJSON (= 5.0)
+ - react-native-compass-heading (1.5.0):
+ - React-Core
- react-native-config (1.4.6):
- react-native-config/App (= 1.4.6)
- react-native-config/App (1.4.6):
@@ -1448,6 +1452,17 @@ PODS:
- React
- RNLocalize (2.2.3):
- React-Core
+ - rnmapbox-maps (10.1.31):
+ - MapboxMaps (= 11.4.0)
+ - React
+ - React-Core
+ - rnmapbox-maps/DynamicLibrary (= 10.1.31)
+ - Turf
+ - rnmapbox-maps/DynamicLibrary (10.1.31):
+ - MapboxMaps (= 11.4.0)
+ - React
+ - React-Core
+ - Turf
- RNOS (1.2.6):
- React
- RNPermissions (3.9.2):
@@ -1509,6 +1524,13 @@ PODS:
- TcpSockets (3.3.2):
- React
- Toast (4.0.0)
+ - Turf (2.8.0)
+ - VisionCamera (4.5.3):
+ - VisionCamera/Core (= 4.5.3)
+ - VisionCamera/React (= 4.5.3)
+ - VisionCamera/Core (4.5.3)
+ - VisionCamera/React (4.5.3):
+ - React-Core
- Yoga (0.0.0)
- ZXingObjC/Core (3.6.9)
- ZXingObjC/OneD (3.6.9):
@@ -1524,6 +1546,7 @@ DEPENDENCIES:
- EXBarCodeScanner (from `../node_modules/expo-barcode-scanner/ios`)
- EXConstants (from `../node_modules/expo-constants/ios`)
- EXImageLoader (from `../node_modules/expo-image-loader/ios`)
+ - EXLocation (from `../node_modules/expo-location/ios`)
- Expo (from `../node_modules/expo`)
- ExpoAsset (from `../node_modules/expo-asset/ios`)
- ExpoCamera (from `../node_modules/expo-camera/ios`)
@@ -1542,7 +1565,6 @@ DEPENDENCIES:
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- lottie-ios (from `../node_modules/lottie-ios`)
- lottie-react-native (from `../node_modules/lottie-react-native`)
- - "maplibre-react-native (from `../node_modules/@maplibre/maplibre-react-native`)"
- OneSignalXCFramework (< 6.0, >= 5.0)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
@@ -1573,6 +1595,7 @@ DEPENDENCIES:
- react-native-ble-plx (from `../node_modules/react-native-ble-plx`)
- "react-native-blur (from `../node_modules/@react-native-community/blur`)"
- react-native-charts-wrapper (from `../node_modules/react-native-charts-wrapper`)
+ - react-native-compass-heading (from `../node_modules/react-native-compass-heading`)
- react-native-config (from `../node_modules/react-native-config`)
- react-native-config/Extension (from `../node_modules/react-native-config`)
- react-native-get-random-values (from `../node_modules/react-native-get-random-values`)
@@ -1619,6 +1642,7 @@ DEPENDENCIES:
- RNGestureHandler (from `../node_modules/react-native-gesture-handler`)
- RNICloudStore (from `../node_modules/react-native-icloudstore`)
- RNLocalize (from `../node_modules/react-native-localize`)
+ - "rnmapbox-maps (from `../node_modules/@rnmapbox/maps`)"
- RNOS (from `../node_modules/react-native-os`)
- RNPermissions (from `../node_modules/react-native-permissions`)
- RNReactNativeSharedGroupPreferences (from `../node_modules/react-native-shared-group-preferences`)
@@ -1628,6 +1652,7 @@ DEPENDENCIES:
- RNSVG (from `../node_modules/react-native-svg`)
- RNTestFlight (from `../node_modules/react-native-test-flight`)
- TcpSockets (from `../node_modules/react-native-tcp`)
+ - VisionCamera (from `../node_modules/react-native-vision-camera`)
- Yoga (from `../node_modules/react-native/ReactCommon/yoga`)
SPEC REPOS:
@@ -1635,12 +1660,16 @@ SPEC REPOS:
- BCrypt
- BEMCheckBox
- Charts
+ - MapboxCommon
+ - MapboxCoreMaps
+ - MapboxMaps
- MultiplatformBleAdapter
- OneSignalXCFramework
- SocketRocket
- SwiftAlgorithms
- SwiftyJSON
- Toast
+ - Turf
- ZXingObjC
EXTERNAL SOURCES:
@@ -1658,6 +1687,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/expo-constants/ios"
EXImageLoader:
:path: "../node_modules/expo-image-loader/ios"
+ EXLocation:
+ :path: "../node_modules/expo-location/ios"
Expo:
:path: "../node_modules/expo"
ExpoAsset:
@@ -1695,8 +1726,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/lottie-ios"
lottie-react-native:
:path: "../node_modules/lottie-react-native"
- maplibre-react-native:
- :path: "../node_modules/@maplibre/maplibre-react-native"
RCT-Folly:
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
RCTDeprecation:
@@ -1751,6 +1780,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/@react-native-community/blur"
react-native-charts-wrapper:
:path: "../node_modules/react-native-charts-wrapper"
+ react-native-compass-heading:
+ :path: "../node_modules/react-native-compass-heading"
react-native-config:
:path: "../node_modules/react-native-config"
react-native-get-random-values:
@@ -1841,6 +1872,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-icloudstore"
RNLocalize:
:path: "../node_modules/react-native-localize"
+ rnmapbox-maps:
+ :path: "../node_modules/@rnmapbox/maps"
RNOS:
:path: "../node_modules/react-native-os"
RNPermissions:
@@ -1859,6 +1892,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-test-flight"
TcpSockets:
:path: "../node_modules/react-native-tcp"
+ VisionCamera:
+ :path: "../node_modules/react-native-vision-camera"
Yoga:
:path: "../node_modules/react-native/ReactCommon/yoga"
@@ -1873,6 +1908,7 @@ SPEC CHECKSUMS:
EXBarCodeScanner: e2dd9b42c1b522a2adc9202b1dfbc64cb34456d1
EXConstants: 409690fbfd5afea964e5e9d6c4eb2c2b59222c59
EXImageLoader: ab589d67d6c5f2c33572afea9917304418566334
+ EXLocation: 43e9b582ca63a23c6f0a18d8cbe2145b3a388b55
Expo: 798848eae1daf13363d69790986146b08d0cf92f
ExpoAsset: 323700f291684f110fb55f0d4022a3362ea9f875
ExpoCamera: a5d000b22cd7dfd2c5904ed960e549de42c96da0
@@ -1891,7 +1927,9 @@ SPEC CHECKSUMS:
hermes-engine: 8c1577f3fdb849cbe7729c2e7b5abc4b845e88f8
lottie-ios: e047b1d2e6239b787cc5e9755b988869cf190494
lottie-react-native: f851c0e235f171d99083c803f728f644be1dcf65
- maplibre-react-native: 3a0d9beca427ff9000d75e0974c366ecd3c5375e
+ MapboxCommon: 6acbd8ff41d66abf498e1558b0739f25c562945a
+ MapboxCoreMaps: f306bb1b10ebe995a2247b40e99322ab7f9b8071
+ MapboxMaps: 82044383ae19ec124ff444ec4b5d3ce82cb36ba5
MultiplatformBleAdapter: 5a6a897b006764392f9cef785e4360f54fb9477d
OneSignalXCFramework: f06edd9b146c7ac5935136a117ce2a5fdd6420f6
RCT-Folly: 02617c592a293bd6d418e0a88ff4ee1f88329b47
@@ -1921,6 +1959,7 @@ SPEC CHECKSUMS:
react-native-ble-plx: f10240444452dfb2d2a13a0e4f58d7783e92d76e
react-native-blur: 50c9feabacbc5f49b61337ebc32192c6be7ec3c3
react-native-charts-wrapper: 4268219d67a6fd7e94453d77d31b38ef1cd23860
+ react-native-compass-heading: 1b4403d1c99dfd8311073ca8fc52bfc8e365cfac
react-native-config: 7cd105e71d903104e8919261480858940a6b9c0e
react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a
react-native-mail: 8fdcd3aef007c33a6877a18eb4cf7447a1d4ce4a
@@ -1966,6 +2005,7 @@ SPEC CHECKSUMS:
RNGestureHandler: efed690b8493a00b99654043daeb1335276ac4a2
RNICloudStore: bc6e225811637c09bd1eb055d6cd7448e61cd451
RNLocalize: a64514b46a01375fdfae9349036b4dc7130333b5
+ rnmapbox-maps: 961b998761de9672c448aa17144b987410890992
RNOS: 6f2f9a70895bbbfbdad7196abd952e7b01d45027
RNPermissions: 2af759cf053542b2b4b3c4cf9f43874796106f2c
RNReactNativeSharedGroupPreferences: 29092869fc2e40d5baca5e15d82fa5c24a668977
@@ -1979,9 +2019,11 @@ SPEC CHECKSUMS:
SwiftyJSON: 36413e04c44ee145039d332b4f4e2d3e8d6c4db7
TcpSockets: 14306fb79f9750ea7d2ddd02d8bed182abb01797
Toast: 91b396c56ee72a5790816f40d3a94dd357abc196
+ Turf: aa2ede4298009639d10db36aba1a7ebaad072a5e
+ VisionCamera: cb84d0d8485b3e67c91b62931d3aa88f49747c92
Yoga: 950bbfd7e6f04790fdb51149ed51df41f329fcc8
ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5
-PODFILE CHECKSUM: d44dfed27ca86fe0b1eb67aab0856b7cc9e24ff7
+PODFILE CHECKSUM: af8e0f0904c0f9cc43a95eef4e1feb504870ee6e
COCOAPODS: 1.15.2
diff --git a/package.json b/package.json
index 9ff1cb38a..dfad71789 100644
--- a/package.json
+++ b/package.json
@@ -29,7 +29,7 @@
"@babel/preset-typescript": "7.21.0",
"@bonfida/spl-name-service": "^1.1.1",
"@coral-xyz/anchor": "^0.28.0",
- "@gorhom/bottom-sheet": "4.6.4",
+ "@gorhom/bottom-sheet": "5.0.4",
"@gorhom/portal": "1.0.14",
"@helium/account-fetch-cache": "0.9.7",
"@helium/account-fetch-cache-hooks": "0.9.7",
@@ -66,12 +66,11 @@
"@ledgerhq/react-native-hid": "6.30.0",
"@ledgerhq/react-native-hw-transport-ble": "6.29.5",
"@ledgerhq/types-devices": "^6.22.4",
- "@maplibre/maplibre-react-native": "^9.1.0",
"@metaplex-foundation/js": "^0.19.5",
"@metaplex-foundation/mpl-bubblegum": "0.6.0",
"@metaplex-foundation/mpl-token-metadata": "2.10.0",
"@ngraveio/bc-ur": "^1.1.13",
- "@novalabsxyz/mobile-theme": "2.0.0-y.25",
+ "@novalabsxyz/mobile-theme": "2.0.0-y.26",
"@onsol/tldparser": "^0.5.3",
"@react-native-async-storage/async-storage": "1.18.1",
"@react-native-community/blur": "4.3.0",
@@ -86,6 +85,7 @@
"@react-navigation/native-stack": "6.7.0",
"@react-navigation/stack": "6.2.2",
"@reduxjs/toolkit": "1.9.1",
+ "@rnmapbox/maps": "^10.1.31",
"@shopify/restyle": "2.4.2",
"@solana/spl-account-compression": "0.1.4",
"@solana/spl-memo": "0.2.3",
@@ -134,6 +134,7 @@
"expo-haptics": "13.0.1",
"expo-linking": "6.3.1",
"expo-local-authentication": "14.0.1",
+ "expo-location": "^17.0.1",
"expo-secure-store": "13.0.2",
"expo-splash-screen": "0.27.5",
"fuse.js": "6.6.2",
@@ -162,10 +163,12 @@
"react-native-appstate-hook": "1.0.6",
"react-native-ble-plx": "2.0.3",
"react-native-charts-wrapper": "0.5.10",
+ "react-native-compass-heading": "^1.5.0",
"react-native-config": "1.4.6",
"react-native-crypto": "2.2.0",
"react-native-device-info": "8.7.1",
"react-native-flash-message": "0.2.1",
+ "react-native-geocoding": "^0.5.0",
"react-native-gesture-handler": "2.18.1",
"react-native-get-random-values": "1.8.0",
"react-native-icloudstore": "0.9.0",
@@ -200,6 +203,7 @@
"react-native-udp": "2.7.0",
"react-native-url-polyfill": "^2.0.0",
"react-native-video": "5.2.1",
+ "react-native-vision-camera": "^4.5.3",
"react-native-webview": "13.10.5",
"react-redux": "8.0.4",
"readable-stream": "3.6.0",
diff --git a/src/App.tsx b/src/App.tsx
index 46f815982..b7208fc88 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -2,7 +2,6 @@ import AutoGasBanner from '@components/AutoGasBanner'
import { BottomSheetModalProvider } from '@gorhom/bottom-sheet'
import { PortalProvider } from '@gorhom/portal'
import { OnboardingProvider as HotspotOnboardingProvider } from '@helium/react-native-sdk'
-import MapLibreGL from '@maplibre/maplibre-react-native'
import { DarkTheme, NavigationContainer } from '@react-navigation/native'
import { ThemeProvider } from '@shopify/restyle'
import { ModalProvider } from '@storage/ModalsProvider'
@@ -12,6 +11,7 @@ import globalStyles from '@theme/globalStyles'
import { darkTheme } from '@theme/theme'
import * as SplashLib from 'expo-splash-screen'
import React, { useMemo } from 'react'
+import Mapbox from '@rnmapbox/maps'
import { LogBox, Platform, StatusBar, UIManager } from 'react-native'
import useAppState from 'react-native-appstate-hook'
import Config from 'react-native-config'
@@ -46,7 +46,8 @@ const App = () => {
// Note that the Android SDK is slightly peculiar
// in that it requires setting an access token,
// even though it will be null for most users(only Mapbox authenticates this way)
- MapLibreGL.setAccessToken(null)
+ // MapLibreGL.setAccessToken(null)
+ Mapbox.setAccessToken(Config.MAPBOX_ACCESS_TOKEN)
LogBox.ignoreLogs([
'Module iCloudStorage',
diff --git a/src/Input.tsx b/src/Input.tsx
deleted file mode 100644
index 0ecb1e4a0..000000000
--- a/src/Input.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-/* eslint-disable react/jsx-props-no-spreading */
-import React from 'react'
-import {
- Text,
- TextInput,
- TextInputProps,
- TextProps,
- View,
- ViewStyle,
-} from 'react-native'
-
-type Props = {
- title: string
- textProps?: TextProps
- inputProps?: TextInputProps
- style?: ViewStyle
-}
-const Input = ({ style, title, textProps, inputProps }: Props) => {
- return (
-
- {title}
-
-
- )
-}
-
-export default Input
diff --git a/src/assets/images/account.svg b/src/assets/images/account.svg
deleted file mode 100644
index d3fdd19c2..000000000
--- a/src/assets/images/account.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
\ No newline at end of file
diff --git a/src/assets/images/accountIntroIconOne.svg b/src/assets/images/accountIntroIconOne.svg
deleted file mode 100644
index 0bd00bd56..000000000
--- a/src/assets/images/accountIntroIconOne.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
diff --git a/src/assets/images/add.svg b/src/assets/images/add.svg
index 4598139bf..41e96f224 100644
--- a/src/assets/images/add.svg
+++ b/src/assets/images/add.svg
@@ -1,3 +1,3 @@
diff --git a/src/assets/images/addHotspotImage.png b/src/assets/images/addHotspotImage.png
new file mode 100644
index 000000000..ef4650b85
Binary files /dev/null and b/src/assets/images/addHotspotImage.png differ
diff --git a/src/assets/images/addHotspotImage@2x.png b/src/assets/images/addHotspotImage@2x.png
new file mode 100644
index 000000000..f5e94b195
Binary files /dev/null and b/src/assets/images/addHotspotImage@2x.png differ
diff --git a/src/assets/images/addHotspotImage@3x.png b/src/assets/images/addHotspotImage@3x.png
new file mode 100644
index 000000000..7c38ee20a
Binary files /dev/null and b/src/assets/images/addHotspotImage@3x.png differ
diff --git a/src/assets/images/bigClose.svg b/src/assets/images/bigClose.svg
deleted file mode 100644
index 491258957..000000000
--- a/src/assets/images/bigClose.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
diff --git a/src/assets/images/boxTriangleTop.svg b/src/assets/images/boxTriangleTop.svg
deleted file mode 100644
index 24c5dadae..000000000
--- a/src/assets/images/boxTriangleTop.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/src/assets/images/building.png b/src/assets/images/building.png
new file mode 100644
index 000000000..fdd695e08
Binary files /dev/null and b/src/assets/images/building.png differ
diff --git a/src/assets/images/building@2x.png b/src/assets/images/building@2x.png
new file mode 100644
index 000000000..8cae3ad89
Binary files /dev/null and b/src/assets/images/building@2x.png differ
diff --git a/src/assets/images/building@3x.png b/src/assets/images/building@3x.png
new file mode 100644
index 000000000..5271d56dd
Binary files /dev/null and b/src/assets/images/building@3x.png differ
diff --git a/src/assets/images/buy.svg b/src/assets/images/buy.svg
deleted file mode 100644
index 44803aa95..000000000
--- a/src/assets/images/buy.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/src/assets/images/cameraCheck.svg b/src/assets/images/cameraCheck.svg
new file mode 100644
index 000000000..1e0d2cae6
--- /dev/null
+++ b/src/assets/images/cameraCheck.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/images/chevronDown.svg b/src/assets/images/chevronDown.svg
index 5cf6154fd..08f7de437 100644
--- a/src/assets/images/chevronDown.svg
+++ b/src/assets/images/chevronDown.svg
@@ -1,3 +1,3 @@
-