- 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
34 lines
1.6 KiB
Ruby
34 lines
1.6 KiB
Ruby
# 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.
|
|
|
|
require_relative './utils.rb'
|
|
|
|
# It sets up the JavaScriptCore and JSI pods.
|
|
#
|
|
# @parameter react_native_path: relative path to react-native
|
|
# @parameter fabric_enabled: whether Fabirc is enabled
|
|
def setup_jsc!(react_native_path: "../node_modules/react-native", fabric_enabled: false)
|
|
pod 'React-jsi', :path => "#{react_native_path}/ReactCommon/jsi"
|
|
pod 'React-jsc', :path => "#{react_native_path}/ReactCommon/jsc"
|
|
if fabric_enabled
|
|
pod 'React-jsc/Fabric', :path => "#{react_native_path}/ReactCommon/jsc"
|
|
end
|
|
end
|
|
|
|
# It sets up the Hermes and JSI pods.
|
|
#
|
|
# @parameter react_native_path: relative path to react-native
|
|
# @parameter fabric_enabled: whether Fabirc is enabled
|
|
def setup_hermes!(react_native_path: "../node_modules/react-native")
|
|
react_native_dir = Pod::Config.instance.installation_root.join(react_native_path)
|
|
pod 'React-jsi', :path => "#{react_native_path}/ReactCommon/jsi"
|
|
# This `:tag => hermestag` below is only to tell CocoaPods to update hermes-engine when React Native version changes.
|
|
# We have custom logic to compute the source for hermes-engine. See sdks/hermes-engine/*
|
|
hermestag_file = File.join(react_native_dir, "sdks", ".hermesversion")
|
|
hermestag = File.exist?(hermestag_file) ? File.read(hermestag_file).strip : ''
|
|
pod 'hermes-engine', :podspec => "#{react_native_path}/sdks/hermes-engine/hermes-engine.podspec", :tag => hermestag
|
|
pod 'React-hermes', :path => "#{react_native_path}/ReactCommon/hermes"
|
|
end
|