- App.tsx: full navigation (Auth stack + Main tabs with 5 screens) - Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen - HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors - MapScreen: interactive map with layer toggles (6 layers) - MarketplaceScreen: categories (6), products (5), search - ChatScreen: AI chat with quick prompts (4), bot responses - ProfileScreen: user info, stats, menu (9 items), logout - AlertsScreen: alert list with severity, acknowledge - SensorsScreen: sensor list with type filters (6 types), search - ZonesScreen: zone cards with stats - SettingsScreen: language picker (FR/EN/ES/DE), privacy, about - Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n - Hooks: useSensors, useAlerts, useNotifications, useLocation - Components: Card, Button, LoadingSpinner, ErrorBoundary, Header - Services: iotService, notificationService (with axios API client) - Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN) - Theme: colors.ts with full design system (Blue Ocean palette) - Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
66 lines
2.9 KiB
Markdown
66 lines
2.9 KiB
Markdown
<p>
|
|
<a href="https://docs.expo.dev/versions/latest/sdk/location/">
|
|
<img
|
|
src="../../.github/resources/expo-location.svg"
|
|
alt="expo-location"
|
|
height="64" />
|
|
</a>
|
|
</p>
|
|
|
|
Allows reading geolocation information from the device. Your app can poll for the current location or subscribe to location update events.
|
|
|
|
# API documentation
|
|
|
|
- [Documentation for the main branch](https://github.com/expo/expo/blob/main/docs/pages/versions/unversioned/sdk/location.mdx)
|
|
- [Documentation for the latest stable release](https://docs.expo.dev/versions/latest/sdk/location/)
|
|
|
|
# Installation in managed Expo projects
|
|
|
|
For [managed](https://docs.expo.dev/archive/managed-vs-bare/) Expo projects, please follow the installation instructions in the [API documentation for the latest stable release](https://docs.expo.dev/versions/latest/sdk/location/).
|
|
|
|
# Installation in bare React Native projects
|
|
|
|
For bare React Native projects, you must ensure that you have [installed and configured the `expo` package](https://docs.expo.dev/bare/installing-expo-modules/) before continuing.
|
|
|
|
### Add the package to your npm dependencies
|
|
|
|
```
|
|
npx expo install expo-location
|
|
```
|
|
|
|
### Configure for iOS
|
|
|
|
Add `NSLocationAlwaysAndWhenInUseUsageDescription`, `NSLocationAlwaysUsageDescription` and `NSLocationWhenInUseUsageDescription` keys to your `Info.plist`:
|
|
|
|
```xml
|
|
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
|
|
<string>Allow $(PRODUCT_NAME) to use your location</string>
|
|
<key>NSLocationAlwaysUsageDescription</key>
|
|
<string>Allow $(PRODUCT_NAME) to use your location</string>
|
|
<key>NSLocationWhenInUseUsageDescription</key>
|
|
<string>Allow $(PRODUCT_NAME) to use your location</string>
|
|
```
|
|
|
|
Run `npx pod-install` after installing the npm package.
|
|
|
|
### Configure for Android
|
|
|
|
This module requires the permissions for approximate and exact device location. It also needs the foreground service permission to subscribe to location updates, while the app is in use. These permissions are automatically added.
|
|
|
|
```xml
|
|
<!-- Added permissions -->
|
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
|
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
|
|
|
<!-- Optional permissions -->
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
|
|
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
|
```
|
|
|
|
> **Note:** on Android, you have to [submit your app for review and request access to use the background location permission](https://support.google.com/googleplay/android-developer/answer/9799150?hl=en) or [foreground location permissions](https://support.google.com/googleplay/android-developer/answer/13392821?hl=en).
|
|
|
|
# Contributing
|
|
|
|
Contributions are very welcome! Please refer to guidelines described in the [contributing guide](https://github.com/expo/expo#contributing).
|