@sency/react-native-smkit-ui 0.2.0 → 0.2.1
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/ios/SMKitUIManager.mm +2 -2
- package/ios/SMKitUIManager.swift +63 -7
- package/lib/commonjs/SMWorkout.js +33 -1
- package/lib/commonjs/SMWorkout.js.map +1 -1
- package/lib/commonjs/index.js +4 -4
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/SMWorkout.js +30 -0
- package/lib/module/SMWorkout.js.map +1 -1
- package/lib/module/index.js +4 -4
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/SMWorkout.d.ts +18 -0
- package/lib/typescript/src/SMWorkout.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-smkit-ui.podspec +1 -1
- package/src/SMWorkout.tsx +63 -0
- package/src/index.tsx +25 -5
package/ios/SMKitUIManager.mm
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
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 customAssessmentID:(NSString*)customAssessmentID onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
6
|
+
RCT_EXTERN_METHOD(startAssessment:(NSString*)type showSummary:(BOOL)showSummary userData:(NSString*)userData forceShowUserDataScreen:(BOOL)forceShowUserDataScreen customAssessmentID:(NSString*)customAssessmentID onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
7
7
|
RCT_EXTERN_METHOD(startCustomWorkout:(NSString*)rawJson onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
8
|
-
RCT_EXTERN_METHOD(startCustomAssessment:(NSString*)rawJson onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
8
|
+
RCT_EXTERN_METHOD(startCustomAssessment:(NSString*)rawJson userData:(NSString*)userData forceShowUserDataScreen:(BOOL)forceShowUserDataScreen showSummary:(BOOL)showSummary onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
9
9
|
RCT_EXTERN_METHOD(startWorkoutProgram:(NSString*)dic onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
10
10
|
@end
|
package/ios/SMKitUIManager.swift
CHANGED
|
@@ -36,8 +36,8 @@ class SMKitUIManager: RCTViewManager {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
@objc(startAssessment:showSummary:customAssessmentID:onWorkoutDidFinish:onWorkoutFailed:)
|
|
40
|
-
func startAssessment(type:NSString, showSummary:Bool, customAssessmentID:String?, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
39
|
+
@objc(startAssessment:showSummary:userData:forceShowUserDataScreen:customAssessmentID:onWorkoutDidFinish:onWorkoutFailed:)
|
|
40
|
+
func startAssessment(type:NSString, showSummary:Bool, userData:NSString?, forceShowUserDataScreen:Bool, customAssessmentID:String?, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
41
41
|
DispatchQueue.main.async {[weak self] in
|
|
42
42
|
|
|
43
43
|
guard let self = self,
|
|
@@ -48,9 +48,18 @@ class SMKitUIManager: RCTViewManager {
|
|
|
48
48
|
|
|
49
49
|
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
50
50
|
self.onWorkoutFailed = onWorkoutFailed
|
|
51
|
+
|
|
51
52
|
do{
|
|
53
|
+
let userData = try self.getUserData(rawJson: userData)
|
|
52
54
|
if let type = AssessmentTypes(rawValue: "\(type)"){
|
|
53
|
-
try SMKitUIModel.startAssessmet(
|
|
55
|
+
try SMKitUIModel.startAssessmet(
|
|
56
|
+
viewController: smkitUIViewController,
|
|
57
|
+
type: type,
|
|
58
|
+
customAssessmentID:customAssessmentID == "" ? nil : customAssessmentID,
|
|
59
|
+
userData: userData,
|
|
60
|
+
forceShowUserDataScreen: forceShowUserDataScreen,
|
|
61
|
+
showSummary: showSummary,
|
|
62
|
+
delegate: self){error in
|
|
54
63
|
onWorkoutFailed("StartAssessment Failed", error.localizedDescription, error)
|
|
55
64
|
}
|
|
56
65
|
}else{
|
|
@@ -83,8 +92,8 @@ class SMKitUIManager: RCTViewManager {
|
|
|
83
92
|
}
|
|
84
93
|
}
|
|
85
94
|
|
|
86
|
-
@objc(startCustomAssessment:onWorkoutDidFinish:onWorkoutFailed:)
|
|
87
|
-
func startCustomAssessment(rawJson:String, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
95
|
+
@objc(startCustomAssessment:userData:forceShowUserDataScreen:showSummary:onWorkoutDidFinish:onWorkoutFailed:)
|
|
96
|
+
func startCustomAssessment(rawJson:String, userData:NSString?, forceShowUserDataScreen:Bool, showSummary:Bool, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
88
97
|
DispatchQueue.main.async { [weak self] in
|
|
89
98
|
guard let self = self,
|
|
90
99
|
let smkitUIViewController = smkitUIViewController else {
|
|
@@ -93,10 +102,12 @@ class SMKitUIManager: RCTViewManager {
|
|
|
93
102
|
}
|
|
94
103
|
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
95
104
|
self.onWorkoutFailed = onWorkoutFailed
|
|
105
|
+
|
|
96
106
|
do{
|
|
107
|
+
let userData = try self.getUserData(rawJson: userData)
|
|
97
108
|
let json = try stringJsonToDic(stringJSON: rawJson)
|
|
98
|
-
let assessment = try
|
|
99
|
-
try SMKitUIModel.startCustomAssessment(viewController: smkitUIViewController, assessment: assessment, delegate: self) { error in
|
|
109
|
+
let assessment = try SMWorkoutAssessmet.initFromJSON(json)
|
|
110
|
+
try SMKitUIModel.startCustomAssessment(viewController: smkitUIViewController, assessment: assessment, userData:userData, forceShowUserDataScreen: forceShowUserDataScreen, showSummary: showSummary, delegate: self) { error in
|
|
100
111
|
onWorkoutFailed("startCustomAssessment Failed", error.localizedDescription, error)
|
|
101
112
|
}
|
|
102
113
|
}catch{
|
|
@@ -154,6 +165,28 @@ class SMKitUIManager: RCTViewManager {
|
|
|
154
165
|
override class func requiresMainQueueSetup() -> Bool {
|
|
155
166
|
true
|
|
156
167
|
}
|
|
168
|
+
|
|
169
|
+
func getUserData(rawJson:NSString?) throws -> UserData?{
|
|
170
|
+
guard let rawJson = rawJson as? String else { return nil }
|
|
171
|
+
let json = try stringJsonToDic(stringJSON: rawJson)
|
|
172
|
+
return UserData(
|
|
173
|
+
gender: Gender(rawValue: json["gender"] as? String ?? "") ?? .Female,
|
|
174
|
+
birthday: getBirthdayDate(from: json["age"] as? Int ?? 0) ?? Date()
|
|
175
|
+
)
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
func getBirthdayDate(from age: Int) -> Date? {
|
|
179
|
+
// Create a date components instance to subtract years
|
|
180
|
+
var dateComponents = DateComponents()
|
|
181
|
+
dateComponents.year = -age
|
|
182
|
+
|
|
183
|
+
// Use the current calendar and current date to calculate the birth date
|
|
184
|
+
let calendar = Calendar.current
|
|
185
|
+
if let birthDate = calendar.date(byAdding: dateComponents, to: Date()) {
|
|
186
|
+
return birthDate
|
|
187
|
+
}
|
|
188
|
+
return nil
|
|
189
|
+
}
|
|
157
190
|
}
|
|
158
191
|
|
|
159
192
|
extension SMKitUIManager:SMKitUIWorkoutDelegate{
|
|
@@ -199,3 +232,26 @@ extension WorkoutSummaryData{
|
|
|
199
232
|
return String(data: jsonData, encoding: String.Encoding.utf8) ?? ""
|
|
200
233
|
}
|
|
201
234
|
}
|
|
235
|
+
|
|
236
|
+
extension SMWorkoutAssessmet{
|
|
237
|
+
static func initFromJSON(_ json: [String:Any]) throws -> SMWorkoutAssessmet{
|
|
238
|
+
var assessmentsExercises:[SMAssessmentExercise] = []
|
|
239
|
+
|
|
240
|
+
if let exercise = json["exercises"] as? [[String:Any]] {
|
|
241
|
+
try exercise.forEach({
|
|
242
|
+
try assessmentsExercises.append(SMAssessmentExercise(FromJson: $0))
|
|
243
|
+
})
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
return SMWorkoutAssessmet(
|
|
247
|
+
id: json["id"] as? String,
|
|
248
|
+
name: json["name"] as? String,
|
|
249
|
+
workoutIntro: json["workoutIntro"] as? String,
|
|
250
|
+
soundtrack: json["soundtrack"] as? String,
|
|
251
|
+
assessmentsExercises: assessmentsExercises,
|
|
252
|
+
getInFrame: json["getInFrame"] as? String,
|
|
253
|
+
bodycalFinished: json["bodycalFinished"] as? String,
|
|
254
|
+
workoutClosure: json["workoutClosure"] as? String
|
|
255
|
+
)
|
|
256
|
+
}
|
|
257
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UIElement = exports.ScoringType = exports.SMWorkout = exports.SMScoringParams = exports.SMExercise = exports.BodyZone = exports.AssessmentTypes = void 0;
|
|
6
|
+
exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UserData = exports.UIElement = exports.ScoringType = exports.SMWorkout = exports.SMScoringParams = exports.SMExercise = exports.SMAssessmentExercise = exports.Gender = exports.BodyZone = exports.AssessmentTypes = void 0;
|
|
7
7
|
let AssessmentTypes = exports.AssessmentTypes = /*#__PURE__*/function (AssessmentTypes) {
|
|
8
8
|
AssessmentTypes["Fitness"] = "fitness";
|
|
9
9
|
AssessmentTypes["Custom"] = "custom";
|
|
@@ -39,6 +39,12 @@ let ScoringType = exports.ScoringType = /*#__PURE__*/function (ScoringType) {
|
|
|
39
39
|
ScoringType["Reps"] = "reps";
|
|
40
40
|
return ScoringType;
|
|
41
41
|
}({});
|
|
42
|
+
let Gender = exports.Gender = /*#__PURE__*/function (Gender) {
|
|
43
|
+
Gender["Female"] = "Female";
|
|
44
|
+
Gender["Male"] = "Male";
|
|
45
|
+
Gender["Other"] = "Rather not say";
|
|
46
|
+
return Gender;
|
|
47
|
+
}({});
|
|
42
48
|
class SMWorkout {
|
|
43
49
|
constructor(id, name, workoutIntro, soundtrack, exercises, getInFrame, bodycalFinished, workoutClosure) {
|
|
44
50
|
this.id = id || null;
|
|
@@ -77,6 +83,19 @@ class SMExercise {
|
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
85
|
exports.SMExercise = SMExercise;
|
|
86
|
+
class SMAssessmentExercise extends SMExercise {
|
|
87
|
+
constructor(prettyName, totalSeconds, videoInstruction, exerciseIntro, uiElements, detector, exerciseClosure, scoringParams, summaryTitle, summarySubTitle, summaryMainMetricTitle, summaryMainMetricSubTitle) {
|
|
88
|
+
// Call the constructor of the parent class (SMExercise)
|
|
89
|
+
super(prettyName, totalSeconds, videoInstruction, exerciseIntro, uiElements, detector, exerciseClosure, scoringParams);
|
|
90
|
+
|
|
91
|
+
// Set additional properties specific to SMAssessmentExercise
|
|
92
|
+
this.summaryTitle = summaryTitle || null;
|
|
93
|
+
this.summarySubTitle = summarySubTitle || null;
|
|
94
|
+
this.summaryMainMetricTitle = summaryMainMetricTitle || null;
|
|
95
|
+
this.summaryMainMetricSubTitle = summaryMainMetricSubTitle || null;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.SMAssessmentExercise = SMAssessmentExercise;
|
|
80
99
|
class SMScoringParams {
|
|
81
100
|
constructor(type, scoreFactor, targetTime, targetReps, targetRom, passCriteria) {
|
|
82
101
|
this.type = type || null;
|
|
@@ -107,4 +126,17 @@ class WorkoutConfig {
|
|
|
107
126
|
}
|
|
108
127
|
}
|
|
109
128
|
exports.WorkoutConfig = WorkoutConfig;
|
|
129
|
+
class UserData {
|
|
130
|
+
constructor(gender, age) {
|
|
131
|
+
this.gender = gender;
|
|
132
|
+
this.age = age;
|
|
133
|
+
}
|
|
134
|
+
toJson() {
|
|
135
|
+
return JSON.stringify({
|
|
136
|
+
gender: this.gender,
|
|
137
|
+
age: this.age
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.UserData = UserData;
|
|
110
142
|
//# sourceMappingURL=SMWorkout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","videoInstruction","exerciseIntro","uiElements","detector","exerciseClosure","scoringParams","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":";;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAMfE,SAAS,GAAAD,OAAA,CAAAC,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAAA,IAMTC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAAA,IAMRC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAAA,IAMjBC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAAA,IAKfC,WAAW,GAAAL,OAAA,CAAAK,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;
|
|
1
|
+
{"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","Gender","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","videoInstruction","exerciseIntro","uiElements","detector","exerciseClosure","scoringParams","SMAssessmentExercise","summaryTitle","summarySubTitle","summaryMainMetricTitle","summaryMainMetricSubTitle","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID","UserData","gender","age"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -21,14 +21,14 @@ const SMKitUIManager = _reactNative.NativeModules.SMKitUIManager ? _reactNative.
|
|
|
21
21
|
function configure(key) {
|
|
22
22
|
return SMKitUIManager.configure(key);
|
|
23
23
|
}
|
|
24
|
-
function startAssessment(type, showSummary, customAssessmentID) {
|
|
25
|
-
return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
|
|
24
|
+
function startAssessment(type, showSummary = true, userData, forceShowUserDataScreen = false, customAssessmentID) {
|
|
25
|
+
return SMKitUIManager.startAssessment(type, showSummary, userData?.toJson(), forceShowUserDataScreen, customAssessmentID);
|
|
26
26
|
}
|
|
27
27
|
function startCustomWorkout(workout) {
|
|
28
28
|
return SMKitUIManager.startCustomWorkout(workout.toJson());
|
|
29
29
|
}
|
|
30
|
-
function startCustomAssessment(assessment) {
|
|
31
|
-
return SMKitUIManager.startCustomAssessment(assessment.toJson());
|
|
30
|
+
function startCustomAssessment(assessment, userData, forceShowUserDataScreen = false, showSummary = true) {
|
|
31
|
+
return SMKitUIManager.startCustomAssessment(assessment.toJson(), userData?.toJson(), forceShowUserDataScreen, showSummary);
|
|
32
32
|
}
|
|
33
33
|
function startWorkoutProgram(workoutConfig) {
|
|
34
34
|
return SMKitUIManager.startWorkoutProgram(workoutConfig.toJson());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","SMKitUIManager","NativeModules","Proxy","get","Error","configure","key","startAssessment","type","showSummary","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","SMKitUIManager","NativeModules","Proxy","get","Error","configure","key","startAssessment","type","showSummary","userData","forceShowUserDataScreen","customAssessmentID","toJson","startCustomWorkout","workout","startCustomAssessment","assessment","startWorkoutProgram","workoutConfig"],"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,CAC7BC,IAAsC,EACtCC,WAAoB,GAAG,IAAI,EAC3BC,QAA0C,EAC1CC,uBAAgC,GAAG,KAAK,EACxCC,kBAA0B,EACwB;EAClD,OAAOZ,cAAc,CAACO,eAAe,CACnCC,IAAI,EACJC,WAAW,EACXC,QAAQ,EAAEG,MAAM,CAAC,CAAC,EAClBF,uBAAuB,EACvBC,kBACF,CAAC;AACH;AAEO,SAASE,kBAAkBA,CAChCC,OAAmC,EACe;EAClD,OAAOf,cAAc,CAACc,kBAAkB,CAACC,OAAO,CAACF,MAAM,CAAC,CAAC,CAAC;AAC5D;AAEO,SAASG,qBAAqBA,CACnCC,UAAsC,EACtCP,QAA0C,EAC1CC,uBAAgC,GAAG,KAAK,EACxCF,WAAoB,GAAG,IAAI,EACuB;EAClD,OAAOT,cAAc,CAACgB,qBAAqB,CACzCC,UAAU,CAACJ,MAAM,CAAC,CAAC,EACnBH,QAAQ,EAAEG,MAAM,CAAC,CAAC,EAClBF,uBAAuB,EACvBF,WACF,CAAC;AACH;AAEO,SAASS,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOnB,cAAc,CAACkB,mBAAmB,CAACC,aAAa,CAACN,MAAM,CAAC,CAAC,CAAC;AACnE","ignoreList":[]}
|
package/lib/module/SMWorkout.js
CHANGED
|
@@ -33,6 +33,12 @@ export let ScoringType = /*#__PURE__*/function (ScoringType) {
|
|
|
33
33
|
ScoringType["Reps"] = "reps";
|
|
34
34
|
return ScoringType;
|
|
35
35
|
}({});
|
|
36
|
+
export let Gender = /*#__PURE__*/function (Gender) {
|
|
37
|
+
Gender["Female"] = "Female";
|
|
38
|
+
Gender["Male"] = "Male";
|
|
39
|
+
Gender["Other"] = "Rather not say";
|
|
40
|
+
return Gender;
|
|
41
|
+
}({});
|
|
36
42
|
export class SMWorkout {
|
|
37
43
|
constructor(id, name, workoutIntro, soundtrack, exercises, getInFrame, bodycalFinished, workoutClosure) {
|
|
38
44
|
this.id = id || null;
|
|
@@ -69,6 +75,18 @@ export class SMExercise {
|
|
|
69
75
|
this.scoringParams = scoringParams || null;
|
|
70
76
|
}
|
|
71
77
|
}
|
|
78
|
+
export class SMAssessmentExercise extends SMExercise {
|
|
79
|
+
constructor(prettyName, totalSeconds, videoInstruction, exerciseIntro, uiElements, detector, exerciseClosure, scoringParams, summaryTitle, summarySubTitle, summaryMainMetricTitle, summaryMainMetricSubTitle) {
|
|
80
|
+
// Call the constructor of the parent class (SMExercise)
|
|
81
|
+
super(prettyName, totalSeconds, videoInstruction, exerciseIntro, uiElements, detector, exerciseClosure, scoringParams);
|
|
82
|
+
|
|
83
|
+
// Set additional properties specific to SMAssessmentExercise
|
|
84
|
+
this.summaryTitle = summaryTitle || null;
|
|
85
|
+
this.summarySubTitle = summarySubTitle || null;
|
|
86
|
+
this.summaryMainMetricTitle = summaryMainMetricTitle || null;
|
|
87
|
+
this.summaryMainMetricSubTitle = summaryMainMetricSubTitle || null;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
72
90
|
export class SMScoringParams {
|
|
73
91
|
constructor(type, scoreFactor, targetTime, targetReps, targetRom, passCriteria) {
|
|
74
92
|
this.type = type || null;
|
|
@@ -97,4 +115,16 @@ export class WorkoutConfig {
|
|
|
97
115
|
});
|
|
98
116
|
}
|
|
99
117
|
}
|
|
118
|
+
export class UserData {
|
|
119
|
+
constructor(gender, age) {
|
|
120
|
+
this.gender = gender;
|
|
121
|
+
this.age = age;
|
|
122
|
+
}
|
|
123
|
+
toJson() {
|
|
124
|
+
return JSON.stringify({
|
|
125
|
+
gender: this.gender,
|
|
126
|
+
age: this.age
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
}
|
|
100
130
|
//# sourceMappingURL=SMWorkout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AssessmentTypes","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","videoInstruction","exerciseIntro","uiElements","detector","exerciseClosure","scoringParams","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"AAAA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B,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,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB,OAAO,MAAMC,SAAS,CAAC;EAUrBC,WAAWA,CACTC,EAAiB,EACjBC,IAAmB,EACnBC,YAA2B,EAC3BC,UAAyB,EACzBC,SAAuB,EACvBC,UAAyB,EACzBC,eAA8B,EAC9BC,cAA6B,EAC7B;IACA,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;EAC9C;EAEAC,MAAMA,CAAA,EAAW;IACf,OAAOC,IAAI,CAACC,SAAS,CAAC;MACpBV,EAAE,EAAE,IAAI,CAACA,EAAE;MACXC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,YAAY,EAAE,IAAI,CAACA,YAAY;MAC/BC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBC,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,cAAc,EAAE,IAAI,CAACA;IACvB,CAAC,CAAC;EACJ;AACF;AAEA,OAAO,MAAMI,UAAU,CAAC;EAUtBZ,WAAWA,CACTa,UAAyB,EACzBC,YAA2B,EAC3BC,gBAA+B,EAC/BC,aAA4B,EAC5BC,UAA8B,EAC9BC,QAAgB,EAChBC,eAA8B,EAC9BC,aAAqC,EACrC;IACA,IAAI,CAACP,UAAU,GAAGA,UAAU,IAAI,IAAI;IACpC,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,eAAe,GAAGA,eAAe,IAAI,IAAI;IAC9C,IAAI,CAACC,aAAa,GAAGA,aAAa,IAAI,IAAI;EAC5C;AACF;AAEA,OAAO,MAAMC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"names":["AssessmentTypes","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","Gender","SMWorkout","constructor","id","name","workoutIntro","soundtrack","exercises","getInFrame","bodycalFinished","workoutClosure","toJson","JSON","stringify","SMExercise","prettyName","totalSeconds","videoInstruction","exerciseIntro","uiElements","detector","exerciseClosure","scoringParams","SMAssessmentExercise","summaryTitle","summarySubTitle","summaryMainMetricTitle","summaryMainMetricSubTitle","SMScoringParams","type","scoreFactor","targetTime","targetReps","targetRom","passCriteria","WorkoutConfig","week","bodyZone","difficultyLevel","workoutDuration","programID","UserData","gender","age"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -11,14 +11,14 @@ 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, customAssessmentID) {
|
|
15
|
-
return SMKitUIManager.startAssessment(type, showSummary, customAssessmentID);
|
|
14
|
+
export function startAssessment(type, showSummary = true, userData, forceShowUserDataScreen = false, customAssessmentID) {
|
|
15
|
+
return SMKitUIManager.startAssessment(type, showSummary, userData?.toJson(), forceShowUserDataScreen, customAssessmentID);
|
|
16
16
|
}
|
|
17
17
|
export function startCustomWorkout(workout) {
|
|
18
18
|
return SMKitUIManager.startCustomWorkout(workout.toJson());
|
|
19
19
|
}
|
|
20
|
-
export function startCustomAssessment(assessment) {
|
|
21
|
-
return SMKitUIManager.startCustomAssessment(assessment.toJson());
|
|
20
|
+
export function startCustomAssessment(assessment, userData, forceShowUserDataScreen = false, showSummary = true) {
|
|
21
|
+
return SMKitUIManager.startCustomAssessment(assessment.toJson(), userData?.toJson(), forceShowUserDataScreen, showSummary);
|
|
22
22
|
}
|
|
23
23
|
export function startWorkoutProgram(workoutConfig) {
|
|
24
24
|
return SMKitUIManager.startWorkoutProgram(workoutConfig.toJson());
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","SMKitUIManager","Proxy","get","Error","configure","key","startAssessment","type","showSummary","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","SMKitUIManager","Proxy","get","Error","configure","key","startAssessment","type","showSummary","userData","forceShowUserDataScreen","customAssessmentID","toJson","startCustomWorkout","workout","startCustomAssessment","assessment","startWorkoutProgram","workoutConfig"],"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,CAC7BC,IAAsC,EACtCC,WAAoB,GAAG,IAAI,EAC3BC,QAA0C,EAC1CC,uBAAgC,GAAG,KAAK,EACxCC,kBAA0B,EACwB;EAClD,OAAOX,cAAc,CAACM,eAAe,CACnCC,IAAI,EACJC,WAAW,EACXC,QAAQ,EAAEG,MAAM,CAAC,CAAC,EAClBF,uBAAuB,EACvBC,kBACF,CAAC;AACH;AAEA,OAAO,SAASE,kBAAkBA,CAChCC,OAAmC,EACe;EAClD,OAAOd,cAAc,CAACa,kBAAkB,CAACC,OAAO,CAACF,MAAM,CAAC,CAAC,CAAC;AAC5D;AAEA,OAAO,SAASG,qBAAqBA,CACnCC,UAAsC,EACtCP,QAA0C,EAC1CC,uBAAgC,GAAG,KAAK,EACxCF,WAAoB,GAAG,IAAI,EACuB;EAClD,OAAOR,cAAc,CAACe,qBAAqB,CACzCC,UAAU,CAACJ,MAAM,CAAC,CAAC,EACnBH,QAAQ,EAAEG,MAAM,CAAC,CAAC,EAClBF,uBAAuB,EACvBF,WACF,CAAC;AACH;AAEA,OAAO,SAASS,mBAAmBA,CAACC,aAA4C,EAAgD;EAC9H,OAAOlB,cAAc,CAACiB,mBAAmB,CAACC,aAAa,CAACN,MAAM,CAAC,CAAC,CAAC;AACnE","ignoreList":[]}
|
|
@@ -27,6 +27,11 @@ export declare enum ScoringType {
|
|
|
27
27
|
Time = "time",
|
|
28
28
|
Reps = "reps"
|
|
29
29
|
}
|
|
30
|
+
export declare enum Gender {
|
|
31
|
+
Female = "Female",
|
|
32
|
+
Male = "Male",
|
|
33
|
+
Other = "Rather not say"
|
|
34
|
+
}
|
|
30
35
|
export declare class SMWorkout {
|
|
31
36
|
id: string | null;
|
|
32
37
|
name: string | null;
|
|
@@ -50,6 +55,13 @@ export declare class SMExercise {
|
|
|
50
55
|
scoringParams: SMScoringParams | null;
|
|
51
56
|
constructor(prettyName: string | null, totalSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, exerciseClosure: string | null, scoringParams: SMScoringParams | null);
|
|
52
57
|
}
|
|
58
|
+
export declare class SMAssessmentExercise extends SMExercise {
|
|
59
|
+
summaryTitle: string | null;
|
|
60
|
+
summarySubTitle: string | null;
|
|
61
|
+
summaryMainMetricTitle: string | null;
|
|
62
|
+
summaryMainMetricSubTitle: string | null;
|
|
63
|
+
constructor(prettyName: string | null, totalSeconds: number | null, videoInstruction: string | null, exerciseIntro: string | null, uiElements: UIElement[] | null, detector: string, exerciseClosure: string | null, scoringParams: SMScoringParams | null, summaryTitle: string | null, summarySubTitle: string | null, summaryMainMetricTitle: string | null, summaryMainMetricSubTitle: string | null);
|
|
64
|
+
}
|
|
53
65
|
export declare class SMScoringParams {
|
|
54
66
|
type: ScoringType | null;
|
|
55
67
|
scoreFactor: number | null;
|
|
@@ -68,4 +80,10 @@ export declare class WorkoutConfig {
|
|
|
68
80
|
constructor(week: number, bodyZone: BodyZone, difficultyLevel: WorkoutDifficulty, workoutDuration: WorkoutDuration, programID: string);
|
|
69
81
|
toJson(): string;
|
|
70
82
|
}
|
|
83
|
+
export declare class UserData {
|
|
84
|
+
gender: Gender;
|
|
85
|
+
age: number;
|
|
86
|
+
constructor(gender: Gender, age: number);
|
|
87
|
+
toJson(): string;
|
|
88
|
+
}
|
|
71
89
|
//# sourceMappingURL=SMWorkout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SMWorkout.d.ts","sourceRoot":"","sources":["../../../src/SMWorkout.tsx"],"names":[],"mappings":"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"}
|
|
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, customAssessmentID: string): Promise<{
|
|
3
|
+
export declare function startAssessment(type: SMWorkoutLibrary.AssessmentTypes, showSummary: boolean | undefined, userData: SMWorkoutLibrary.UserData | null, forceShowUserDataScreen: boolean | undefined, customAssessmentID: string): Promise<{
|
|
4
4
|
summary: string;
|
|
5
5
|
didFinish: boolean;
|
|
6
6
|
}>;
|
|
@@ -8,7 +8,7 @@ export declare function startCustomWorkout(workout: SMWorkoutLibrary.SMWorkout):
|
|
|
8
8
|
summary: string;
|
|
9
9
|
didFinish: boolean;
|
|
10
10
|
}>;
|
|
11
|
-
export declare function startCustomAssessment(assessment: SMWorkoutLibrary.SMWorkout): Promise<{
|
|
11
|
+
export declare function startCustomAssessment(assessment: SMWorkoutLibrary.SMWorkout, userData: SMWorkoutLibrary.UserData | null, forceShowUserDataScreen?: boolean, showSummary?: boolean): Promise<{
|
|
12
12
|
summary: string;
|
|
13
13
|
didFinish: boolean;
|
|
14
14
|
}>;
|
|
@@ -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,CAC7B,IAAI,EAAE,gBAAgB,CAAC,eAAe,EACtC,WAAW,EAAE,
|
|
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,qBAAgB,EAC3B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,GAAG,IAAI,EAC1C,uBAAuB,qBAAiB,EACxC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAQlD;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,CAAC,SAAS,GAClC,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAElD;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,gBAAgB,CAAC,SAAS,EACtC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,GAAG,IAAI,EAC1C,uBAAuB,GAAE,OAAe,EACxC,WAAW,GAAE,OAAc,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAOlD;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"}
|
package/package.json
CHANGED
|
@@ -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.2.
|
|
18
|
+
s.dependency "SMKitUI" ,'0.2.6'
|
|
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
|
@@ -33,6 +33,12 @@ export enum ScoringType {
|
|
|
33
33
|
Reps = 'reps',
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
export enum Gender {
|
|
37
|
+
Female = 'Female',
|
|
38
|
+
Male = 'Male',
|
|
39
|
+
Other = 'Rather not say',
|
|
40
|
+
}
|
|
41
|
+
|
|
36
42
|
export class SMWorkout {
|
|
37
43
|
id: string | null;
|
|
38
44
|
name: string | null;
|
|
@@ -108,6 +114,46 @@ export class SMExercise {
|
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
116
|
|
|
117
|
+
export class SMAssessmentExercise extends SMExercise {
|
|
118
|
+
summaryTitle: string | null;
|
|
119
|
+
summarySubTitle: string | null;
|
|
120
|
+
summaryMainMetricTitle: string | null;
|
|
121
|
+
summaryMainMetricSubTitle: string | null;
|
|
122
|
+
|
|
123
|
+
constructor(
|
|
124
|
+
prettyName: string | null,
|
|
125
|
+
totalSeconds: number | null,
|
|
126
|
+
videoInstruction: string | null,
|
|
127
|
+
exerciseIntro: string | null,
|
|
128
|
+
uiElements: UIElement[] | null,
|
|
129
|
+
detector: string,
|
|
130
|
+
exerciseClosure: string | null,
|
|
131
|
+
scoringParams: SMScoringParams | null,
|
|
132
|
+
summaryTitle: string | null,
|
|
133
|
+
summarySubTitle: string | null,
|
|
134
|
+
summaryMainMetricTitle: string | null,
|
|
135
|
+
summaryMainMetricSubTitle: string | null
|
|
136
|
+
) {
|
|
137
|
+
// Call the constructor of the parent class (SMExercise)
|
|
138
|
+
super(
|
|
139
|
+
prettyName,
|
|
140
|
+
totalSeconds,
|
|
141
|
+
videoInstruction,
|
|
142
|
+
exerciseIntro,
|
|
143
|
+
uiElements,
|
|
144
|
+
detector,
|
|
145
|
+
exerciseClosure,
|
|
146
|
+
scoringParams
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
// Set additional properties specific to SMAssessmentExercise
|
|
150
|
+
this.summaryTitle = summaryTitle || null;
|
|
151
|
+
this.summarySubTitle = summarySubTitle || null;
|
|
152
|
+
this.summaryMainMetricTitle = summaryMainMetricTitle || null;
|
|
153
|
+
this.summaryMainMetricSubTitle = summaryMainMetricSubTitle || null;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
111
157
|
export class SMScoringParams {
|
|
112
158
|
type: ScoringType | null;
|
|
113
159
|
scoreFactor: number | null;
|
|
@@ -164,3 +210,20 @@ export class WorkoutConfig {
|
|
|
164
210
|
});
|
|
165
211
|
}
|
|
166
212
|
}
|
|
213
|
+
|
|
214
|
+
export class UserData {
|
|
215
|
+
gender: Gender;
|
|
216
|
+
age: number;
|
|
217
|
+
|
|
218
|
+
constructor(gender: Gender, age: number) {
|
|
219
|
+
this.gender = gender;
|
|
220
|
+
this.age = age;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
toJson(): string {
|
|
224
|
+
return JSON.stringify({
|
|
225
|
+
gender: this.gender,
|
|
226
|
+
age: this.age,
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
}
|
package/src/index.tsx
CHANGED
|
@@ -24,18 +24,38 @@ export function configure(key: string): Promise<string> {
|
|
|
24
24
|
|
|
25
25
|
export function startAssessment(
|
|
26
26
|
type: SMWorkoutLibrary.AssessmentTypes,
|
|
27
|
-
showSummary: boolean,
|
|
27
|
+
showSummary: boolean = true,
|
|
28
|
+
userData: SMWorkoutLibrary.UserData | null,
|
|
29
|
+
forceShowUserDataScreen: boolean = false,
|
|
28
30
|
customAssessmentID: string
|
|
29
31
|
): Promise<{ summary: string; didFinish: boolean }> {
|
|
30
|
-
return SMKitUIManager.startAssessment(
|
|
32
|
+
return SMKitUIManager.startAssessment(
|
|
33
|
+
type,
|
|
34
|
+
showSummary,
|
|
35
|
+
userData?.toJson(),
|
|
36
|
+
forceShowUserDataScreen,
|
|
37
|
+
customAssessmentID
|
|
38
|
+
);
|
|
31
39
|
}
|
|
32
40
|
|
|
33
|
-
export function startCustomWorkout(
|
|
41
|
+
export function startCustomWorkout(
|
|
42
|
+
workout: SMWorkoutLibrary.SMWorkout
|
|
43
|
+
): Promise<{ summary: string; didFinish: boolean }> {
|
|
34
44
|
return SMKitUIManager.startCustomWorkout(workout.toJson());
|
|
35
45
|
}
|
|
36
46
|
|
|
37
|
-
export function startCustomAssessment(
|
|
38
|
-
|
|
47
|
+
export function startCustomAssessment(
|
|
48
|
+
assessment: SMWorkoutLibrary.SMWorkout,
|
|
49
|
+
userData: SMWorkoutLibrary.UserData | null,
|
|
50
|
+
forceShowUserDataScreen: boolean = false,
|
|
51
|
+
showSummary: boolean = true
|
|
52
|
+
): Promise<{ summary: string; didFinish: boolean }> {
|
|
53
|
+
return SMKitUIManager.startCustomAssessment(
|
|
54
|
+
assessment.toJson(),
|
|
55
|
+
userData?.toJson(),
|
|
56
|
+
forceShowUserDataScreen,
|
|
57
|
+
showSummary
|
|
58
|
+
);
|
|
39
59
|
}
|
|
40
60
|
|
|
41
61
|
export function startWorkoutProgram(workoutConfig:SMWorkoutLibrary.WorkoutConfig): Promise<{summary: string, didFinish:boolean}>{
|