- 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
62 lines
2.4 KiB
TypeScript
62 lines
2.4 KiB
TypeScript
/**
|
||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
*
|
||
* This source code is licensed under the MIT license found in the
|
||
* LICENSE file in the root directory of this source tree.
|
||
*
|
||
* @format
|
||
*/
|
||
|
||
import {NativeEventEmitter} from '../EventEmitter/NativeEventEmitter';
|
||
import {EmitterSubscription} from '../vendor/emitter/EventEmitter';
|
||
|
||
export interface LinkingStatic extends NativeEventEmitter {
|
||
/**
|
||
* Add a handler to Linking changes by listening to the `url` event type
|
||
* and providing the handler
|
||
*/
|
||
addEventListener(
|
||
type: 'url',
|
||
handler: (event: {url: string}) => void,
|
||
): EmitterSubscription;
|
||
|
||
/**
|
||
* Try to open the given url with any of the installed apps.
|
||
* You can use other URLs, like a location (e.g. "geo:37.484847,-122.148386"), a contact, or any other URL that can be opened with the installed apps.
|
||
* NOTE: This method will fail if the system doesn't know how to open the specified URL. If you're passing in a non-http(s) URL, it's best to check {@code canOpenURL} first.
|
||
* NOTE: For web URLs, the protocol ("http://", "https://") must be set accordingly!
|
||
*/
|
||
openURL(url: string): Promise<any>;
|
||
|
||
/**
|
||
* Determine whether or not an installed app can handle a given URL.
|
||
* NOTE: For web URLs, the protocol ("http://", "https://") must be set accordingly!
|
||
* NOTE: As of iOS 9, your app needs to provide the LSApplicationQueriesSchemes key inside Info.plist.
|
||
* @param URL the URL to open
|
||
*/
|
||
canOpenURL(url: string): Promise<boolean>;
|
||
|
||
/**
|
||
* If the app launch was triggered by an app link with, it will give the link url, otherwise it will give null
|
||
* NOTE: To support deep linking on Android, refer http://developer.android.com/training/app-indexing/deep-linking.html#handling-intents
|
||
*/
|
||
getInitialURL(): Promise<string | null>;
|
||
|
||
/**
|
||
* Open the Settings app and displays the app’s custom settings, if it has any.
|
||
*/
|
||
openSettings(): Promise<void>;
|
||
|
||
/**
|
||
* Sends an Android Intent - a broad surface to express Android functions. Useful for deep-linking to settings pages,
|
||
* opening an SMS app with a message draft in place, and more. See https://developer.android.com/reference/kotlin/android/content/Intent?hl=en
|
||
*/
|
||
sendIntent(
|
||
action: string,
|
||
extras?: Array<{key: string; value: string | number | boolean}>,
|
||
): Promise<void>;
|
||
}
|
||
|
||
export const Linking: LinkingStatic;
|
||
export type Linking = LinkingStatic;
|