@convep_mobilogy/react-native-qms-plugin 1.6.1 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/ios/QmsPlugin/QmsDashboardViewManager.mm +109 -44
- package/ios/QmsPlugin/QmsModule.mm +24 -1
- package/ios/QmsPlugin/UIViewController+QmsAnalytics.m +2 -1
- package/ios/QmsPluginFramework.xcframework/Info.plist +5 -5
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Assets.car +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Headers/QmsPlugin.h +30 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-BoldItalic.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-ExtraBold.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-ExtraLight.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-Italic.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-Light.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-SemiBold.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Montserrat-Thin.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/QmsPluginFramework +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/_CodeSignature/CodeResources +83 -6
- package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/en.json +6 -6
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Assets.car +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Headers/QmsPlugin.h +30 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-BoldItalic.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-ExtraBold.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-ExtraLight.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-Italic.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-Light.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-SemiBold.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/Montserrat-Thin.ttf +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/QmsPluginFramework +0 -0
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/_CodeSignature/CodeResources +83 -6
- package/ios/QmsPluginFramework.xcframework/ios-arm64_x86_64-simulator/QmsPluginFramework.framework/en.json +6 -6
- package/lib/module/QmsDashboardView.android.js +7 -1
- package/lib/module/QmsDashboardView.android.js.map +1 -1
- package/lib/module/QmsDashboardView.ios.js +3 -1
- package/lib/module/QmsDashboardView.ios.js.map +1 -1
- package/lib/typescript/src/QmsDashboardView.android.d.ts.map +1 -1
- package/lib/typescript/src/QmsDashboardView.ios.d.ts.map +1 -1
- package/lib/typescript/src/QmsDashboardView.types.d.ts +3 -0
- package/lib/typescript/src/QmsDashboardView.types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/QmsDashboardView.android.tsx +9 -0
- package/src/QmsDashboardView.ios.tsx +2 -0
- package/src/QmsDashboardView.types.ts +3 -0
package/android/build.gradle
CHANGED
|
@@ -75,7 +75,7 @@ dependencies {
|
|
|
75
75
|
implementation "com.facebook.react:react-android"
|
|
76
76
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
77
77
|
implementation 'com.facebook.react:react-native:+'
|
|
78
|
-
implementation "com.convep.qms:qms-plugin:1.
|
|
78
|
+
implementation "com.convep.qms:qms-plugin:1.25.0"
|
|
79
79
|
|
|
80
80
|
implementation 'androidx.appcompat:appcompat:1.6.1'
|
|
81
81
|
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
#import <QmsPluginFramework/QmsPluginFramework.h>
|
|
4
4
|
#import <QmsPluginFramework/QmsPlugin.h>
|
|
5
5
|
|
|
6
|
+
// Forward declaration — QmsModule is defined in QmsModule.mm (same plugin target).
|
|
7
|
+
// We only need the class-method signature here; no header required.
|
|
8
|
+
@interface QmsModule : NSObject
|
|
9
|
+
+ (nullable NSDictionary *)drainPendingLocalNotificationPayload;
|
|
10
|
+
@end
|
|
11
|
+
|
|
6
12
|
static NSString * const kQmsThemePrimaryColorKey = @"QmsThemePrimaryColor";
|
|
7
13
|
static NSString * const kQmsThemeHeaderTextColorKey = @"QmsThemeHeaderTextColor";
|
|
8
14
|
static NSString * const kQmsThemeAccentColorKey = @"QmsThemeAccentColor";
|
|
@@ -25,6 +31,7 @@ static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotifica
|
|
|
25
31
|
@property (nonatomic, assign) BOOL isOrigin;
|
|
26
32
|
@property (nonatomic, copy) NSDictionary *payload;
|
|
27
33
|
@property (nonatomic, assign) BOOL didRouteInitialPayload;
|
|
34
|
+
@property (nonatomic, copy) NSString *versionNumber;
|
|
28
35
|
|
|
29
36
|
@property (nonatomic, copy) RCTDirectEventBlock onClose;
|
|
30
37
|
@property (nonatomic, copy) RCTDirectEventBlock onLogout;
|
|
@@ -119,6 +126,18 @@ static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotifica
|
|
|
119
126
|
[self forwardPropsToVC];
|
|
120
127
|
[self routePayloadIfNeeded:self.payload force:NO];
|
|
121
128
|
[self applyAllThemeImmediatelyIfNeeded];
|
|
129
|
+
|
|
130
|
+
// 3️⃣ Drain any pending local-notification payload (cold-launch tap).
|
|
131
|
+
// AppDelegate stores draft_reminder payloads in NSUserDefaults before
|
|
132
|
+
// this view exists; we pick them up here and route them exactly like
|
|
133
|
+
// any other payload — after a short delay so the VC hierarchy settles.
|
|
134
|
+
NSDictionary *pendingLocalPayload = [QmsModule drainPendingLocalNotificationPayload];
|
|
135
|
+
if (pendingLocalPayload) {
|
|
136
|
+
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)),
|
|
137
|
+
dispatch_get_main_queue(), ^{
|
|
138
|
+
[self routePayloadIfNeeded:pendingLocalPayload force:YES];
|
|
139
|
+
});
|
|
140
|
+
}
|
|
122
141
|
}
|
|
123
142
|
}
|
|
124
143
|
}
|
|
@@ -228,6 +247,11 @@ static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotifica
|
|
|
228
247
|
[self forwardProp:@"isOrigin" value:@(isOrigin)];
|
|
229
248
|
}
|
|
230
249
|
|
|
250
|
+
- (void)setVersionNumber:(NSString *)versionNumber {
|
|
251
|
+
_versionNumber = [versionNumber copy];
|
|
252
|
+
[self forwardProp:@"versionNumber" value:_versionNumber];
|
|
253
|
+
}
|
|
254
|
+
|
|
231
255
|
- (void)setPayload:(NSDictionary *)payload {
|
|
232
256
|
_payload = [payload copy];
|
|
233
257
|
[self routePayloadIfNeeded:_payload force:NO];
|
|
@@ -254,6 +278,7 @@ static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotifica
|
|
|
254
278
|
[self forwardProp:@"accentColor" value:_accentColor];
|
|
255
279
|
[self forwardProp:@"fontFamily" value:_fontFamily];
|
|
256
280
|
[self forwardProp:@"isOrigin" value:@(_isOrigin)];
|
|
281
|
+
[self forwardProp:@"versionNumber" value:_versionNumber];
|
|
257
282
|
[self applyAllThemeImmediatelyIfNeeded];
|
|
258
283
|
}
|
|
259
284
|
|
|
@@ -286,6 +311,10 @@ static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotifica
|
|
|
286
311
|
[type isEqualToString:@"unattend_appt_reminder"];
|
|
287
312
|
}
|
|
288
313
|
|
|
314
|
+
- (BOOL)isDraftReminderType:(NSString *)type {
|
|
315
|
+
return [type isEqualToString:@"draft_reminder"];
|
|
316
|
+
}
|
|
317
|
+
|
|
289
318
|
- (void)applyPayloadContext:(NSDictionary *)payload {
|
|
290
319
|
Class apiConfig = NSClassFromString(@"APIConfig");
|
|
291
320
|
if (!apiConfig) return;
|
|
@@ -372,76 +401,111 @@ static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotifica
|
|
|
372
401
|
} @catch (__unused NSException *e) {}
|
|
373
402
|
}
|
|
374
403
|
|
|
375
|
-
- (void)
|
|
376
|
-
|
|
377
|
-
if (!
|
|
378
|
-
|
|
379
|
-
if (!vc) return;
|
|
380
|
-
[self applyProjectContext:vc payload:payload title:title];
|
|
381
|
-
NSString *issueId = [self stringFromPayload:payload key:@"issue_id"];
|
|
382
|
-
if (issueId.length > 0) {
|
|
383
|
-
@try { [vc setValue:issueId forKey:@"deepLinkIssueId"]; }
|
|
384
|
-
@catch (__unused NSException *e) {}
|
|
385
|
-
}
|
|
386
|
-
[self presentDeepLinkVC:vc];
|
|
404
|
+
- (void)presentIssueDetailViewControllerWithPayload:(NSDictionary *)payload title:(NSString *)title {
|
|
405
|
+
UIViewController *presenter = self.dashboardVC;
|
|
406
|
+
if (!presenter) return;
|
|
407
|
+
[QmsPluginUI presentIssueFromPayload:payload fromViewController:presenter];
|
|
387
408
|
}
|
|
388
409
|
|
|
389
|
-
- (void)
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
UIViewController *
|
|
393
|
-
if (!
|
|
394
|
-
[
|
|
395
|
-
[self presentDeepLinkVC:vc];
|
|
410
|
+
- (void)presentAppointmentDetailsViewControllerWithPayload:(NSDictionary *)payload title:(NSString *)title {
|
|
411
|
+
// Delegates to QmsPluginUI which primes APIConfig (project_id / plan_id) before
|
|
412
|
+
// presenting AppointmentDetailsViewController — same pattern as the dashboard deep-link.
|
|
413
|
+
UIViewController *presenter = self.dashboardVC;
|
|
414
|
+
if (!presenter) return;
|
|
415
|
+
[QmsPluginUI presentAppointmentFromPayload:payload fromViewController:presenter];
|
|
396
416
|
}
|
|
397
417
|
|
|
398
|
-
- (void)
|
|
399
|
-
|
|
400
|
-
|
|
418
|
+
- (void)presentDashboardViewControllerWithPayload:(NSDictionary *)payload title:(NSString *)title {
|
|
419
|
+
// Fetch the project list, find the matching project + unit by project_id/plan_id,
|
|
420
|
+
// and present a fully-configured DashboardViewController — same as the normal
|
|
421
|
+
// ProjectViewController → UnitViewController → DashboardViewController flow.
|
|
422
|
+
// The loading overlay and modal presentation are managed inside the framework method.
|
|
423
|
+
UIViewController *presenter = self.dashboardVC;
|
|
424
|
+
if (!presenter) return;
|
|
425
|
+
[QmsPluginUI presentDashboardFromPayload:payload fromViewController:presenter];
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
- (void)presentDraftListingViewControllerWithPayload:(NSDictionary *)payload {
|
|
429
|
+
UIViewController *presenter = self.dashboardVC;
|
|
430
|
+
if (!presenter) return;
|
|
431
|
+
|
|
432
|
+
Class cls = NSClassFromString(@"DraftListingViewController");
|
|
433
|
+
if (!cls) {
|
|
434
|
+
NSLog(@"🧭 [DraftReminder] DraftListingViewController class not found");
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
|
|
401
438
|
UIViewController *vc = [[cls alloc] init];
|
|
402
439
|
if (!vc) return;
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
}
|
|
440
|
+
|
|
441
|
+
// Pass project name if available so the listing filters to the right project
|
|
442
|
+
NSString *projectName = payload[@"project_name"];
|
|
443
|
+
if (projectName.length > 0) {
|
|
444
|
+
@try { [vc setValue:projectName forKey:@"projectName"]; }
|
|
445
|
+
@catch (__unused NSException *e) {}
|
|
446
|
+
}
|
|
447
|
+
|
|
410
448
|
[self presentDeepLinkVC:vc];
|
|
411
449
|
}
|
|
412
450
|
|
|
413
451
|
- (void)routePayloadIfNeeded:(NSDictionary *)payload force:(BOOL)force {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
452
|
+
NSLog(@"🧭 [QmsDashboardView] routePayloadIfNeeded — force=%d payload.count=%lu _didSetupVC=%d _didRouteInitialPayload=%d",
|
|
453
|
+
force, (unsigned long)payload.count, _didSetupVC, _didRouteInitialPayload);
|
|
454
|
+
|
|
455
|
+
if (![payload isKindOfClass:[NSDictionary class]] || payload.count == 0) {
|
|
456
|
+
NSLog(@"⚠️ [QmsDashboardView] routePayloadIfNeeded: payload invalid/empty — bailing");
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
if (!_didSetupVC || !self.dashboardVC) {
|
|
460
|
+
NSLog(@"⚠️ [QmsDashboardView] routePayloadIfNeeded: VC not ready yet (_didSetupVC=%d dashboardVC=%@) — bailing",
|
|
461
|
+
_didSetupVC, self.dashboardVC ? @"exists" : @"nil");
|
|
462
|
+
return;
|
|
463
|
+
}
|
|
464
|
+
if (_didRouteInitialPayload && !force) {
|
|
465
|
+
NSLog(@"⚠️ [QmsDashboardView] routePayloadIfNeeded: already routed and force=NO — bailing");
|
|
466
|
+
return;
|
|
467
|
+
}
|
|
417
468
|
|
|
418
469
|
_didRouteInitialPayload = YES;
|
|
419
470
|
[self applyPayloadContext:payload];
|
|
420
471
|
|
|
421
472
|
NSString *type = [self stringFromPayload:payload key:@"type"];
|
|
422
473
|
NSString *title = [self stringFromPayload:payload key:@"title"];
|
|
423
|
-
NSLog(@"🧭 routePayloadIfNeeded type=%@ project_id=%@ plan_id=%@ title=%@",
|
|
424
|
-
type ?: @"",
|
|
425
|
-
[self stringFromPayload:payload key:@"project_id"] ?: @"",
|
|
426
|
-
[self stringFromPayload:payload key:@"plan_id"] ?: @"",
|
|
427
|
-
|
|
474
|
+
NSLog(@"🧭 [QmsDashboardView] routePayloadIfNeeded — type=%@ project_id=%@ plan_id=%@ issue_id=%@ appointment_id=%@ title=%@",
|
|
475
|
+
type ?: @"(none)",
|
|
476
|
+
[self stringFromPayload:payload key:@"project_id"] ?: @"(none)",
|
|
477
|
+
[self stringFromPayload:payload key:@"plan_id"] ?: @"(none)",
|
|
478
|
+
[self stringFromPayload:payload key:@"issue_id"] ?: @"(none)",
|
|
479
|
+
[self stringFromPayload:payload key:@"appointment_id"] ?: @"(none)",
|
|
480
|
+
title ?: @"(none)");
|
|
428
481
|
|
|
429
482
|
if ([self isIssueType:type]) {
|
|
430
|
-
NSLog(@"🧭 routing issue type
|
|
431
|
-
[self
|
|
483
|
+
NSLog(@"🧭 [QmsDashboardView] routing → presentIssueFromPayload (issue type: %@)", type);
|
|
484
|
+
[self presentIssueDetailViewControllerWithPayload:payload title:title ?: @""];
|
|
432
485
|
} else if ([self isAppointmentType:type]) {
|
|
433
|
-
NSLog(@"🧭 routing appointment type
|
|
434
|
-
[self
|
|
486
|
+
NSLog(@"🧭 [QmsDashboardView] routing → presentAppointmentFromPayload (appointment type: %@)", type);
|
|
487
|
+
[self presentAppointmentDetailsViewControllerWithPayload:payload title:title ?: @""];
|
|
435
488
|
} else if ([type isEqualToString:@"clearance_letter"]) {
|
|
436
|
-
NSLog(@"🧭 routing
|
|
437
|
-
[self
|
|
489
|
+
NSLog(@"🧭 [QmsDashboardView] routing → presentDashboardFromPayload (clearance_letter)");
|
|
490
|
+
[self presentDashboardViewControllerWithPayload:payload title:title ?: @""];
|
|
491
|
+
} else if ([self isDraftReminderType:type]) {
|
|
492
|
+
NSLog(@"🧭 [QmsDashboardView] routing → presentDraftListingViewController (draft_reminder)");
|
|
493
|
+
// [self presentDraftListingViewControllerWithPayload:payload];
|
|
494
|
+
[self presentDashboardViewControllerWithPayload:payload title:title ?: @""];
|
|
438
495
|
} else {
|
|
439
|
-
NSLog(@"🧭 no route matched for type=%@", type ?: @"");
|
|
496
|
+
NSLog(@"🧭 [QmsDashboardView] routePayloadIfNeeded — no route matched for type=%@", type ?: @"(none)");
|
|
440
497
|
}
|
|
441
498
|
}
|
|
442
499
|
|
|
443
500
|
- (void)handleRoutePayloadNotification:(NSNotification *)note {
|
|
501
|
+
NSLog(@"📬 [QmsDashboardView] handleRoutePayloadNotification received — userInfo class=%@", NSStringFromClass([note.userInfo class]));
|
|
444
502
|
NSDictionary *payload = [note.userInfo isKindOfClass:[NSDictionary class]] ? note.userInfo : nil;
|
|
503
|
+
if (!payload) {
|
|
504
|
+
NSLog(@"⚠️ [QmsDashboardView] handleRoutePayloadNotification: userInfo is not a dict, dropping");
|
|
505
|
+
return;
|
|
506
|
+
}
|
|
507
|
+
NSLog(@"📬 [QmsDashboardView] handleRoutePayloadNotification — _didSetupVC=%d dashboardVC=%@",
|
|
508
|
+
_didSetupVC, _dashboardVC ? @"exists" : @"nil");
|
|
445
509
|
[self routePayloadIfNeeded:payload force:YES];
|
|
446
510
|
}
|
|
447
511
|
|
|
@@ -701,6 +765,7 @@ RCT_EXPORT_VIEW_PROPERTY(ClientID, NSString)
|
|
|
701
765
|
RCT_EXPORT_VIEW_PROPERTY(ClientCode, NSString)
|
|
702
766
|
RCT_EXPORT_VIEW_PROPERTY(user_token, NSString)
|
|
703
767
|
RCT_EXPORT_VIEW_PROPERTY(pushToken, NSString)
|
|
768
|
+
RCT_EXPORT_VIEW_PROPERTY(versionNumber, NSString)
|
|
704
769
|
RCT_EXPORT_VIEW_PROPERTY(themeColor, NSString)
|
|
705
770
|
RCT_EXPORT_VIEW_PROPERTY(headerTextColor, NSString)
|
|
706
771
|
RCT_EXPORT_VIEW_PROPERTY(headerIconColor, NSString)
|
|
@@ -11,6 +11,7 @@ static NSString * const kQmsThemeHeaderIconColorKey = @"QmsThemeHeaderIconColor"
|
|
|
11
11
|
static NSString * const kQmsThemeAccentColorKey = @"QmsThemeAccentColor";
|
|
12
12
|
static NSString * const kQmsThemeFontFamilyKey = @"QmsThemeFontFamily";
|
|
13
13
|
static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotification";
|
|
14
|
+
static NSString * const kQmsPendingLocalNotifKey = @"QmsPendingLocalNotificationPayload";
|
|
14
15
|
|
|
15
16
|
@interface QmsModule : NSObject <RCTBridgeModule>
|
|
16
17
|
@property (nonatomic, strong) UIView *bannerView;
|
|
@@ -20,6 +21,17 @@ static NSString * const kQmsRoutePayloadNotification = @"QmsRoutePayloadNotifica
|
|
|
20
21
|
|
|
21
22
|
RCT_EXPORT_MODULE(QmsModule)
|
|
22
23
|
|
|
24
|
+
/// Drain the pending local-notification payload written by AppDelegate on cold-launch tap.
|
|
25
|
+
/// Returns nil (and removes the stored value) if nothing is pending.
|
|
26
|
+
+ (nullable NSDictionary *)drainPendingLocalNotificationPayload {
|
|
27
|
+
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
|
28
|
+
id stored = [ud objectForKey:kQmsPendingLocalNotifKey];
|
|
29
|
+
if (![stored isKindOfClass:[NSDictionary class]]) return nil;
|
|
30
|
+
[ud removeObjectForKey:kQmsPendingLocalNotifKey];
|
|
31
|
+
NSLog(@"📬 [QmsModule] Drained pending local notification payload: %@", stored);
|
|
32
|
+
return (NSDictionary *)stored;
|
|
33
|
+
}
|
|
34
|
+
|
|
23
35
|
- (dispatch_queue_t)methodQueue {
|
|
24
36
|
return dispatch_get_main_queue();
|
|
25
37
|
}
|
|
@@ -60,7 +72,18 @@ RCT_EXPORT_MODULE(QmsModule)
|
|
|
60
72
|
}
|
|
61
73
|
|
|
62
74
|
- (void)routePayload:(NSDictionary *)payload {
|
|
63
|
-
|
|
75
|
+
NSLog(@"📨 [QmsModule] routePayload called — payload class=%@", NSStringFromClass([payload class]));
|
|
76
|
+
if (![payload isKindOfClass:[NSDictionary class]] || payload.count == 0) {
|
|
77
|
+
NSLog(@"⚠️ [QmsModule] routePayload: invalid or empty payload, aborting");
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
NSLog(@"📨 [QmsModule] routePayload posting QmsRoutePayloadNotification — type=%@ project_id=%@ plan_id=%@ issue_id=%@ appointment_id=%@",
|
|
81
|
+
payload[@"type"] ?: payload[@"data"][@"type"] ?: @"(none)",
|
|
82
|
+
payload[@"project_id"] ?: payload[@"data"][@"project_id"] ?: @"(none)",
|
|
83
|
+
payload[@"plan_id"] ?: payload[@"data"][@"plan_id"] ?: @"(none)",
|
|
84
|
+
payload[@"issue_id"] ?: payload[@"data"][@"issue_id"] ?: @"(none)",
|
|
85
|
+
payload[@"appointment_id"] ?: payload[@"data"][@"appointment_id"] ?: @"(none)");
|
|
86
|
+
NSLog(@"📨 [QmsModule] full payload: %@", payload);
|
|
64
87
|
[[NSNotificationCenter defaultCenter] postNotificationName:kQmsRoutePayloadNotification
|
|
65
88
|
object:nil
|
|
66
89
|
userInfo:payload];
|
|
@@ -314,9 +314,10 @@ static void qms_swizzleInstanceMethod(Class cls, SEL originalSelector, SEL swizz
|
|
|
314
314
|
}
|
|
315
315
|
if (fontFamily.length > 0) {
|
|
316
316
|
[self qms_applyFontRecursively:self.view fontFamily:fontFamily];
|
|
317
|
-
}
|
|
317
|
+
}else {
|
|
318
318
|
[self qms_resetFontRecursively:self.view];
|
|
319
319
|
}
|
|
320
|
+
|
|
320
321
|
[self qms_applyStatusBarFillWithColor:themeColor];
|
|
321
322
|
}
|
|
322
323
|
|
|
@@ -8,32 +8,32 @@
|
|
|
8
8
|
<key>BinaryPath</key>
|
|
9
9
|
<string>QmsPluginFramework.framework/QmsPluginFramework</string>
|
|
10
10
|
<key>LibraryIdentifier</key>
|
|
11
|
-
<string>ios-
|
|
11
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
12
12
|
<key>LibraryPath</key>
|
|
13
13
|
<string>QmsPluginFramework.framework</string>
|
|
14
14
|
<key>SupportedArchitectures</key>
|
|
15
15
|
<array>
|
|
16
16
|
<string>arm64</string>
|
|
17
|
+
<string>x86_64</string>
|
|
17
18
|
</array>
|
|
18
19
|
<key>SupportedPlatform</key>
|
|
19
20
|
<string>ios</string>
|
|
21
|
+
<key>SupportedPlatformVariant</key>
|
|
22
|
+
<string>simulator</string>
|
|
20
23
|
</dict>
|
|
21
24
|
<dict>
|
|
22
25
|
<key>BinaryPath</key>
|
|
23
26
|
<string>QmsPluginFramework.framework/QmsPluginFramework</string>
|
|
24
27
|
<key>LibraryIdentifier</key>
|
|
25
|
-
<string>ios-
|
|
28
|
+
<string>ios-arm64</string>
|
|
26
29
|
<key>LibraryPath</key>
|
|
27
30
|
<string>QmsPluginFramework.framework</string>
|
|
28
31
|
<key>SupportedArchitectures</key>
|
|
29
32
|
<array>
|
|
30
33
|
<string>arm64</string>
|
|
31
|
-
<string>x86_64</string>
|
|
32
34
|
</array>
|
|
33
35
|
<key>SupportedPlatform</key>
|
|
34
36
|
<string>ios</string>
|
|
35
|
-
<key>SupportedPlatformVariant</key>
|
|
36
|
-
<string>simulator</string>
|
|
37
37
|
</dict>
|
|
38
38
|
</array>
|
|
39
39
|
<key>CFBundlePackageType</key>
|
package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/Assets.car
CHANGED
|
Binary file
|
|
@@ -8,6 +8,36 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
8
8
|
|
|
9
9
|
+ (UIViewController *)makeViewController;
|
|
10
10
|
|
|
11
|
+
/// Fetches project list data and presents DashboardViewController fully configured
|
|
12
|
+
/// for the given FCM deep-link payload. The payload must contain at minimum
|
|
13
|
+
/// `project_id` and `plan_id`. Auth/base-URL must already be configured in APIConfig
|
|
14
|
+
/// (i.e. the SDK has already been initialised by the user opening the app).
|
|
15
|
+
///
|
|
16
|
+
/// @param payload The FCM notification data dictionary.
|
|
17
|
+
/// @param presenter The view controller from which the dashboard will be presented modally.
|
|
18
|
+
+ (void)presentDashboardFromPayload:(NSDictionary *)payload
|
|
19
|
+
fromViewController:(UIViewController *)presenter;
|
|
20
|
+
|
|
21
|
+
/// Configures APIConfig with the project/plan context from the payload, then
|
|
22
|
+
/// presents AppointmentDetailsViewController modally. The payload must contain
|
|
23
|
+
/// `project_id`, `plan_id`, and `appointment_id` (or `id` as a fallback).
|
|
24
|
+
/// Auth/base-URL must already be configured in APIConfig.
|
|
25
|
+
///
|
|
26
|
+
/// @param payload The FCM notification data dictionary.
|
|
27
|
+
/// @param presenter The view controller from which the appointment screen will be presented.
|
|
28
|
+
+ (void)presentAppointmentFromPayload:(NSDictionary *)payload
|
|
29
|
+
fromViewController:(UIViewController *)presenter;
|
|
30
|
+
|
|
31
|
+
/// Fetches the issue list, finds the matching issue by `issue_id` from the payload,
|
|
32
|
+
/// and presents IssueDetailViewController fully configured. The payload must contain
|
|
33
|
+
/// at minimum `project_id`, `plan_id`, and `issue_id`. Auth/base-URL must already
|
|
34
|
+
/// be configured in APIConfig.
|
|
35
|
+
///
|
|
36
|
+
/// @param payload The FCM notification data dictionary.
|
|
37
|
+
/// @param presenter The view controller from which the issue screen will be presented.
|
|
38
|
+
+ (void)presentIssueFromPayload:(NSDictionary *)payload
|
|
39
|
+
fromViewController:(UIViewController *)presenter;
|
|
40
|
+
|
|
11
41
|
@end
|
|
12
42
|
|
|
13
43
|
NS_ASSUME_NONNULL_END
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/ios/QmsPluginFramework.xcframework/ios-arm64/QmsPluginFramework.framework/QmsPluginFramework
CHANGED
|
Binary file
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
<dict>
|
|
7
7
|
<key>Assets.car</key>
|
|
8
8
|
<data>
|
|
9
|
-
|
|
9
|
+
TWfalcvk3qO6mG21qB5bdrcMBjM=
|
|
10
10
|
</data>
|
|
11
11
|
<key>Headers/QmsPlugin.h</key>
|
|
12
12
|
<data>
|
|
13
|
-
|
|
13
|
+
/jmzwY1kiBwDfgZJ8i6EPSgavTU=
|
|
14
14
|
</data>
|
|
15
15
|
<key>Headers/QmsPluginFramework.h</key>
|
|
16
16
|
<data>
|
|
@@ -28,6 +28,26 @@
|
|
|
28
28
|
<data>
|
|
29
29
|
vnwUOAcKtjfhFxaRXk5QkDcm3Mg=
|
|
30
30
|
</data>
|
|
31
|
+
<key>Montserrat-BoldItalic.ttf</key>
|
|
32
|
+
<data>
|
|
33
|
+
zTeJrlXMcCd2r90v0aga4Wxp+/Q=
|
|
34
|
+
</data>
|
|
35
|
+
<key>Montserrat-ExtraBold.ttf</key>
|
|
36
|
+
<data>
|
|
37
|
+
hPFnduIJnTtX2O0jm3bm+jKEsuc=
|
|
38
|
+
</data>
|
|
39
|
+
<key>Montserrat-ExtraLight.ttf</key>
|
|
40
|
+
<data>
|
|
41
|
+
zHokqGLxd5vbv3immEu5rpMkoSg=
|
|
42
|
+
</data>
|
|
43
|
+
<key>Montserrat-Italic.ttf</key>
|
|
44
|
+
<data>
|
|
45
|
+
rvTmoa8YSWRM4ek0tKuQWekW2Ic=
|
|
46
|
+
</data>
|
|
47
|
+
<key>Montserrat-Light.ttf</key>
|
|
48
|
+
<data>
|
|
49
|
+
M5fNmOUTZcielc0RMOAUG9pQUd4=
|
|
50
|
+
</data>
|
|
31
51
|
<key>Montserrat-Medium.ttf</key>
|
|
32
52
|
<data>
|
|
33
53
|
d/NVNBXYWMZTuupFqsqyAZZ3YzQ=
|
|
@@ -36,6 +56,14 @@
|
|
|
36
56
|
<data>
|
|
37
57
|
7BPvHyyZ+HgNby6z+fJ++J8wFhs=
|
|
38
58
|
</data>
|
|
59
|
+
<key>Montserrat-SemiBold.ttf</key>
|
|
60
|
+
<data>
|
|
61
|
+
efdGFtaLh9bPiXmP5yJZA2MmVno=
|
|
62
|
+
</data>
|
|
63
|
+
<key>Montserrat-Thin.ttf</key>
|
|
64
|
+
<data>
|
|
65
|
+
VQ5uHZkjael+nwCqca5IKmpjJtc=
|
|
66
|
+
</data>
|
|
39
67
|
<key>bm.json</key>
|
|
40
68
|
<data>
|
|
41
69
|
J8m1xUyQbIm7FjEl6dgNTLhSBVU=
|
|
@@ -46,7 +74,7 @@
|
|
|
46
74
|
</data>
|
|
47
75
|
<key>en.json</key>
|
|
48
76
|
<data>
|
|
49
|
-
|
|
77
|
+
VeWo6AyHrREEY0vQ5PaYJwdMY1g=
|
|
50
78
|
</data>
|
|
51
79
|
</dict>
|
|
52
80
|
<key>files2</key>
|
|
@@ -55,14 +83,14 @@
|
|
|
55
83
|
<dict>
|
|
56
84
|
<key>hash2</key>
|
|
57
85
|
<data>
|
|
58
|
-
|
|
86
|
+
6l4RTp5ZrLIp0kzkUpLOxcL0TNvCePYwUcTD/aPlyG4=
|
|
59
87
|
</data>
|
|
60
88
|
</dict>
|
|
61
89
|
<key>Headers/QmsPlugin.h</key>
|
|
62
90
|
<dict>
|
|
63
91
|
<key>hash2</key>
|
|
64
92
|
<data>
|
|
65
|
-
|
|
93
|
+
5YE/tWhfpg+TSsnziCLpEp2m4bzkKkH4oKHM990abTc=
|
|
66
94
|
</data>
|
|
67
95
|
</dict>
|
|
68
96
|
<key>Headers/QmsPluginFramework.h</key>
|
|
@@ -86,6 +114,41 @@
|
|
|
86
114
|
f6k9fapcL4gaZycinCEXgt5rdgCPvWNGs9dmTo/IP0M=
|
|
87
115
|
</data>
|
|
88
116
|
</dict>
|
|
117
|
+
<key>Montserrat-BoldItalic.ttf</key>
|
|
118
|
+
<dict>
|
|
119
|
+
<key>hash2</key>
|
|
120
|
+
<data>
|
|
121
|
+
ABpZsPLFQQgAM7g8pt+szgMJXZnKo1lINfUbfG2c51g=
|
|
122
|
+
</data>
|
|
123
|
+
</dict>
|
|
124
|
+
<key>Montserrat-ExtraBold.ttf</key>
|
|
125
|
+
<dict>
|
|
126
|
+
<key>hash2</key>
|
|
127
|
+
<data>
|
|
128
|
+
XPCiMTPMzjX54RW427+QQ0IBgnvCRl0S+dkbvwLPlGY=
|
|
129
|
+
</data>
|
|
130
|
+
</dict>
|
|
131
|
+
<key>Montserrat-ExtraLight.ttf</key>
|
|
132
|
+
<dict>
|
|
133
|
+
<key>hash2</key>
|
|
134
|
+
<data>
|
|
135
|
+
GsDgBpJUjjFCENEGGd5lYiVFf9RcebVtJCzfc5z3J48=
|
|
136
|
+
</data>
|
|
137
|
+
</dict>
|
|
138
|
+
<key>Montserrat-Italic.ttf</key>
|
|
139
|
+
<dict>
|
|
140
|
+
<key>hash2</key>
|
|
141
|
+
<data>
|
|
142
|
+
fofA+Ws5+7kZswrviZEyPQsldknzkeZFa88DwjFEj0k=
|
|
143
|
+
</data>
|
|
144
|
+
</dict>
|
|
145
|
+
<key>Montserrat-Light.ttf</key>
|
|
146
|
+
<dict>
|
|
147
|
+
<key>hash2</key>
|
|
148
|
+
<data>
|
|
149
|
+
lj13LJxEs8QBslfWk60mAG/HvVQhWVfVE1a0DjY1P4Q=
|
|
150
|
+
</data>
|
|
151
|
+
</dict>
|
|
89
152
|
<key>Montserrat-Medium.ttf</key>
|
|
90
153
|
<dict>
|
|
91
154
|
<key>hash2</key>
|
|
@@ -100,6 +163,20 @@
|
|
|
100
163
|
75z5nwF1vvUwuIk0vZBPz1b3c87G/U37jMr3ziu9OV4=
|
|
101
164
|
</data>
|
|
102
165
|
</dict>
|
|
166
|
+
<key>Montserrat-SemiBold.ttf</key>
|
|
167
|
+
<dict>
|
|
168
|
+
<key>hash2</key>
|
|
169
|
+
<data>
|
|
170
|
+
nE2zgUh1QQ59ZP3I5pZ2w7hJaLsVvzrOizlExZ+8VrY=
|
|
171
|
+
</data>
|
|
172
|
+
</dict>
|
|
173
|
+
<key>Montserrat-Thin.ttf</key>
|
|
174
|
+
<dict>
|
|
175
|
+
<key>hash2</key>
|
|
176
|
+
<data>
|
|
177
|
+
qMAnFkOz0iN+EeE+5ZACTUmzW3dgFJWOYP5hV8P1I/o=
|
|
178
|
+
</data>
|
|
179
|
+
</dict>
|
|
103
180
|
<key>bm.json</key>
|
|
104
181
|
<dict>
|
|
105
182
|
<key>hash2</key>
|
|
@@ -118,7 +195,7 @@
|
|
|
118
195
|
<dict>
|
|
119
196
|
<key>hash2</key>
|
|
120
197
|
<data>
|
|
121
|
-
|
|
198
|
+
1loRLBPvXhMxef8cbl/CEpfB0j0axeW+shU+jSRHK8w=
|
|
122
199
|
</data>
|
|
123
200
|
</dict>
|
|
124
201
|
</dict>
|
|
@@ -524,11 +524,11 @@
|
|
|
524
524
|
"SIGN_UP_SUBTITLE": "Please enter required details to continue.",
|
|
525
525
|
"APPOINTMENT_FOR_UNIT": "Appointment for unit",
|
|
526
526
|
"STEP_1": "Step 1/3",
|
|
527
|
-
"STEP_1_TITLE": "Select your preferred date",
|
|
527
|
+
"STEP_1_TITLE": "Select your preferred date.",
|
|
528
528
|
"STEP_2": " Step 2/3",
|
|
529
|
-
"STEP_2_TITLE": "Select your preferred time",
|
|
529
|
+
"STEP_2_TITLE": "Select your preferred time.",
|
|
530
530
|
"STEP_3": "Step 3/3",
|
|
531
|
-
"STEP_3_TITLE": "Confirm your appointment",
|
|
531
|
+
"STEP_3_TITLE": "Confirm your appointment.",
|
|
532
532
|
"OWNER_SIGN_UP": "Owner Sign Up",
|
|
533
533
|
"NO_RECORD_FOUND": "No Record Found",
|
|
534
534
|
"ASK_CS": "Would you like our Customer Support Team to contact you",
|
|
@@ -721,12 +721,12 @@
|
|
|
721
721
|
"WITHDRAW_ISSUE_SUMMARY": "Withdraw Issue Summary",
|
|
722
722
|
"WITHDRAW_ISSUE_MESSAGE": "Are you sure you want to withdraw this issue?",
|
|
723
723
|
"WITHDRAW_ISSUE_SUCCESS_LABEL": "Issue withdrawn successfully.",
|
|
724
|
-
"ISSUES_SELECTED": "Issue(s) selected
|
|
724
|
+
"ISSUES_SELECTED": "Issue(s) selected",
|
|
725
725
|
"ENTER_REMARKS_HERE": "Enter remarks here...",
|
|
726
726
|
"WITHDRAWING": "Withdrawing",
|
|
727
|
-
"WITHDRAW_ALERT_MESSAGE": "Confirm to withdraw issue?",
|
|
727
|
+
"WITHDRAW_ALERT_MESSAGE": "Confirm to withdraw this issue?",
|
|
728
728
|
"WITHDRAW_ISSUES_SUCCESS_LABEL": "You have succesfully withdrawn",
|
|
729
|
-
"FILTER_ISSUE_LIST": "Filter Issue
|
|
729
|
+
"FILTER_ISSUE_LIST": "Filter Issue",
|
|
730
730
|
"APPLY": "Apply",
|
|
731
731
|
"RESET_ALL": "Reset All",
|
|
732
732
|
"DATE_RANGE": "Date Range",
|
|
Binary file
|
|
@@ -8,6 +8,36 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
8
8
|
|
|
9
9
|
+ (UIViewController *)makeViewController;
|
|
10
10
|
|
|
11
|
+
/// Fetches project list data and presents DashboardViewController fully configured
|
|
12
|
+
/// for the given FCM deep-link payload. The payload must contain at minimum
|
|
13
|
+
/// `project_id` and `plan_id`. Auth/base-URL must already be configured in APIConfig
|
|
14
|
+
/// (i.e. the SDK has already been initialised by the user opening the app).
|
|
15
|
+
///
|
|
16
|
+
/// @param payload The FCM notification data dictionary.
|
|
17
|
+
/// @param presenter The view controller from which the dashboard will be presented modally.
|
|
18
|
+
+ (void)presentDashboardFromPayload:(NSDictionary *)payload
|
|
19
|
+
fromViewController:(UIViewController *)presenter;
|
|
20
|
+
|
|
21
|
+
/// Configures APIConfig with the project/plan context from the payload, then
|
|
22
|
+
/// presents AppointmentDetailsViewController modally. The payload must contain
|
|
23
|
+
/// `project_id`, `plan_id`, and `appointment_id` (or `id` as a fallback).
|
|
24
|
+
/// Auth/base-URL must already be configured in APIConfig.
|
|
25
|
+
///
|
|
26
|
+
/// @param payload The FCM notification data dictionary.
|
|
27
|
+
/// @param presenter The view controller from which the appointment screen will be presented.
|
|
28
|
+
+ (void)presentAppointmentFromPayload:(NSDictionary *)payload
|
|
29
|
+
fromViewController:(UIViewController *)presenter;
|
|
30
|
+
|
|
31
|
+
/// Fetches the issue list, finds the matching issue by `issue_id` from the payload,
|
|
32
|
+
/// and presents IssueDetailViewController fully configured. The payload must contain
|
|
33
|
+
/// at minimum `project_id`, `plan_id`, and `issue_id`. Auth/base-URL must already
|
|
34
|
+
/// be configured in APIConfig.
|
|
35
|
+
///
|
|
36
|
+
/// @param payload The FCM notification data dictionary.
|
|
37
|
+
/// @param presenter The view controller from which the issue screen will be presented.
|
|
38
|
+
+ (void)presentIssueFromPayload:(NSDictionary *)payload
|
|
39
|
+
fromViewController:(UIViewController *)presenter;
|
|
40
|
+
|
|
11
41
|
@end
|
|
12
42
|
|
|
13
43
|
NS_ASSUME_NONNULL_END
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
<dict>
|
|
7
7
|
<key>Assets.car</key>
|
|
8
8
|
<data>
|
|
9
|
-
|
|
9
|
+
TWfalcvk3qO6mG21qB5bdrcMBjM=
|
|
10
10
|
</data>
|
|
11
11
|
<key>Headers/QmsPlugin.h</key>
|
|
12
12
|
<data>
|
|
13
|
-
|
|
13
|
+
/jmzwY1kiBwDfgZJ8i6EPSgavTU=
|
|
14
14
|
</data>
|
|
15
15
|
<key>Headers/QmsPluginFramework.h</key>
|
|
16
16
|
<data>
|
|
@@ -28,6 +28,26 @@
|
|
|
28
28
|
<data>
|
|
29
29
|
vnwUOAcKtjfhFxaRXk5QkDcm3Mg=
|
|
30
30
|
</data>
|
|
31
|
+
<key>Montserrat-BoldItalic.ttf</key>
|
|
32
|
+
<data>
|
|
33
|
+
zTeJrlXMcCd2r90v0aga4Wxp+/Q=
|
|
34
|
+
</data>
|
|
35
|
+
<key>Montserrat-ExtraBold.ttf</key>
|
|
36
|
+
<data>
|
|
37
|
+
hPFnduIJnTtX2O0jm3bm+jKEsuc=
|
|
38
|
+
</data>
|
|
39
|
+
<key>Montserrat-ExtraLight.ttf</key>
|
|
40
|
+
<data>
|
|
41
|
+
zHokqGLxd5vbv3immEu5rpMkoSg=
|
|
42
|
+
</data>
|
|
43
|
+
<key>Montserrat-Italic.ttf</key>
|
|
44
|
+
<data>
|
|
45
|
+
rvTmoa8YSWRM4ek0tKuQWekW2Ic=
|
|
46
|
+
</data>
|
|
47
|
+
<key>Montserrat-Light.ttf</key>
|
|
48
|
+
<data>
|
|
49
|
+
M5fNmOUTZcielc0RMOAUG9pQUd4=
|
|
50
|
+
</data>
|
|
31
51
|
<key>Montserrat-Medium.ttf</key>
|
|
32
52
|
<data>
|
|
33
53
|
d/NVNBXYWMZTuupFqsqyAZZ3YzQ=
|
|
@@ -36,6 +56,14 @@
|
|
|
36
56
|
<data>
|
|
37
57
|
7BPvHyyZ+HgNby6z+fJ++J8wFhs=
|
|
38
58
|
</data>
|
|
59
|
+
<key>Montserrat-SemiBold.ttf</key>
|
|
60
|
+
<data>
|
|
61
|
+
efdGFtaLh9bPiXmP5yJZA2MmVno=
|
|
62
|
+
</data>
|
|
63
|
+
<key>Montserrat-Thin.ttf</key>
|
|
64
|
+
<data>
|
|
65
|
+
VQ5uHZkjael+nwCqca5IKmpjJtc=
|
|
66
|
+
</data>
|
|
39
67
|
<key>bm.json</key>
|
|
40
68
|
<data>
|
|
41
69
|
J8m1xUyQbIm7FjEl6dgNTLhSBVU=
|
|
@@ -46,7 +74,7 @@
|
|
|
46
74
|
</data>
|
|
47
75
|
<key>en.json</key>
|
|
48
76
|
<data>
|
|
49
|
-
|
|
77
|
+
VeWo6AyHrREEY0vQ5PaYJwdMY1g=
|
|
50
78
|
</data>
|
|
51
79
|
</dict>
|
|
52
80
|
<key>files2</key>
|
|
@@ -55,14 +83,14 @@
|
|
|
55
83
|
<dict>
|
|
56
84
|
<key>hash2</key>
|
|
57
85
|
<data>
|
|
58
|
-
|
|
86
|
+
6l4RTp5ZrLIp0kzkUpLOxcL0TNvCePYwUcTD/aPlyG4=
|
|
59
87
|
</data>
|
|
60
88
|
</dict>
|
|
61
89
|
<key>Headers/QmsPlugin.h</key>
|
|
62
90
|
<dict>
|
|
63
91
|
<key>hash2</key>
|
|
64
92
|
<data>
|
|
65
|
-
|
|
93
|
+
5YE/tWhfpg+TSsnziCLpEp2m4bzkKkH4oKHM990abTc=
|
|
66
94
|
</data>
|
|
67
95
|
</dict>
|
|
68
96
|
<key>Headers/QmsPluginFramework.h</key>
|
|
@@ -86,6 +114,41 @@
|
|
|
86
114
|
f6k9fapcL4gaZycinCEXgt5rdgCPvWNGs9dmTo/IP0M=
|
|
87
115
|
</data>
|
|
88
116
|
</dict>
|
|
117
|
+
<key>Montserrat-BoldItalic.ttf</key>
|
|
118
|
+
<dict>
|
|
119
|
+
<key>hash2</key>
|
|
120
|
+
<data>
|
|
121
|
+
ABpZsPLFQQgAM7g8pt+szgMJXZnKo1lINfUbfG2c51g=
|
|
122
|
+
</data>
|
|
123
|
+
</dict>
|
|
124
|
+
<key>Montserrat-ExtraBold.ttf</key>
|
|
125
|
+
<dict>
|
|
126
|
+
<key>hash2</key>
|
|
127
|
+
<data>
|
|
128
|
+
XPCiMTPMzjX54RW427+QQ0IBgnvCRl0S+dkbvwLPlGY=
|
|
129
|
+
</data>
|
|
130
|
+
</dict>
|
|
131
|
+
<key>Montserrat-ExtraLight.ttf</key>
|
|
132
|
+
<dict>
|
|
133
|
+
<key>hash2</key>
|
|
134
|
+
<data>
|
|
135
|
+
GsDgBpJUjjFCENEGGd5lYiVFf9RcebVtJCzfc5z3J48=
|
|
136
|
+
</data>
|
|
137
|
+
</dict>
|
|
138
|
+
<key>Montserrat-Italic.ttf</key>
|
|
139
|
+
<dict>
|
|
140
|
+
<key>hash2</key>
|
|
141
|
+
<data>
|
|
142
|
+
fofA+Ws5+7kZswrviZEyPQsldknzkeZFa88DwjFEj0k=
|
|
143
|
+
</data>
|
|
144
|
+
</dict>
|
|
145
|
+
<key>Montserrat-Light.ttf</key>
|
|
146
|
+
<dict>
|
|
147
|
+
<key>hash2</key>
|
|
148
|
+
<data>
|
|
149
|
+
lj13LJxEs8QBslfWk60mAG/HvVQhWVfVE1a0DjY1P4Q=
|
|
150
|
+
</data>
|
|
151
|
+
</dict>
|
|
89
152
|
<key>Montserrat-Medium.ttf</key>
|
|
90
153
|
<dict>
|
|
91
154
|
<key>hash2</key>
|
|
@@ -100,6 +163,20 @@
|
|
|
100
163
|
75z5nwF1vvUwuIk0vZBPz1b3c87G/U37jMr3ziu9OV4=
|
|
101
164
|
</data>
|
|
102
165
|
</dict>
|
|
166
|
+
<key>Montserrat-SemiBold.ttf</key>
|
|
167
|
+
<dict>
|
|
168
|
+
<key>hash2</key>
|
|
169
|
+
<data>
|
|
170
|
+
nE2zgUh1QQ59ZP3I5pZ2w7hJaLsVvzrOizlExZ+8VrY=
|
|
171
|
+
</data>
|
|
172
|
+
</dict>
|
|
173
|
+
<key>Montserrat-Thin.ttf</key>
|
|
174
|
+
<dict>
|
|
175
|
+
<key>hash2</key>
|
|
176
|
+
<data>
|
|
177
|
+
qMAnFkOz0iN+EeE+5ZACTUmzW3dgFJWOYP5hV8P1I/o=
|
|
178
|
+
</data>
|
|
179
|
+
</dict>
|
|
103
180
|
<key>bm.json</key>
|
|
104
181
|
<dict>
|
|
105
182
|
<key>hash2</key>
|
|
@@ -118,7 +195,7 @@
|
|
|
118
195
|
<dict>
|
|
119
196
|
<key>hash2</key>
|
|
120
197
|
<data>
|
|
121
|
-
|
|
198
|
+
1loRLBPvXhMxef8cbl/CEpfB0j0axeW+shU+jSRHK8w=
|
|
122
199
|
</data>
|
|
123
200
|
</dict>
|
|
124
201
|
</dict>
|
|
@@ -524,11 +524,11 @@
|
|
|
524
524
|
"SIGN_UP_SUBTITLE": "Please enter required details to continue.",
|
|
525
525
|
"APPOINTMENT_FOR_UNIT": "Appointment for unit",
|
|
526
526
|
"STEP_1": "Step 1/3",
|
|
527
|
-
"STEP_1_TITLE": "Select your preferred date",
|
|
527
|
+
"STEP_1_TITLE": "Select your preferred date.",
|
|
528
528
|
"STEP_2": " Step 2/3",
|
|
529
|
-
"STEP_2_TITLE": "Select your preferred time",
|
|
529
|
+
"STEP_2_TITLE": "Select your preferred time.",
|
|
530
530
|
"STEP_3": "Step 3/3",
|
|
531
|
-
"STEP_3_TITLE": "Confirm your appointment",
|
|
531
|
+
"STEP_3_TITLE": "Confirm your appointment.",
|
|
532
532
|
"OWNER_SIGN_UP": "Owner Sign Up",
|
|
533
533
|
"NO_RECORD_FOUND": "No Record Found",
|
|
534
534
|
"ASK_CS": "Would you like our Customer Support Team to contact you",
|
|
@@ -721,12 +721,12 @@
|
|
|
721
721
|
"WITHDRAW_ISSUE_SUMMARY": "Withdraw Issue Summary",
|
|
722
722
|
"WITHDRAW_ISSUE_MESSAGE": "Are you sure you want to withdraw this issue?",
|
|
723
723
|
"WITHDRAW_ISSUE_SUCCESS_LABEL": "Issue withdrawn successfully.",
|
|
724
|
-
"ISSUES_SELECTED": "Issue(s) selected
|
|
724
|
+
"ISSUES_SELECTED": "Issue(s) selected",
|
|
725
725
|
"ENTER_REMARKS_HERE": "Enter remarks here...",
|
|
726
726
|
"WITHDRAWING": "Withdrawing",
|
|
727
|
-
"WITHDRAW_ALERT_MESSAGE": "Confirm to withdraw issue?",
|
|
727
|
+
"WITHDRAW_ALERT_MESSAGE": "Confirm to withdraw this issue?",
|
|
728
728
|
"WITHDRAW_ISSUES_SUCCESS_LABEL": "You have succesfully withdrawn",
|
|
729
|
-
"FILTER_ISSUE_LIST": "Filter Issue
|
|
729
|
+
"FILTER_ISSUE_LIST": "Filter Issue",
|
|
730
730
|
"APPLY": "Apply",
|
|
731
731
|
"RESET_ALL": "Reset All",
|
|
732
732
|
"DATE_RANGE": "Date Range",
|
|
@@ -30,14 +30,20 @@ export const QmsDashboardView = ({
|
|
|
30
30
|
accentColor,
|
|
31
31
|
fontFamily,
|
|
32
32
|
isOrigin = false,
|
|
33
|
+
ownerVersion,
|
|
34
|
+
owner_version,
|
|
33
35
|
payload
|
|
34
36
|
}) => {
|
|
35
37
|
useEffect(() => {
|
|
36
38
|
const resolvedClientID = clientID ?? ClientID ?? '';
|
|
37
39
|
const resolvedClientCode = clientCode ?? ClientCode ?? '';
|
|
38
40
|
const resolvedToken = user_token ?? token ?? userToken ?? '';
|
|
41
|
+
const resolvedOwnerVersion = ownerVersion ?? owner_version ?? '';
|
|
39
42
|
const hasPayload = payload != null && Object.keys(payload).length > 0;
|
|
40
43
|
if (autoShow && QmsModule?.showQms) {
|
|
44
|
+
if (QmsModule?.setOwnerVersion) {
|
|
45
|
+
QmsModule.setOwnerVersion(resolvedOwnerVersion);
|
|
46
|
+
}
|
|
41
47
|
if (QmsModule?.setPrimaryColor) {
|
|
42
48
|
QmsModule.setPrimaryColor(themeColor ?? '');
|
|
43
49
|
}
|
|
@@ -62,7 +68,7 @@ export const QmsDashboardView = ({
|
|
|
62
68
|
QmsModule.showQms(resolvedToken, resolvedClientID, resolvedClientCode, isOrigin);
|
|
63
69
|
}
|
|
64
70
|
}
|
|
65
|
-
}, [clientID, clientCode, ClientID, ClientCode, user_token, token, userToken, autoShow, themeColor, headerThemeColor, headerTextColor, headerIconColor, accentColor, fontFamily, isOrigin, payload]);
|
|
71
|
+
}, [clientID, clientCode, ClientID, ClientCode, user_token, token, userToken, autoShow, themeColor, headerThemeColor, headerTextColor, headerIconColor, accentColor, fontFamily, isOrigin, ownerVersion, owner_version, payload]);
|
|
66
72
|
useEffect(() => {
|
|
67
73
|
if (QmsModule?.setPrimaryColor) {
|
|
68
74
|
QmsModule.setPrimaryColor(themeColor ?? '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","DeviceEventEmitter","NativeModules","View","jsx","_jsx","QmsModule","QmsDashboardView","style","onClose","onLogout","onActiveAccountChange","onAnalyticsScreen","onAnalyticsEvent","onLocate","clientID","clientCode","ClientID","ClientCode","user_token","token","userToken","pushToken","autoShow","themeColor","headerThemeColor","headerTextColor","headerIconColor","accentColor","fontFamily","isOrigin","payload","resolvedClientID","resolvedClientCode","resolvedToken","hasPayload","Object","keys","length","showQms","setPrimaryColor","resolvedHeaderColor","setHeaderTextColor","resolvedHeaderIconColor","setHeaderIconColor","setAccentColor","setFontFamily","showQmsWithPayload","setPushToken","console","log","subscription","addListener","remove","event","screenName","screenClass","eventName","params","lat","lng"],"sourceRoot":"../../src","sources":["QmsDashboardView.android.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,kBAAkB,EAAEC,aAAa,EAAEC,IAAI,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMvE,MAAM;EAAEC;AAAU,CAAC,GAAGJ,
|
|
1
|
+
{"version":3,"names":["React","useEffect","DeviceEventEmitter","NativeModules","View","jsx","_jsx","QmsModule","QmsDashboardView","style","onClose","onLogout","onActiveAccountChange","onAnalyticsScreen","onAnalyticsEvent","onLocate","clientID","clientCode","ClientID","ClientCode","user_token","token","userToken","pushToken","autoShow","themeColor","headerThemeColor","headerTextColor","headerIconColor","accentColor","fontFamily","isOrigin","ownerVersion","owner_version","payload","resolvedClientID","resolvedClientCode","resolvedToken","resolvedOwnerVersion","hasPayload","Object","keys","length","showQms","setOwnerVersion","setPrimaryColor","resolvedHeaderColor","setHeaderTextColor","resolvedHeaderIconColor","setHeaderIconColor","setAccentColor","setFontFamily","showQmsWithPayload","setPushToken","console","log","subscription","addListener","remove","event","screenName","screenClass","eventName","params","lat","lng"],"sourceRoot":"../../src","sources":["QmsDashboardView.android.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,6 +31,7 @@ export const QmsDashboardView = props => {
|
|
|
31
31
|
accentColor,
|
|
32
32
|
fontFamily = '',
|
|
33
33
|
payload,
|
|
34
|
+
versionNumber,
|
|
34
35
|
...rest
|
|
35
36
|
} = props;
|
|
36
37
|
const resolvedClientID = clientID ?? ClientID ?? '';
|
|
@@ -86,7 +87,8 @@ export const QmsDashboardView = props => {
|
|
|
86
87
|
headerIconColor: resolvedHeaderIconColor,
|
|
87
88
|
accentColor: accentColor,
|
|
88
89
|
fontFamily: fontFamily,
|
|
89
|
-
payload: payload ?? null
|
|
90
|
+
payload: payload ?? null,
|
|
91
|
+
versionNumber: versionNumber
|
|
90
92
|
});
|
|
91
93
|
};
|
|
92
94
|
//# sourceMappingURL=QmsDashboardView.ios.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","DeviceEventEmitter","NativeEventEmitter","NativeModules","requireNativeComponent","jsx","_jsx","NativeQmsDashboardView","QmsDashboardView","props","onClose","onLogout","onActiveAccountChange","onAnalyticsScreen","onAnalyticsEvent","clientID","clientCode","ClientID","ClientCode","user_token","userToken","token","pushToken","isOrigin","themeColor","headerThemeColor","headerTextColor","headerIconColor","accentColor","fontFamily","payload","rest","resolvedClientID","resolvedClientCode","resolvedToken","resolvedPushToken","resolvedHeaderColor","resolvedHeaderIconColor","module","QmsModule","setPrimaryColor","setHeaderTextColor","setHeaderIconColor","setAccentColor","setFontFamily","nativeEmitterModule","QmsDashboardEmitter","emitter","subscriptions","push","addListener","raw","forEach","sub","remove","subscription","screenName","screenClass","eventName","params"],"sourceRoot":"../../src","sources":["QmsDashboardView.ios.tsx"],"mappings":";;AAAA;;AAEA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SACEC,kBAAkB,EAClBC,kBAAkB,EAClBC,aAAa,EACbC,sBAAsB,QACjB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMtB;AACA,MAAMC,sBAAsB,GAC1BH,sBAAsB,CAAwB,kBAAkB,CAAC;AAEnE,OAAO,MAAMI,gBAAiD,GAAIC,KAAK,IAAK;EAC1E,MAAM;IACJC,OAAO;IACPC,QAAQ;IACRC,qBAAqB;IACrBC,iBAAiB;IACjBC,gBAAgB;IAChBC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC,UAAU;IACVC,UAAU;IACVC,SAAS;IACTC,KAAK;IACLC,SAAS;IACTC,QAAQ,GAAG,KAAK;IAChB;IACAC,UAAU;IACVC,gBAAgB;IAChBC,eAAe;IACfC,eAAe;IACfC,WAAW;IACXC,UAAU,GAAG,EAAE;IACfC,OAAO;
|
|
1
|
+
{"version":3,"names":["React","useEffect","DeviceEventEmitter","NativeEventEmitter","NativeModules","requireNativeComponent","jsx","_jsx","NativeQmsDashboardView","QmsDashboardView","props","onClose","onLogout","onActiveAccountChange","onAnalyticsScreen","onAnalyticsEvent","clientID","clientCode","ClientID","ClientCode","user_token","userToken","token","pushToken","isOrigin","themeColor","headerThemeColor","headerTextColor","headerIconColor","accentColor","fontFamily","payload","versionNumber","rest","resolvedClientID","resolvedClientCode","resolvedToken","resolvedPushToken","resolvedHeaderColor","resolvedHeaderIconColor","module","QmsModule","setPrimaryColor","setHeaderTextColor","setHeaderIconColor","setAccentColor","setFontFamily","nativeEmitterModule","QmsDashboardEmitter","emitter","subscriptions","push","addListener","raw","forEach","sub","remove","subscription","screenName","screenClass","eventName","params"],"sourceRoot":"../../src","sources":["QmsDashboardView.ios.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QmsDashboardView.android.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.android.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"QmsDashboardView.android.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.android.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AA2BlC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAwL5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QmsDashboardView.ios.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.ios.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAOzC,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAMlC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"QmsDashboardView.ios.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.ios.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAOzC,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAMlC,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAuH5D,CAAC"}
|
|
@@ -39,6 +39,9 @@ export type QmsDashboardViewProps = {
|
|
|
39
39
|
accentColor?: string;
|
|
40
40
|
fontFamily?: string;
|
|
41
41
|
isOrigin?: boolean;
|
|
42
|
+
ownerVersion?: string;
|
|
43
|
+
owner_version?: string;
|
|
42
44
|
payload?: Record<string, unknown> | null;
|
|
45
|
+
versionNumber?: string;
|
|
43
46
|
};
|
|
44
47
|
//# sourceMappingURL=QmsDashboardView.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QmsDashboardView.types.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,6HAA6H;AAC7H,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,yHAAyH;IACzH,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACnE,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,gBAAgB,CAAC,EAAE,CACjB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACpC,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"QmsDashboardView.types.d.ts","sourceRoot":"","sources":["../../../src/QmsDashboardView.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,6HAA6H;AAC7H,MAAM,MAAM,uBAAuB,GAAG;IACpC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,yHAAyH;IACzH,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACnE,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,gBAAgB,CAAC,EAAE,CACjB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KACpC,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC"}
|
package/package.json
CHANGED
|
@@ -20,6 +20,7 @@ const { QmsModule } = NativeModules as {
|
|
|
20
20
|
isOrigin?: boolean,
|
|
21
21
|
payload?: Record<string, unknown> | null
|
|
22
22
|
) => void;
|
|
23
|
+
setOwnerVersion?: (ownerVersion?: string) => void;
|
|
23
24
|
setPrimaryColor?: (hexColor?: string) => void;
|
|
24
25
|
setHeaderTextColor?: (hexColor?: string) => void;
|
|
25
26
|
setHeaderIconColor?: (hexColor?: string) => void;
|
|
@@ -53,15 +54,21 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = ({
|
|
|
53
54
|
accentColor,
|
|
54
55
|
fontFamily,
|
|
55
56
|
isOrigin = false,
|
|
57
|
+
ownerVersion,
|
|
58
|
+
owner_version,
|
|
56
59
|
payload,
|
|
57
60
|
}) => {
|
|
58
61
|
useEffect(() => {
|
|
59
62
|
const resolvedClientID = clientID ?? ClientID ?? '';
|
|
60
63
|
const resolvedClientCode = clientCode ?? ClientCode ?? '';
|
|
61
64
|
const resolvedToken = user_token ?? token ?? userToken ?? '';
|
|
65
|
+
const resolvedOwnerVersion = ownerVersion ?? owner_version ?? '';
|
|
62
66
|
const hasPayload = payload != null && Object.keys(payload).length > 0;
|
|
63
67
|
|
|
64
68
|
if (autoShow && QmsModule?.showQms) {
|
|
69
|
+
if (QmsModule?.setOwnerVersion) {
|
|
70
|
+
QmsModule.setOwnerVersion(resolvedOwnerVersion);
|
|
71
|
+
}
|
|
65
72
|
if (QmsModule?.setPrimaryColor) {
|
|
66
73
|
QmsModule.setPrimaryColor(themeColor ?? '');
|
|
67
74
|
}
|
|
@@ -113,6 +120,8 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = ({
|
|
|
113
120
|
accentColor,
|
|
114
121
|
fontFamily,
|
|
115
122
|
isOrigin,
|
|
123
|
+
ownerVersion,
|
|
124
|
+
owner_version,
|
|
116
125
|
payload,
|
|
117
126
|
]);
|
|
118
127
|
|
|
@@ -40,6 +40,7 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = (props) => {
|
|
|
40
40
|
accentColor,
|
|
41
41
|
fontFamily = '',
|
|
42
42
|
payload,
|
|
43
|
+
versionNumber,
|
|
43
44
|
...rest
|
|
44
45
|
} = props;
|
|
45
46
|
|
|
@@ -131,6 +132,7 @@ export const QmsDashboardView: React.FC<QmsDashboardViewProps> = (props) => {
|
|
|
131
132
|
accentColor={accentColor}
|
|
132
133
|
fontFamily={fontFamily}
|
|
133
134
|
payload={payload ?? null}
|
|
135
|
+
versionNumber={versionNumber}
|
|
134
136
|
/>
|
|
135
137
|
);
|
|
136
138
|
};
|