@sency/react-native-smkit-ui 0.1.4 → 0.1.6

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.
@@ -93,7 +93,7 @@ dependencies {
93
93
  implementation "com.facebook.react:react-native:+"
94
94
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
95
95
 
96
- compileOnly("com.sency.smkitui:smkitui:0.1.4") {
96
+ compileOnly("com.sency.smkitui:smkitui:0.1.6") {
97
97
  exclude group: 'com.facebook.fbjni', module: 'fbjni-java-only'
98
98
  }
99
99
 
@@ -10,6 +10,7 @@ import com.sency.smkitui.SMKitUI
10
10
  import com.sency.smkitui.listener.SMKitUIWorkoutListener
11
11
  import com.sency.smkitui.model.ExerciseData
12
12
  import com.sency.smkitui.model.WorkoutSummaryData
13
+ import com.sency.smkitui.model.smkitui.Custom
13
14
  import com.smkituilibrary.mapper.toSMWorkout
14
15
  import com.smkituilibrary.mapper.toWorkoutConfig
15
16
  import com.smkituilibrary.model.SMKitWorkout
@@ -60,10 +61,10 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
60
61
  }
61
62
 
62
63
  @ReactMethod
63
- fun startAssessment(type: String, showSummary: Boolean, promise: Promise) {
64
+ fun startAssessment(type: String, showSummary: Boolean, customAssessmentId: String, promise: Promise) {
64
65
  this.resultPromise = promise
65
66
  try {
66
- smKitUI?.startAssessment(listener = this)
67
+ smKitUI?.startAssessment(listener = this, assessmentType = Custom(customAssessmentId))
67
68
  } catch (e: Exception) {
68
69
  promise.reject("Configure Failed", e)
69
70
  }
@@ -2,12 +2,14 @@ package com.smkituilibrary.mapper
2
2
 
3
3
  import com.sency.smkitui.model.SMExercise
4
4
  import com.sency.smkitui.model.SMWorkout
5
+ import com.sency.smkitui.model.ScoringParams
5
6
  import com.sency.smkitui.model.workoutConfig.BodyZone
6
7
  import com.sency.smkitui.model.workoutConfig.DifficultyLevel
7
8
  import com.sency.smkitui.model.workoutConfig.SMLanguage
8
9
  import com.sency.smkitui.model.workoutConfig.WorkoutConfig
9
10
  import com.sency.smkitui.model.workoutConfig.WorkoutDuration
10
11
  import com.smkituilibrary.model.SMKitExercise
12
+ import com.smkituilibrary.model.SMKitScoringParams
11
13
  import com.smkituilibrary.model.SMKitWorkout
12
14
  import com.smkituilibrary.model.SMKitWorkoutConfig
13
15
 
@@ -32,7 +34,7 @@ internal fun SMKitWorkout.toSMWorkout(): SMWorkout = SMWorkout(
32
34
  )
33
35
 
34
36
  private fun SMKitExercise.toSMExercise(): SMExercise = SMExercise(
35
- prettyName = name ?: "",
37
+ prettyName = prettyName ?: "",
36
38
  exerciseIntro = exerciseIntro ?: "",
37
39
  totalSeconds = totalSeconds ?: 0,
38
40
  introSeconds = introSeconds ?: 0,
@@ -41,8 +43,23 @@ private fun SMKitExercise.toSMExercise(): SMExercise = SMExercise(
41
43
  detector = detector ?: "",
42
44
  repBased = repBased ?: false,
43
45
  exerciseClosure = exerciseClosure ?: "",
44
- targetReps = 0,
45
- targetTime = 0,
46
- scoreFactor = 0.0,
47
- passCriteria = null
46
+ scoringParams = scoringParams?.toParams() ?: ScoringParams(
47
+ type = "",
48
+ scoreFactor = 0f,
49
+ targetTime = 0,
50
+ targetReps = 0,
51
+ targetRom = "",
52
+ passCriteria = null
53
+ )
48
54
  )
55
+
56
+ private fun SMKitScoringParams.toParams(): ScoringParams {
57
+ return ScoringParams(
58
+ type = type ?: "",
59
+ scoreFactor = scoreFactor,
60
+ targetTime = targetTime,
61
+ targetReps = targetReps,
62
+ targetRom = targetRom,
63
+ passCriteria = passCriteria
64
+ )
65
+ }
@@ -1,17 +1,29 @@
1
1
  package com.smkituilibrary.model
2
2
 
3
3
  import androidx.annotation.Keep
4
+ import com.sency.smkitui.model.ScoringParams
4
5
  import com.sency.smkitui.model.UiElement
5
6
 
6
7
  @Keep
7
8
  internal data class SMKitExercise(
8
- val name: String? = null,
9
- val exerciseIntro: String? = null,
10
- val totalSeconds: Int? = null,
11
- val introSeconds: Int? = null,
12
- val videoInstruction: String? = null,
13
- val uiElements: Set<UiElement>? = null,
14
- val detector: String? = null,
15
- val repBased: Boolean? = null,
16
- val exerciseClosure: String? = null,
9
+ val detector: String? = null,
10
+ val uiElements: Set<UiElement>? = null,
11
+ val repBased: Boolean? = null,
12
+ val videoInstruction: String? = null,
13
+ val introSeconds: Int? = null,
14
+ val totalSeconds: Int? = null,
15
+ val scoringParams: SMKitScoringParams? = null,
16
+ val prettyName: String? = null,
17
+ val exerciseIntro: String? = null,
18
+ val exerciseClosure: String? = null,
19
+ )
20
+
21
+ @Keep
22
+ internal data class SMKitScoringParams(
23
+ val type: String? = null,
24
+ val scoreFactor: Float? = null,
25
+ val targetTime: Int? = null,
26
+ val targetReps: Int? = null,
27
+ val targetRom: String? = null,
28
+ val passCriteria: List<String>? = null,
17
29
  )
@@ -3,7 +3,7 @@
3
3
 
4
4
  @interface RCT_EXTERN_MODULE(SMKitUIManager, RCTViewManager)
5
5
  RCT_EXTERN_METHOD(configure:(NSString*)key onSuccess:(RCTPromiseResolveBlock)onSuccess onFailure:(RCTPromiseRejectBlock)onFailure)
6
- RCT_EXTERN_METHOD(startAssessment:(NSString*)type showSummary:(BOOL)showSummary onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
6
+ RCT_EXTERN_METHOD(startAssessment:(NSString*)type showSummary:(BOOL)showSummary customAssessmentID:(NSString*)customAssessmentID onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
7
7
  RCT_EXTERN_METHOD(startCustomWorkout:(NSDictionary*)dic onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
8
8
  RCT_EXTERN_METHOD(startWorkoutProgram:(NSDictionary*)dic onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
9
9
  @end
@@ -21,15 +21,23 @@ class SMKitUIManager: RCTViewManager {
21
21
 
22
22
  @objc(configure:onSuccess:onFailure:)
23
23
  func configure(key:NSString, onSuccess: @escaping RCTPromiseResolveBlock,onFailure:@escaping RCTPromiseRejectBlock) -> Void {
24
+ var isConfigDone = false
25
+ var didFail = false
24
26
  SMKitUIModel.configure(authKey: "\(key)") {
25
- onSuccess("")
27
+ if !isConfigDone{
28
+ isConfigDone = true
29
+ onSuccess("")
30
+ }
26
31
  } onFailure: { err in
27
- onFailure("Configure Failed", err?.localizedDescription ?? "", err)
32
+ if !didFail{
33
+ didFail = true
34
+ onFailure("Configure Failed", err?.localizedDescription ?? "", err)
35
+ }
28
36
  }
29
37
  }
30
38
 
31
- @objc(startAssessment:showSummary:onWorkoutDidFinish:onWorkoutFailed:)
32
- func startAssessment(type:NSString, showSummary:Bool, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
39
+ @objc(startAssessment:showSummary:customAssessmentID:onWorkoutDidFinish:onWorkoutFailed:)
40
+ func startAssessment(type:NSString, showSummary:Bool, customAssessmentID:String?, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
33
41
  guard let smkitUIViewController = smkitUIViewController else {
34
42
  onWorkoutFailed("StartAssessment Failed", "Failed to present view", nil)
35
43
  return
@@ -40,7 +48,7 @@ class SMKitUIManager: RCTViewManager {
40
48
  DispatchQueue.main.async {
41
49
  do{
42
50
  if let type = AssessmentTypes(rawValue: "\(type)"){
43
- try SMKitUIModel.startAssessmet(viewController: smkitUIViewController, type: type, showSummary: showSummary, delegate: self){error in
51
+ try SMKitUIModel.startAssessmet(viewController: smkitUIViewController, type: type, customAssessmentID:customAssessmentID, showSummary: showSummary, delegate: self){error in
44
52
  onWorkoutFailed("StartAssessment Failed", error.localizedDescription, error)
45
53
  }
46
54
  }else{
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UIElement = exports.SMWorkout = exports.SMExercise = exports.BodyZone = exports.AssessmentTypes = void 0;
6
+ exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UIElement = exports.SMWorkout = exports.SMScoringParams = exports.SMExercise = exports.BodyZone = exports.AssessmentTypes = void 0;
7
7
  let AssessmentTypes = exports.AssessmentTypes = /*#__PURE__*/function (AssessmentTypes) {
8
8
  AssessmentTypes["Fitness"] = "fitness";
9
+ AssessmentTypes["Custom"] = "custom";
9
10
  return AssessmentTypes;
10
11
  }({});
11
12
  let UIElement = exports.UIElement = /*#__PURE__*/function (UIElement) {
@@ -42,11 +43,23 @@ class SMWorkout {
42
43
  this.bodycalFinished = bodycalFinished || null;
43
44
  this.workoutClosure = workoutClosure || null;
44
45
  }
46
+ toJson() {
47
+ return JSON.stringify({
48
+ id: this.id,
49
+ name: this.name,
50
+ workoutIntro: this.workoutIntro,
51
+ soundtrack: this.soundtrack,
52
+ exercises: this.exercises,
53
+ getInFrame: this.getInFrame,
54
+ bodycalFinished: this.bodycalFinished,
55
+ workoutClosure: this.workoutClosure
56
+ });
57
+ }
45
58
  }
46
59
  exports.SMWorkout = SMWorkout;
47
60
  class SMExercise {
48
- constructor(name, totalSeconds, introSeconds, videoInstruction, exerciseIntro, uiElements, detector, repBased, exerciseClosure, targetReps, targetTime, scoreFactor) {
49
- this.name = name || null;
61
+ constructor(prettyName, totalSeconds, introSeconds, videoInstruction, exerciseIntro, uiElements, detector, repBased, exerciseClosure, scoringParams) {
62
+ this.prettyName = prettyName || null;
50
63
  this.totalSeconds = totalSeconds || null;
51
64
  this.introSeconds = introSeconds || null;
52
65
  this.videoInstruction = videoInstruction || null;
@@ -54,13 +67,22 @@ class SMExercise {
54
67
  this.uiElements = uiElements || null;
55
68
  this.detector = detector;
56
69
  this.repBased = repBased || null;
57
- this.targetReps = targetReps || null;
58
- this.targetTime = targetTime || null;
59
- this.scoreFactor = scoreFactor || null;
60
70
  this.exerciseClosure = exerciseClosure || null;
71
+ this.scoringParams = scoringParams || null;
61
72
  }
62
73
  }
63
74
  exports.SMExercise = SMExercise;
75
+ class SMScoringParams {
76
+ constructor(type, scoreFactor, targetTime, targetReps, targetRom, passCriteria) {
77
+ this.type = type || null;
78
+ this.scoreFactor = scoreFactor || null;
79
+ this.targetTime = targetTime || null;
80
+ this.targetReps = targetReps || null;
81
+ this.targetRom = targetRom || null;
82
+ this.passCriteria = passCriteria || null;
83
+ }
84
+ }
85
+ exports.SMScoringParams = SMScoringParams;
64
86
  class WorkoutConfig {
65
87
  constructor(week, bodyZone, difficultyLevel, workoutDuration, programID) {
66
88
  this.week = week;
@@ -1 +1 @@
1
- {"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","SMExercise","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","exerciseClosure","targetReps","targetTime","scoreFactor","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","exerciseClosure","scoringParams","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
@@ -21,10 +21,13 @@ const SMKitUIManager = _reactNative.NativeModules.SMKitUIManager ? _reactNative.
21
21
  function configure(key) {
22
22
  return SMKitUIManager.configure(key);
23
23
  }
24
- function startAssessment(type, showSummary) {
25
- return SMKitUIManager.startAssessment(type, showSummary);
24
+ function startAssessment(type, showSummary, customAssessmentID) {
25
+ return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
26
26
  }
27
27
  function startCustomWorkout(workout) {
28
+ if (_reactNative.Platform.OS === 'android') {
29
+ return SMKitUIManager.startCustomWorkout(workout.toJson());
30
+ }
28
31
  return SMKitUIManager.startCustomWorkout(workout);
29
32
  }
30
33
  function startWorkoutProgram(workoutConfig) {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","SMKitUIManager","NativeModules","Proxy","get","Error","configure","key","startAssessment","type","showSummary","startCustomWorkout","workout","startWorkoutProgram","workoutConfig","AssessmentTypes","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,GAChB,gFAA+E,GAChFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGC,0BAAa,CAACD,cAAc,GAC/CC,0BAAa,CAACD,cAAc,GAC5B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,SAASU,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAON,cAAc,CAACK,SAAS,CAACC,GAAG,CAAC;AACtC;AAEO,SAASC,eAAeA,CAACC,IAAqC,EAAEC,WAAmB,EAAgD;EACxI,OAAOT,cAAc,CAACO,eAAe,CAACC,IAAI,EAAEC,WAAW,CAAC;AAC1D;AAEO,SAASC,kBAAkBA,CAACC,OAAkC,EAAgD;EACnH,OAAOX,cAAc,CAACU,kBAAkB,CAACC,OAAO,CAAC;AACnD;AAEO,SAASC,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOb,cAAc,CAACY,mBAAmB,CAACC,aAAa,CAAC;AAC1D;AAAC,IAEWC,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","SMKitUIManager","NativeModules","Proxy","get","Error","configure","key","startAssessment","type","showSummary","customAssessmentID","startCustomWorkout","workout","OS","toJson","startWorkoutProgram","workoutConfig","AssessmentTypes","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,aAAa,GACjB,gFAAgF,GAChFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGC,0BAAa,CAACD,cAAc,GAC/CC,0BAAa,CAACD,cAAc,GAC5B,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEE,SAASU,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAON,cAAc,CAACK,SAAS,CAACC,GAAG,CAAC;AACtC;AAEO,SAASC,eAAeA,CAC7BC,IAAsC,EACtCC,WAAoB,EACpBC,kBAA0B,EACwB;EAClD,OAAOV,cAAc,CAACO,eAAe,CAACC,IAAI,EAAEC,WAAW,EAAEC,kBAAkB,CAAC;AAC9E;AAEO,SAASC,kBAAkBA,CAACC,OAAkC,EAAgD;EACnH,IAAGhB,qBAAQ,CAACiB,EAAE,KAAK,SAAS,EAAE;IAC5B,OAAOb,cAAc,CAACW,kBAAkB,CAACC,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC;EAC5D;EACA,OAAOd,cAAc,CAACW,kBAAkB,CAACC,OAAO,CAAC;AACnD;AAEO,SAASG,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOhB,cAAc,CAACe,mBAAmB,CAACC,aAAa,CAAC;AAC1D;AAAC,IAEWC,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  export let AssessmentTypes = /*#__PURE__*/function (AssessmentTypes) {
2
2
  AssessmentTypes["Fitness"] = "fitness";
3
+ AssessmentTypes["Custom"] = "custom";
3
4
  return AssessmentTypes;
4
5
  }({});
5
6
  export let UIElement = /*#__PURE__*/function (UIElement) {
@@ -36,10 +37,22 @@ export class SMWorkout {
36
37
  this.bodycalFinished = bodycalFinished || null;
37
38
  this.workoutClosure = workoutClosure || null;
38
39
  }
40
+ toJson() {
41
+ return JSON.stringify({
42
+ id: this.id,
43
+ name: this.name,
44
+ workoutIntro: this.workoutIntro,
45
+ soundtrack: this.soundtrack,
46
+ exercises: this.exercises,
47
+ getInFrame: this.getInFrame,
48
+ bodycalFinished: this.bodycalFinished,
49
+ workoutClosure: this.workoutClosure
50
+ });
51
+ }
39
52
  }
40
53
  export class SMExercise {
41
- constructor(name, totalSeconds, introSeconds, videoInstruction, exerciseIntro, uiElements, detector, repBased, exerciseClosure, targetReps, targetTime, scoreFactor) {
42
- this.name = name || null;
54
+ constructor(prettyName, totalSeconds, introSeconds, videoInstruction, exerciseIntro, uiElements, detector, repBased, exerciseClosure, scoringParams) {
55
+ this.prettyName = prettyName || null;
43
56
  this.totalSeconds = totalSeconds || null;
44
57
  this.introSeconds = introSeconds || null;
45
58
  this.videoInstruction = videoInstruction || null;
@@ -47,10 +60,18 @@ export class SMExercise {
47
60
  this.uiElements = uiElements || null;
48
61
  this.detector = detector;
49
62
  this.repBased = repBased || null;
50
- this.targetReps = targetReps || null;
51
- this.targetTime = targetTime || null;
52
- this.scoreFactor = scoreFactor || null;
53
63
  this.exerciseClosure = exerciseClosure || null;
64
+ this.scoringParams = scoringParams || null;
65
+ }
66
+ }
67
+ export class SMScoringParams {
68
+ constructor(type, scoreFactor, targetTime, targetReps, targetRom, passCriteria) {
69
+ this.type = type || null;
70
+ this.scoreFactor = scoreFactor || null;
71
+ this.targetTime = targetTime || null;
72
+ this.targetReps = targetReps || null;
73
+ this.targetRom = targetRom || null;
74
+ this.passCriteria = passCriteria || null;
54
75
  }
55
76
  }
56
77
  export class WorkoutConfig {
@@ -1 +1 @@
1
- {"version":3,"names":["AssessmentTypes","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","SMExercise","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","exerciseClosure","targetReps","targetTime","scoreFactor","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"AAAA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAI3B,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAMrB,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAMpB,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAM7B,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAK3B,OAAO,MAAMC,SAAS;EAUrBC,WAAWA,CAACC,EAAiB,EAAEC,IAAmB,EAAEC,YAA2B,EAAEC,UAAyB,EAAEC,SAAuB,EAAEC,UAAyB,EAAEC,eAA8B,EAAEC,cAA6B,EAAE;IACxN,IAAI,CAACP,EAAE,GAAGA,EAAE,IAAI,IAAI;IACpB,IAAI,CAACC,IAAI,GAAGA,IAAI,IAAI,IAAI;IACxB,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,eAAe,GAAGA,eAAe,IAAI,IAAI;IAC9C,IAAI,CAACC,cAAc,GAAGA,cAAc,IAAI,IAAI;EAChD;AACJ;AAEA,OAAO,MAAMC,UAAU;EAcrBT,WAAWA,CAACE,IAAmB,EAAEQ,YAA2B,EAAEC,YAA2B,EAAEC,gBAA+B,EAAEC,aAA4B,EAAEC,UAA8B,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,eAA8B,EAAEC,UAAyB,EAAEC,UAAyB,EAAEC,WAA0B,EAAE;IACtV,IAAI,CAAClB,IAAI,GAAGA,IAAI,IAAI,IAAI;IACxB,IAAI,CAACQ,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACC,gBAAgB,GAAGA,gBAAgB,IAAI,IAAI;IAChD,IAAI,CAACC,aAAa,GAAGA,aAAa,IAAI,IAAI;IAC1C,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,QAAQ,GAAGA,QAAQ,IAAI,IAAI;IAChC,IAAI,CAACE,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,IAAI,CAACC,WAAW,GAAGA,WAAW,IAAI,IAAI;IACtC,IAAI,CAACH,eAAe,GAAGA,eAAe,IAAI,IAAI;EAChD;AACF;AAEA,OAAO,MAAMI,aAAa;EAOxBrB,WAAWA,CAACsB,IAAY,EAAEC,QAAkB,EAAEC,eAAkC,EAAEC,eAAgC,EAAEC,SAAiB,EAAC;IACpI,IAAI,CAACJ,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACC,SAAS,GAAGA,SAAS;EAC5B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AssessmentTypes","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","introSeconds","videoInstruction","exerciseIntro","uiElements","detector","repBased","exerciseClosure","scoringParams","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,10 +11,13 @@ const SMKitUIManager = NativeModules.SMKitUIManager ? NativeModules.SMKitUIManag
11
11
  export function configure(key) {
12
12
  return SMKitUIManager.configure(key);
13
13
  }
14
- export function startAssessment(type, showSummary) {
15
- return SMKitUIManager.startAssessment(type, showSummary);
14
+ export function startAssessment(type, showSummary, customAssessmentID) {
15
+ return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
16
16
  }
17
17
  export function startCustomWorkout(workout) {
18
+ if (Platform.OS === 'android') {
19
+ return SMKitUIManager.startCustomWorkout(workout.toJson());
20
+ }
18
21
  return SMKitUIManager.startCustomWorkout(workout);
19
22
  }
20
23
  export function startWorkoutProgram(workoutConfig) {
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","SMKitUIManager","Proxy","get","Error","configure","key","startAssessment","type","showSummary","startCustomWorkout","workout","startWorkoutProgram","workoutConfig","AssessmentTypes"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAGtD,MAAMC,aAAa,GAChB,gFAA+E,GAChFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGN,aAAa,CAACM,cAAc,GAC/CN,aAAa,CAACM,cAAc,GAC5B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASQ,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAOL,cAAc,CAACI,SAAS,CAACC,GAAG,CAAC;AACtC;AAEA,OAAO,SAASC,eAAeA,CAACC,IAAqC,EAAEC,WAAmB,EAAgD;EACxI,OAAOR,cAAc,CAACM,eAAe,CAACC,IAAI,EAAEC,WAAW,CAAC;AAC1D;AAEA,OAAO,SAASC,kBAAkBA,CAACC,OAAkC,EAAgD;EACnH,OAAOV,cAAc,CAACS,kBAAkB,CAACC,OAAO,CAAC;AACnD;AAEA,OAAO,SAASC,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOZ,cAAc,CAACW,mBAAmB,CAACC,aAAa,CAAC;AAC1D;AAEA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","SMKitUIManager","Proxy","get","Error","configure","key","startAssessment","type","showSummary","customAssessmentID","startCustomWorkout","workout","OS","toJson","startWorkoutProgram","workoutConfig","AssessmentTypes"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAGtD,MAAMC,aAAa,GACjB,gFAAgF,GAChFD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,cAAc,GAAGN,aAAa,CAACM,cAAc,GAC/CN,aAAa,CAACM,cAAc,GAC5B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEL,OAAO,SAASQ,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAOL,cAAc,CAACI,SAAS,CAACC,GAAG,CAAC;AACtC;AAEA,OAAO,SAASC,eAAeA,CAC7BC,IAAsC,EACtCC,WAAoB,EACpBC,kBAA0B,EACwB;EAClD,OAAOT,cAAc,CAACM,eAAe,CAACC,IAAI,EAAEC,WAAW,EAAEC,kBAAkB,CAAC;AAC9E;AAEA,OAAO,SAASC,kBAAkBA,CAACC,OAAkC,EAAgD;EACnH,IAAGhB,QAAQ,CAACiB,EAAE,KAAK,SAAS,EAAE;IAC5B,OAAOZ,cAAc,CAACU,kBAAkB,CAACC,OAAO,CAACE,MAAM,CAAC,CAAC,CAAC;EAC5D;EACA,OAAOb,cAAc,CAACU,kBAAkB,CAACC,OAAO,CAAC;AACnD;AAEA,OAAO,SAASG,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOf,cAAc,CAACc,mBAAmB,CAACC,aAAa,CAAC;AAC1D;AAEA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ declare const App: () => React.JSX.Element;
3
+ export default App;
4
+ //# sourceMappingURL=App.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../example/src/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAMxC,QAAA,MAAM,GAAG,yBAsJR,CAAA;AA4BD,eAAe,GAAG,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare enum AssessmentTypes {
2
- Fitness = "fitness"
2
+ Fitness = "fitness",
3
+ Custom = "custom"
3
4
  }
4
5
  export declare enum UIElement {
5
6
  RepsCounter = "repsCounter",
@@ -30,21 +31,29 @@ export declare class SMWorkout {
30
31
  bodycalFinished: string | null;
31
32
  workoutClosure: string | null;
32
33
  constructor(id: string | null, name: string | null, workoutIntro: string | null, soundtrack: string | null, exercises: SMExercise[], getInFrame: string | null, bodycalFinished: string | null, workoutClosure: string | null);
34
+ toJson(): string;
33
35
  }
34
36
  export declare class SMExercise {
35
- name: string | null;
36
- totalSeconds: number | null;
37
- introSeconds: number | null;
38
- videoInstruction: string | null;
39
- exerciseIntro: string | null;
40
- uiElements: UIElement[] | null;
41
37
  detector: string;
38
+ uiElements: UIElement[] | null;
42
39
  repBased: boolean | null;
40
+ videoInstruction: string | null;
41
+ introSeconds: number | null;
42
+ totalSeconds: number | null;
43
+ prettyName: string | null;
44
+ exerciseIntro: string | null;
43
45
  exerciseClosure: string | null;
44
- targetReps: number | null;
45
- targetTime: number | null;
46
+ scoringParams: SMScoringParams | null;
47
+ constructor(prettyName: string | null, totalSeconds: number | null, introSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, repBased: boolean | null, exerciseClosure: string | null, scoringParams: SMScoringParams | null);
48
+ }
49
+ export declare class SMScoringParams {
50
+ type: string | null;
46
51
  scoreFactor: number | null;
47
- constructor(name: string | null, totalSeconds: number | null, introSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, repBased: boolean | null, exerciseClosure: string | null, targetReps: number | null, targetTime: number | null, scoreFactor: number | null);
52
+ targetTime: number | null;
53
+ targetReps: number | null;
54
+ targetRom: string | null;
55
+ passCriteria: string[] | null;
56
+ constructor(type: string | null, scoreFactor: number | null, targetTime: number | null, targetReps: number | null, targetRom: string | null, passCriteria: string[] | null);
48
57
  }
49
58
  export declare class WorkoutConfig {
50
59
  week: number;
@@ -1 +1 @@
1
- {"version":3,"file":"SMWorkout.d.ts","sourceRoot":"","sources":["../../../src/SMWorkout.tsx"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,OAAO,YAAY;CACpB;AAED,oBAAY,SAAS;IACnB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,aAAa,kBAAkB;CAChC;AAED,oBAAY,QAAQ;IAClB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;CACtB;AAED,oBAAY,iBAAiB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;CAClC;AAED,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,qBAAa,SAAS;IACrB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;gBAElB,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;CAU7N;AAED,qBAAa,UAAU;IACrB,IAAI,EAAC,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEf,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAcvV;AAED,qBAAa,aAAa;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,eAAe,EAAE,iBAAiB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM;CAOtI"}
1
+ {"version":3,"file":"SMWorkout.d.ts","sourceRoot":"","sources":["../../../src/SMWorkout.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as SMWorkoutLibrary from '../src/SMWorkout';
2
2
  export declare function configure(key: string): Promise<string>;
3
- export declare function startAssessment(type: SMWorkoutLibrary.AssessmentTypes, showSummary: boolean): Promise<{
3
+ export declare function startAssessment(type: SMWorkoutLibrary.AssessmentTypes, showSummary: boolean, customAssessmentID: string): Promise<{
4
4
  summary: string;
5
5
  didFinish: boolean;
6
6
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,kBAAkB,CAAC;AAmBrD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAC,gBAAgB,CAAC,eAAe,EAAE,WAAW,EAAC,OAAO,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAC,OAAO,CAAA;CAAC,CAAC,CAEzI;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAC,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAC,OAAO,CAAA;CAAC,CAAC,CAEpH;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAC,gBAAgB,CAAC,aAAa,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAC,OAAO,CAAA;CAAC,CAAC,CAE/H;AAED,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,kBAAkB,CAAC;AAmBrD,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,CAAC,eAAe,EACtC,WAAW,EAAE,OAAO,EACpB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAElD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAC,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAC,OAAO,CAAA;CAAC,CAAC,CAKpH;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAC,gBAAgB,CAAC,aAAa,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAC,OAAO,CAAA;CAAC,CAAC,CAE/H;AAED,oBAAY,eAAe;IACzB,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sency/react-native-smkit-ui",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "react-native-smkit-ui",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -15,7 +15,7 @@ Pod::Spec.new do |s|
15
15
  s.source = { :git => "https://github.com/sency-ai/smkit-ui-react-native-demo.git", :tag => "#{s.version}" }
16
16
 
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
- s.dependency "SMKitUI" ,'0.1.9'
18
+ s.dependency "SMKitUI" ,'0.2.1'
19
19
 
20
20
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
21
21
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
package/src/SMWorkout.tsx CHANGED
@@ -1,5 +1,6 @@
1
1
  export enum AssessmentTypes{
2
- Fitness = "fitness"
2
+ Fitness = "fitness",
3
+ Custom = "custom"
3
4
  }
4
5
 
5
6
  export enum UIElement{
@@ -45,24 +46,36 @@ export class SMWorkout{
45
46
  this.bodycalFinished = bodycalFinished || null;
46
47
  this.workoutClosure = workoutClosure || null;
47
48
  }
49
+
50
+ toJson(): string {
51
+ return JSON.stringify({
52
+ id: this.id,
53
+ name: this.name,
54
+ workoutIntro: this.workoutIntro,
55
+ soundtrack: this.soundtrack,
56
+ exercises: this.exercises,
57
+ getInFrame: this.getInFrame,
58
+ bodycalFinished: this.bodycalFinished,
59
+ workoutClosure: this.workoutClosure,
60
+ });
61
+ }
48
62
  }
49
63
 
50
64
  export class SMExercise{
51
- name:string | null;
52
- totalSeconds: number | null;
53
- introSeconds: number | null;
54
- videoInstruction: string | null;
55
- exerciseIntro: string | null;
56
- uiElements: UIElement[] | null;
57
65
  detector: string;
66
+ uiElements: UIElement[] | null;
58
67
  repBased: boolean | null;
68
+ videoInstruction: string | null;
69
+ introSeconds: number | null;
70
+ totalSeconds: number | null;
71
+ prettyName:string | null;
72
+ exerciseIntro: string | null;
59
73
  exerciseClosure: string | null;
60
- targetReps: number | null;
61
- targetTime: number | null;
62
- scoreFactor: number | null;
74
+ scoringParams: SMScoringParams | null;
75
+
63
76
 
64
- constructor(name: string | null, totalSeconds: number | null, introSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, repBased: boolean | null, exerciseClosure: string | null, targetReps: number | null, targetTime: number | null, scoreFactor: number | null) {
65
- this.name = name || null
77
+ constructor(prettyName: string | null, totalSeconds: number | null, introSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, repBased: boolean | null, exerciseClosure: string | null, scoringParams: SMScoringParams | null) {
78
+ this.prettyName = prettyName || null
66
79
  this.totalSeconds = totalSeconds || null
67
80
  this.introSeconds = introSeconds || null
68
81
  this.videoInstruction = videoInstruction || null
@@ -70,11 +83,28 @@ export class SMExercise{
70
83
  this.uiElements = uiElements || null
71
84
  this.detector = detector
72
85
  this.repBased = repBased || null
73
- this.targetReps = targetReps || null
74
- this.targetTime = targetTime || null
75
- this.scoreFactor = scoreFactor || null
76
86
  this.exerciseClosure = exerciseClosure || null;
87
+ this.scoringParams = scoringParams || null;
88
+ }
89
+ }
90
+
91
+ export class SMScoringParams {
92
+ type:string | null;
93
+ scoreFactor: number | null;
94
+ targetTime: number | null;
95
+ targetReps: number | null;
96
+ targetRom: string | null;
97
+ passCriteria: string[] | null;
98
+
99
+ constructor(type: string | null, scoreFactor: number | null, targetTime: number | null, targetReps: number | null, targetRom: string | null, passCriteria: string[] | null) {
100
+ this.type = type || null
101
+ this.scoreFactor = scoreFactor || null
102
+ this.targetTime = targetTime || null
103
+ this.targetReps = targetReps || null
104
+ this.targetRom = targetRom || null
105
+ this.passCriteria = passCriteria || null
77
106
  }
107
+
78
108
  }
79
109
 
80
110
  export class WorkoutConfig{
package/src/index.tsx CHANGED
@@ -22,11 +22,18 @@ export function configure(key: string): Promise<string> {
22
22
  return SMKitUIManager.configure(key);
23
23
  }
24
24
 
25
- export function startAssessment(type:SMWorkoutLibrary.AssessmentTypes, showSummary:boolean): Promise<{summary: string, didFinish:boolean}>{
26
- return SMKitUIManager.startAssessment(type, showSummary);
25
+ export function startAssessment(
26
+ type: SMWorkoutLibrary.AssessmentTypes,
27
+ showSummary: boolean,
28
+ customAssessmentID: string
29
+ ): Promise<{ summary: string; didFinish: boolean }> {
30
+ return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
27
31
  }
28
32
 
29
33
  export function startCustomWorkout(workout:SMWorkoutLibrary.SMWorkout): Promise<{summary: string, didFinish:boolean}>{
34
+ if(Platform.OS === 'android') {
35
+ return SMKitUIManager.startCustomWorkout(workout.toJson());
36
+ }
30
37
  return SMKitUIManager.startCustomWorkout(workout);
31
38
  }
32
39