From c8aae530f28f23ecbf6e872840f0d4ba0b06e8db Mon Sep 17 00:00:00 2001 From: Jovanni Lo Date: Tue, 10 Nov 2026 04:07:21 +0800 Subject: [PATCH 1/2] fix(example): restore Expo web startup --- example/README.md | 9 +++++++++ example/expo/.env.example | 1 + example/expo/app/modal.tsx | 2 +- example/expo/package.json | 2 ++ example/shared/src/screens/HomeScreen.tsx | 2 +- example/shared/src/screens/MarkerDetailScreen.tsx | 2 +- example/shared/src/screens/StaticMapsScreen.tsx | 2 +- yarn.lock | 2 ++ 8 files changed, 18 insertions(+), 4 deletions(-) diff --git a/example/README.md b/example/README.md index 4f2c3b7..d442a56 100644 --- a/example/README.md +++ b/example/README.md @@ -26,6 +26,12 @@ Edit both `.env` files with your API key: GOOGLE_MAPS_API_KEY=your_api_key_here ``` +The Expo `.env` also exposes the key to the web example: + +```sh +EXPO_PUBLIC_GOOGLE_MAPS_API_KEY=${GOOGLE_MAPS_API_KEY} +``` + ## Running From the repo root: @@ -41,6 +47,9 @@ yarn bare android # Run expo example yarn expo ios yarn expo android + +# Run web example +yarn expo web ``` ## Shared Components diff --git a/example/expo/.env.example b/example/expo/.env.example index f2e2b1a..54b8fd7 100644 --- a/example/expo/.env.example +++ b/example/expo/.env.example @@ -1 +1,2 @@ GOOGLE_MAPS_API_KEY=your_api_key_here +EXPO_PUBLIC_GOOGLE_MAPS_API_KEY=${GOOGLE_MAPS_API_KEY} diff --git a/example/expo/app/modal.tsx b/example/expo/app/modal.tsx index 2f0a195..728e27c 100644 --- a/example/expo/app/modal.tsx +++ b/example/expo/app/modal.tsx @@ -15,7 +15,7 @@ export default function ModalScreen() { const router = useRouter(); const mapRef = useRef(null); const { top, bottom } = useSafeAreaInsets(); - const apiKey = process.env.GOOGLE_MAPS_API_KEY; + const apiKey = process.env.EXPO_PUBLIC_GOOGLE_MAPS_API_KEY; const handleReady = () => { mapRef.current?.fitCoordinates(TOUR_COORDINATES, { diff --git a/example/expo/package.json b/example/expo/package.json index 4102f34..3a33997 100644 --- a/example/expo/package.json +++ b/example/expo/package.json @@ -15,6 +15,8 @@ "@lodev09/react-native-true-sheet": "4.1.0", "@lugg/maps": "workspace:*", "@lugg/shared-example": "workspace:*", + "@radix-ui/react-dialog": "^1.1.23", + "@radix-ui/react-presence": "^1.1.10", "@vis.gl/react-google-maps": "^1.5.0", "expo": "~58.0.23", "expo-constants": "~58.0.15", diff --git a/example/shared/src/screens/HomeScreen.tsx b/example/shared/src/screens/HomeScreen.tsx index b7d14d7..5fb5608 100644 --- a/example/shared/src/screens/HomeScreen.tsx +++ b/example/shared/src/screens/HomeScreen.tsx @@ -46,7 +46,7 @@ interface HomeProps { } export const HomeScreen = ({ onMarkerPress, onShowStaticMaps }: HomeProps) => { - const apiKey = process.env.GOOGLE_MAPS_API_KEY; + const apiKey = process.env.EXPO_PUBLIC_GOOGLE_MAPS_API_KEY; return ( diff --git a/example/shared/src/screens/MarkerDetailScreen.tsx b/example/shared/src/screens/MarkerDetailScreen.tsx index 7ec07fa..e0ea0fc 100644 --- a/example/shared/src/screens/MarkerDetailScreen.tsx +++ b/example/shared/src/screens/MarkerDetailScreen.tsx @@ -29,7 +29,7 @@ export const MarkerDetailScreen = ({ }: MarkerDetailScreenProps) => { const { colors } = useTheme(); const { width, height } = useWindowDimensions(); - const apiKey = process.env.GOOGLE_MAPS_API_KEY; + const apiKey = process.env.EXPO_PUBLIC_GOOGLE_MAPS_API_KEY; const [provider, setProvider] = useState( Platform.OS === 'ios' ? 'apple' : 'google' ); diff --git a/example/shared/src/screens/StaticMapsScreen.tsx b/example/shared/src/screens/StaticMapsScreen.tsx index 9a5f799..92c50a1 100644 --- a/example/shared/src/screens/StaticMapsScreen.tsx +++ b/example/shared/src/screens/StaticMapsScreen.tsx @@ -329,7 +329,7 @@ export const StaticMapsScreen = ({ onSelect, topInset = 0, }: StaticMapsScreenProps) => { - const apiKey = process.env.GOOGLE_MAPS_API_KEY; + const apiKey = process.env.EXPO_PUBLIC_GOOGLE_MAPS_API_KEY; const { colors } = useTheme(); const [provider, setProvider] = useState( diff --git a/yarn.lock b/yarn.lock index 3ea3737..944fbab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4254,6 +4254,8 @@ __metadata: "@lodev09/react-native-true-sheet": "npm:4.1.0" "@lugg/maps": "workspace:*" "@lugg/shared-example": "workspace:*" + "@radix-ui/react-dialog": "npm:^1.1.23" + "@radix-ui/react-presence": "npm:^1.1.10" "@types/react": "npm:~19.3.0" "@types/react-dom": "npm:~19.3.0" "@types/react-native-web": "npm:^0" From bfa23385e298a208e7d41c327fe11492bc3dae65 Mon Sep 17 00:00:00 2001 From: Jovanni Lo Date: Tue, 10 Nov 2026 04:08:18 +0800 Subject: [PATCH 2/2] chore(example): reorder iOS privacy manifest entries --- example/bare/ios/LuggMapsExample/PrivacyInfo.xcprivacy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/example/bare/ios/LuggMapsExample/PrivacyInfo.xcprivacy b/example/bare/ios/LuggMapsExample/PrivacyInfo.xcprivacy index 41b8317..fc90547 100644 --- a/example/bare/ios/LuggMapsExample/PrivacyInfo.xcprivacy +++ b/example/bare/ios/LuggMapsExample/PrivacyInfo.xcprivacy @@ -14,18 +14,18 @@ NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategoryUserDefaults + NSPrivacyAccessedAPICategorySystemBootTime NSPrivacyAccessedAPITypeReasons - CA92.1 + 35F9.1 NSPrivacyAccessedAPIType - NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPICategoryUserDefaults NSPrivacyAccessedAPITypeReasons - 35F9.1 + CA92.1