- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스) - Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포 - 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
73 lines
1.5 KiB
Plaintext
73 lines
1.5 KiB
Plaintext
#import "RNCSafeAreaContext.h"
|
|
|
|
#import <React/RCTUtils.h>
|
|
#import <UIKit/UIKit.h>
|
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
#import <safeareacontext/safeareacontext.h>
|
|
#endif
|
|
|
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
using namespace facebook::react;
|
|
|
|
@interface RNCSafeAreaContext () <NativeSafeAreaContextSpec>
|
|
@end
|
|
#endif
|
|
|
|
@implementation RNCSafeAreaContext
|
|
|
|
RCT_EXPORT_MODULE()
|
|
|
|
+ (BOOL)requiresMainQueueSetup
|
|
{
|
|
return YES;
|
|
}
|
|
|
|
- (NSDictionary *)constantsToExport
|
|
{
|
|
return [self getConstants];
|
|
}
|
|
|
|
- (NSDictionary *)getConstants
|
|
{
|
|
__block NSDictionary *constants;
|
|
|
|
RCTUnsafeExecuteOnMainQueueSync(^{
|
|
UIWindow *window = RCTKeyWindow();
|
|
if (window == nil) {
|
|
constants = @{@"initialWindowMetrics" : [NSNull null]};
|
|
return;
|
|
}
|
|
|
|
UIEdgeInsets safeAreaInsets = window.safeAreaInsets;
|
|
constants = @{
|
|
@"initialWindowMetrics" : @{
|
|
@"insets" : @{
|
|
@"top" : @(safeAreaInsets.top),
|
|
@"right" : @(safeAreaInsets.right),
|
|
@"bottom" : @(safeAreaInsets.bottom),
|
|
@"left" : @(safeAreaInsets.left),
|
|
},
|
|
@"frame" : @{
|
|
@"x" : @(window.frame.origin.x),
|
|
@"y" : @(window.frame.origin.y),
|
|
@"width" : @(window.frame.size.width),
|
|
@"height" : @(window.frame.size.height),
|
|
},
|
|
}
|
|
};
|
|
});
|
|
|
|
return constants;
|
|
}
|
|
|
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
|
|
- (std::shared_ptr<TurboModule>)getTurboModule:(const ObjCTurboModule::InitParams &)params
|
|
{
|
|
return std::make_shared<NativeSafeAreaContextSpecJSI>(params);
|
|
}
|
|
|
|
#endif
|
|
|
|
@end
|