- 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
64 lines
2.5 KiB
Objective-C
64 lines
2.5 KiB
Objective-C
#import <React/RCTBridgeModule.h>
|
|
#import <React/RCTUIManager.h>
|
|
|
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
#import <React/RCTSurfacePresenterStub.h>
|
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
|
|
#import <RNReanimated/READisplayLink.h>
|
|
|
|
@class REAModule;
|
|
|
|
typedef void (^REAOnAnimationCallback)(READisplayLink *displayLink);
|
|
typedef void (^REANativeAnimationOp)(RCTUIManager *uiManager);
|
|
typedef void (^REAEventHandler)(id<RCTEvent> event);
|
|
typedef void (^CADisplayLinkOperation)(READisplayLink *displayLink);
|
|
|
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
typedef void (^REAPerformOperations)();
|
|
#endif
|
|
|
|
@interface REANodesManager : NSObject
|
|
|
|
@property (nonatomic, weak, nullable) RCTUIManager *uiManager;
|
|
@property (nonatomic, weak, nullable) REAModule *reanimatedModule;
|
|
@property (nonatomic, readonly) CFTimeInterval currentAnimationTimestamp;
|
|
|
|
@property (nonatomic, nullable) NSSet<NSString *> *uiProps;
|
|
@property (nonatomic, nullable) NSSet<NSString *> *nativeProps;
|
|
|
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
- (nonnull instancetype)initWithModule:(REAModule *)reanimatedModule
|
|
bridge:(RCTBridge *)bridge
|
|
surfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter;
|
|
#else
|
|
- (instancetype)initWithModule:(REAModule *)reanimatedModule uiManager:(RCTUIManager *)uiManager;
|
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
- (void)invalidate;
|
|
- (void)operationsBatchDidComplete;
|
|
|
|
- (void)postOnAnimation:(REAOnAnimationCallback)clb;
|
|
- (void)registerEventHandler:(REAEventHandler)eventHandler;
|
|
- (void)dispatchEvent:(id<RCTEvent>)event;
|
|
|
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
- (void)setSurfacePresenter:(id<RCTSurfacePresenterStub>)surfacePresenter;
|
|
- (void)registerPerformOperations:(REAPerformOperations)performOperations;
|
|
- (void)synchronouslyUpdateViewOnUIThread:(nonnull NSNumber *)viewTag props:(nonnull NSDictionary *)uiProps;
|
|
#else
|
|
- (void)configureUiProps:(nonnull NSSet<NSString *> *)uiPropsSet
|
|
andNativeProps:(nonnull NSSet<NSString *> *)nativePropsSet;
|
|
- (void)updateProps:(nonnull NSDictionary *)props
|
|
ofViewWithTag:(nonnull NSNumber *)viewTag
|
|
withName:(nonnull NSString *)viewName;
|
|
- (void)maybeFlushUpdateBuffer;
|
|
- (void)enqueueUpdateViewOnNativeThread:(nonnull NSNumber *)reactTag
|
|
viewName:(NSString *)viewName
|
|
nativeProps:(NSMutableDictionary *)nativeProps
|
|
trySynchronously:(BOOL)trySync;
|
|
- (NSString *)obtainProp:(nonnull NSNumber *)viewTag propName:(nonnull NSString *)propName;
|
|
#endif // RCT_NEW_ARCH_ENABLED
|
|
- (void)maybeFlushUIUpdatesQueue;
|
|
|
|
@end
|