@sency/react-native-smkit-ui 0.2.7 → 0.2.8
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/android/src/main/java/com/smkituilibrary/SmkitUiLibraryModule.kt +20 -8
- package/android/src/main/java/com/smkituilibrary/mapper/SMMapper.kt +5 -1
- package/android/src/main/java/com/smkituilibrary/model/SMKitWorkoutConfig.kt +1 -0
- package/android/src/main/java/com/smkituilibrary/model/WFPSummary.kt +1 -0
- package/android/src/main/java/com/smkituilibrary/serializers/Serializers.kt +3 -1
- package/ios/SMKitUIManager.mm +1 -0
- package/ios/SMKitUIManager.swift +275 -264
- package/lib/commonjs/SMWorkout.js +10 -2
- package/lib/commonjs/SMWorkout.js.map +1 -1
- package/lib/commonjs/index.js +9 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/SMWorkout.js +9 -1
- package/lib/module/SMWorkout.js.map +1 -1
- package/lib/module/index.js +8 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/example/src/App.d.ts +4 -0
- package/lib/typescript/example/src/App.d.ts.map +1 -0
- package/lib/typescript/example/src/components/EditText.d.ts +9 -0
- package/lib/typescript/example/src/components/EditText.d.ts.map +1 -0
- package/lib/typescript/example/src/components/ThreeCheckboxes.d.ts +7 -0
- package/lib/typescript/example/src/components/ThreeCheckboxes.d.ts.map +1 -0
- package/lib/typescript/src/SMWorkout.d.ts +7 -1
- package/lib/typescript/src/SMWorkout.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -0
- 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 +11 -1
- package/src/index.tsx +8 -0
package/android/build.gradle
CHANGED
|
@@ -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
|
-
implementation("com.sency.smkitui:smkitui:0.2.
|
|
96
|
+
implementation("com.sency.smkitui:smkitui:0.2.5") {
|
|
97
97
|
exclude group: 'com.facebook.fbjni', module: 'fbjni-java-only'
|
|
98
98
|
}
|
|
99
99
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
package com.smkituilibrary
|
|
2
2
|
|
|
3
3
|
import android.util.Log
|
|
4
|
-
import androidx.lifecycle.Observer
|
|
5
4
|
import com.facebook.react.bridge.Arguments
|
|
6
5
|
import com.facebook.react.bridge.Promise
|
|
7
6
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
@@ -24,6 +23,7 @@ import com.sency.smkitui.model.WorkoutSummaryData
|
|
|
24
23
|
import com.sency.smkitui.model.smkitui.Body360
|
|
25
24
|
import com.sency.smkitui.model.smkitui.Custom
|
|
26
25
|
import com.sency.smkitui.model.smkitui.Fitness
|
|
26
|
+
import com.sency.smkitui.model.workoutConfig.SMLanguage
|
|
27
27
|
import com.sency.smkitui.model.workoutConfig.WorkoutConfigModel
|
|
28
28
|
import com.smkituilibrary.mapper.toSMWorkout
|
|
29
29
|
import com.smkituilibrary.mapper.toWFPSummary
|
|
@@ -55,7 +55,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
55
55
|
private var resultPromise: Promise? = null
|
|
56
56
|
private val moshi: Moshi by lazy { moshi() }
|
|
57
57
|
private val gson: Gson by lazy { gson() }
|
|
58
|
-
private var
|
|
58
|
+
private var compactJson = false
|
|
59
59
|
|
|
60
60
|
override fun getName(): String = "SMKitUIManager"
|
|
61
61
|
|
|
@@ -70,7 +70,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
70
70
|
override fun workoutDidFinish(summary: WorkoutSummaryData) {
|
|
71
71
|
val params: WritableMap = WritableNativeMap()
|
|
72
72
|
val summaryJson: String = try {
|
|
73
|
-
if(
|
|
73
|
+
if(compactJson) {
|
|
74
74
|
gson.toJson(summary.toWFPSummary())
|
|
75
75
|
} else {
|
|
76
76
|
gson.toJson(summary)
|
|
@@ -92,7 +92,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
92
92
|
override fun didExitWorkout(summary: WorkoutSummaryData) {
|
|
93
93
|
val params: WritableMap = WritableNativeMap()
|
|
94
94
|
val summaryJson: String = try {
|
|
95
|
-
if(
|
|
95
|
+
if(compactJson) {
|
|
96
96
|
gson.toJson(summary.toWFPSummary())
|
|
97
97
|
} else {
|
|
98
98
|
gson.toJson(summary)
|
|
@@ -146,6 +146,16 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
146
146
|
})
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
+
@ReactMethod
|
|
150
|
+
fun setSessionLanguge(lang: String, promise: Promise) {
|
|
151
|
+
val lang = when(lang) {
|
|
152
|
+
"he" -> SMLanguage.Hebrew
|
|
153
|
+
else -> SMLanguage.English
|
|
154
|
+
}
|
|
155
|
+
smKitUI?.setSessionLanguage(lang)
|
|
156
|
+
promise.resolve("")
|
|
157
|
+
}
|
|
158
|
+
|
|
149
159
|
@ReactMethod
|
|
150
160
|
fun startAssessment(
|
|
151
161
|
type: String,
|
|
@@ -156,7 +166,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
156
166
|
promise: Promise,
|
|
157
167
|
) {
|
|
158
168
|
this.resultPromise = promise
|
|
159
|
-
|
|
169
|
+
compactJson = false
|
|
160
170
|
try {
|
|
161
171
|
val assessmentType = when (type) {
|
|
162
172
|
"fitness" -> Fitness
|
|
@@ -179,9 +189,10 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
179
189
|
|
|
180
190
|
@ReactMethod
|
|
181
191
|
fun startCustomWorkout(jsonArguments: String, promise: Promise) {
|
|
182
|
-
|
|
192
|
+
compactJson = false
|
|
183
193
|
|
|
184
194
|
try {
|
|
195
|
+
resultPromise = promise
|
|
185
196
|
serializeWorkout(jsonArguments)?.let {
|
|
186
197
|
smKitUI?.startCustomizedWorkout(workout = it, listener = listener)
|
|
187
198
|
}
|
|
@@ -198,8 +209,9 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
198
209
|
showSummary: Boolean,
|
|
199
210
|
promise: Promise
|
|
200
211
|
) {
|
|
201
|
-
|
|
212
|
+
compactJson = true
|
|
202
213
|
try {
|
|
214
|
+
resultPromise = promise
|
|
203
215
|
serializeWorkout(assessmentJson)?.let {
|
|
204
216
|
smKitUI?.startCustomizedAssessment(workout = it, showSummary = showSummary, listener = listener)
|
|
205
217
|
}
|
|
@@ -217,7 +229,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
|
|
|
217
229
|
|
|
218
230
|
@ReactMethod
|
|
219
231
|
fun startWorkoutProgram(jsonArguments: String, promise: Promise) {
|
|
220
|
-
|
|
232
|
+
compactJson = true
|
|
221
233
|
try {
|
|
222
234
|
Log.d(TAG, "startWorkoutProgram: $jsonArguments")
|
|
223
235
|
val adapter = moshi.adapter(SMKitWorkoutConfig::class.java)
|
|
@@ -27,7 +27,10 @@ internal fun SMKitWorkoutConfig.toWorkoutConfig(): WorkoutConfig = WorkoutConfig
|
|
|
27
27
|
bodyZone = BodyZone.valueOf(bodyZone),
|
|
28
28
|
difficultyLevel = DifficultyLevel.valueOf(difficultyLevel),
|
|
29
29
|
workoutDuration = WorkoutDuration.valueOf(workoutDuration),
|
|
30
|
-
language =
|
|
30
|
+
language = when(language) {
|
|
31
|
+
"he" -> SMLanguage.Hebrew
|
|
32
|
+
else -> SMLanguage.English
|
|
33
|
+
} ,
|
|
31
34
|
)
|
|
32
35
|
|
|
33
36
|
internal fun SMKitWorkout.toSMWorkout(): SMWorkout = SMWorkout(
|
|
@@ -73,6 +76,7 @@ fun WorkoutSummaryData.toWFPSummary(): WFPSummary {
|
|
|
73
76
|
return WFPSummary(
|
|
74
77
|
userData = userData,
|
|
75
78
|
sessionId = sessionId,
|
|
79
|
+
langauge = language,
|
|
76
80
|
activityType = activityType,
|
|
77
81
|
startTime = startTime,
|
|
78
82
|
endTime = endTime,
|
|
@@ -23,6 +23,7 @@ class WorkoutSummarySerializer : JsonSerializer<WorkoutSummaryData> {
|
|
|
23
23
|
): JsonElement {
|
|
24
24
|
return JsonObject().apply {
|
|
25
25
|
add("workout_details", context.serialize(src.workoutConfig))
|
|
26
|
+
add("language", context.serialize(src.language))
|
|
26
27
|
add("user_data", context.serialize(src.userData))
|
|
27
28
|
add("session_id", context.serialize(src.sessionId))
|
|
28
29
|
add("type", context.serialize(src.activityType))
|
|
@@ -44,6 +45,7 @@ class WFPSummarySerializer : JsonSerializer<WFPSummary> {
|
|
|
44
45
|
): JsonElement {
|
|
45
46
|
return JsonObject().apply {
|
|
46
47
|
add("workout_details", context.serialize(src.workoutConfig))
|
|
48
|
+
add("language", context.serialize(src.langauge))
|
|
47
49
|
add("user_data", context.serialize(src.userData))
|
|
48
50
|
add("session_id", context.serialize(src.sessionId))
|
|
49
51
|
add("type", context.serialize(src.activityType))
|
|
@@ -132,7 +134,7 @@ class WFPExerciseDataSerializer : JsonSerializer<WFPExerciseData> {
|
|
|
132
134
|
add("pretty_name", context.serialize(src.prettyName))
|
|
133
135
|
add("exercise_id", context.serialize(src.exerciseId))
|
|
134
136
|
add("total_time", context.serialize(src.totalTime))
|
|
135
|
-
add("
|
|
137
|
+
add("scoring_params", context.serialize(src.scoringParamsData))
|
|
136
138
|
val strings = src.uiElements.map { it.name }
|
|
137
139
|
add("ui_elements", context.serialize(strings))
|
|
138
140
|
add("instruction_video", context.serialize(src.instructionVideo))
|
package/ios/SMKitUIManager.mm
CHANGED
|
@@ -7,4 +7,5 @@ RCT_EXTERN_METHOD(startAssessment:(NSString*)type showSummary:(BOOL)showSummary
|
|
|
7
7
|
RCT_EXTERN_METHOD(startCustomWorkout:(NSString*)rawJson onWorkoutDidFinish:(RCTPromiseResolveBlock)onWorkoutDidFinish onWorkoutFailed:(RCTPromiseRejectBlock)onWorkoutFailed)
|
|
8
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
|
+
RCT_EXTERN_METHOD(setSessionLanguge:(NSString*)languge)
|
|
10
11
|
@end
|
package/ios/SMKitUIManager.swift
CHANGED
|
@@ -4,291 +4,302 @@ import SMBase
|
|
|
4
4
|
|
|
5
5
|
@objc(SMKitUIManager)
|
|
6
6
|
class SMKitUIManager: RCTViewManager {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
|
|
8
|
+
var onWorkoutDidFinish:RCTPromiseResolveBlock?
|
|
9
|
+
var onWorkoutFailed:RCTPromiseRejectBlock?
|
|
10
|
+
|
|
11
|
+
var summaryData:WorkoutSummaryData?
|
|
12
|
+
var didCompleteWorkout = false
|
|
13
|
+
|
|
14
|
+
var didReciveSummary = false{
|
|
15
|
+
didSet{
|
|
16
|
+
if didReciveSummary && workoutDidEnd{
|
|
17
|
+
sendResult()
|
|
18
|
+
}
|
|
19
|
+
}
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
|
|
22
|
+
var workoutDidEnd = false{
|
|
23
|
+
didSet{
|
|
24
|
+
if didReciveSummary && workoutDidEnd{
|
|
25
|
+
sendResult()
|
|
26
|
+
}
|
|
27
|
+
}
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
|
|
30
|
+
var smkitUIViewController:UIViewController?{
|
|
31
|
+
let keyWindow = UIApplication.shared.windows.filter {$0.isKeyWindow}.first
|
|
32
|
+
if var topController = keyWindow?.rootViewController {
|
|
33
|
+
while let presentedViewController = topController.presentedViewController {
|
|
34
|
+
topController = presentedViewController
|
|
35
|
+
}
|
|
36
|
+
return topController
|
|
37
|
+
}
|
|
38
|
+
return nil
|
|
37
39
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
40
|
+
|
|
41
|
+
@objc(configure:onSuccess:onFailure:)
|
|
42
|
+
func configure(key:NSString, onSuccess: @escaping RCTPromiseResolveBlock,onFailure:@escaping RCTPromiseRejectBlock) -> Void {
|
|
43
|
+
var isConfigDone = false
|
|
44
|
+
var didFail = false
|
|
45
|
+
SMKitUIModel.configure(authKey: "\(key)") {
|
|
46
|
+
if !isConfigDone{
|
|
47
|
+
isConfigDone = true
|
|
48
|
+
onSuccess("")
|
|
49
|
+
}
|
|
50
|
+
} onFailure: { err in
|
|
51
|
+
if !didFail{
|
|
52
|
+
didFail = true
|
|
53
|
+
onFailure("Configure Failed", err?.localizedDescription ?? "", err)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
57
|
+
|
|
58
|
+
@objc(startAssessment:showSummary:userData:forceShowUserDataScreen:customAssessmentID:onWorkoutDidFinish:onWorkoutFailed:)
|
|
59
|
+
func startAssessment(type:NSString, showSummary:Bool, userData:NSString?, forceShowUserDataScreen:Bool, customAssessmentID:String?, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
60
|
+
DispatchQueue.main.async {[weak self] in
|
|
61
|
+
|
|
62
|
+
guard let self = self,
|
|
63
|
+
let smkitUIViewController = smkitUIViewController else {
|
|
64
|
+
onWorkoutFailed("StartAssessment Failed", "Failed to present view", nil)
|
|
65
|
+
return
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
69
|
+
self.onWorkoutFailed = onWorkoutFailed
|
|
70
|
+
|
|
71
|
+
do{
|
|
72
|
+
let userData = try self.getUserData(rawJson: userData)
|
|
73
|
+
if let type = AssessmentTypes(rawValue: "\(type)"){
|
|
74
|
+
try SMKitUIModel.startAssessmet(
|
|
75
|
+
viewController: smkitUIViewController,
|
|
76
|
+
type: type,
|
|
77
|
+
customAssessmentID:customAssessmentID == "" ? nil : customAssessmentID,
|
|
78
|
+
userData: userData,
|
|
79
|
+
forceShowUserDataScreen: forceShowUserDataScreen,
|
|
80
|
+
showSummary: showSummary,
|
|
81
|
+
delegate: self){error in
|
|
82
|
+
onWorkoutFailed("StartAssessment Failed", error.localizedDescription, error)
|
|
83
|
+
}
|
|
84
|
+
}else{
|
|
85
|
+
onWorkoutFailed("StartAssessment Failed", "Invalid type", nil)
|
|
86
|
+
}
|
|
87
|
+
}catch{
|
|
88
|
+
onWorkoutFailed("StartAssessment Failed", error.localizedDescription, error)
|
|
83
89
|
}
|
|
84
|
-
}else{
|
|
85
|
-
onWorkoutFailed("StartAssessment Failed", "Invalid type", nil)
|
|
86
90
|
}
|
|
87
|
-
}catch{
|
|
88
|
-
onWorkoutFailed("StartAssessment Failed", error.localizedDescription, error)
|
|
89
|
-
}
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
92
|
+
|
|
93
|
+
@objc(startCustomWorkout:onWorkoutDidFinish:onWorkoutFailed:)
|
|
94
|
+
func startCustomWorkout(rawJson:String, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
95
|
+
DispatchQueue.main.async {[weak self] in
|
|
96
|
+
|
|
97
|
+
guard let self = self,
|
|
98
|
+
let smkitUIViewController = smkitUIViewController else {
|
|
99
|
+
onWorkoutFailed("StartCustomWorkout Failed", "Failed to present view", nil)
|
|
100
|
+
return
|
|
101
|
+
}
|
|
102
|
+
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
103
|
+
self.onWorkoutFailed = onWorkoutFailed
|
|
104
|
+
do{
|
|
105
|
+
let json = try stringJsonToDic(stringJSON: rawJson)
|
|
106
|
+
let workout = try SMWorkout(FromJson: json)
|
|
107
|
+
try SMKitUIModel.startWorkout(viewController: smkitUIViewController, workout: workout, delegate: self)
|
|
108
|
+
}catch{
|
|
109
|
+
onWorkoutFailed("StartCustomWorkout Failed", error.localizedDescription, error)
|
|
110
|
+
}
|
|
111
|
+
}
|
|
111
112
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
113
|
+
|
|
114
|
+
@objc(startCustomAssessment:userData:forceShowUserDataScreen:showSummary:onWorkoutDidFinish:onWorkoutFailed:)
|
|
115
|
+
func startCustomAssessment(rawJson:String, userData:NSString?, forceShowUserDataScreen:Bool, showSummary:Bool, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
116
|
+
DispatchQueue.main.async { [weak self] in
|
|
117
|
+
guard let self = self,
|
|
118
|
+
let smkitUIViewController = smkitUIViewController else {
|
|
119
|
+
onWorkoutFailed("startCustomAssessment Failed", "Failed to present view", nil)
|
|
120
|
+
return
|
|
121
|
+
}
|
|
122
|
+
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
123
|
+
self.onWorkoutFailed = onWorkoutFailed
|
|
124
|
+
|
|
125
|
+
do{
|
|
126
|
+
let userData = try self.getUserData(rawJson: userData)
|
|
127
|
+
let json = try stringJsonToDic(stringJSON: rawJson)
|
|
128
|
+
let assessment = try SMWorkoutAssessment.initFromJSON(json)
|
|
129
|
+
try SMKitUIModel.startCustomAssessment(viewController: smkitUIViewController, assessment: assessment, userData:userData, forceShowUserDataScreen: forceShowUserDataScreen, showSummary: showSummary, delegate: self) { error in
|
|
130
|
+
onWorkoutFailed("startCustomAssessment Failed", error.localizedDescription, error)
|
|
131
|
+
}
|
|
132
|
+
}catch{
|
|
133
|
+
onWorkoutFailed("startCustomAssessment Failed", error.localizedDescription, error)
|
|
134
|
+
}
|
|
131
135
|
}
|
|
132
|
-
}catch{
|
|
133
|
-
onWorkoutFailed("startCustomAssessment Failed", error.localizedDescription, error)
|
|
134
|
-
}
|
|
135
136
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
137
|
+
|
|
138
|
+
@objc(startWorkoutProgram:onWorkoutDidFinish:onWorkoutFailed:)
|
|
139
|
+
func startWorkoutProgram(rawJson:String, onWorkoutDidFinish: @escaping RCTPromiseResolveBlock, onWorkoutFailed:@escaping RCTPromiseRejectBlock){
|
|
140
|
+
self.onWorkoutDidFinish = onWorkoutDidFinish
|
|
141
|
+
self.onWorkoutFailed = onWorkoutFailed
|
|
142
|
+
|
|
143
|
+
DispatchQueue.main.async { [weak self] in
|
|
144
|
+
guard let self = self,
|
|
145
|
+
let smkitUIViewController = smkitUIViewController else {
|
|
146
|
+
onWorkoutFailed("StartWorkoutProgram Failed", "Failed to present view", nil)
|
|
147
|
+
return
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
guard let json = try? stringJsonToDic(stringJSON: rawJson),
|
|
151
|
+
let week = json["week"] as? Int,
|
|
152
|
+
let zone = json["bodyZone"] as? String,
|
|
153
|
+
let difficultyLevelRaw = json["difficultyLevel"] as? String,
|
|
154
|
+
let workoutDurationRaw = json["workoutDuration"] as? String,
|
|
155
|
+
let rawLanguage = json["language"] as? String,
|
|
156
|
+
let programID = json["programID"] as? String,
|
|
157
|
+
let bodyZone = BodyZone(rawValue: zone),
|
|
158
|
+
let difficultyLevel = WorkoutDifficulty(rawValue: difficultyLevelRaw),
|
|
159
|
+
let workoutDuration = WorkoutDuration(rawValue: workoutDurationRaw),
|
|
160
|
+
let language:SencySupportedLanguage = SencySupportedLanguage(rawValue: rawLanguage)
|
|
161
|
+
else {
|
|
162
|
+
onWorkoutFailed("StartWorkoutProgram Failed", "Invalid Workout Config", nil)
|
|
163
|
+
return
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
let config = WorkoutConfig(
|
|
167
|
+
week: week,
|
|
168
|
+
bodyZone: bodyZone,
|
|
169
|
+
difficultyLevel: difficultyLevel,
|
|
170
|
+
workoutDuration: workoutDuration,
|
|
171
|
+
language: language,
|
|
172
|
+
programID: programID
|
|
173
|
+
)
|
|
174
|
+
|
|
175
|
+
SMKitUIModel.startWorkoutFromProgram(viewController: smkitUIViewController, workoutConfig: config, delegate: self) { error in
|
|
176
|
+
onWorkoutFailed("StartWorkoutProgram Failed", error.localizedDescription, error)
|
|
177
|
+
}
|
|
178
|
+
}
|
|
175
179
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
180
|
+
|
|
181
|
+
@objc(setSessionLanguge:)
|
|
182
|
+
func setSessionLanguge(languge:String){
|
|
183
|
+
let lang = SencySupportedLanguage(rawValue: languge) ?? .English
|
|
184
|
+
SMKitUIModel.setSessionLanguge(languge: lang)
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
private func stringJsonToDic(stringJSON:String) throws -> [String:Any]{
|
|
188
|
+
guard let data = stringJSON.data(using: .utf8),
|
|
189
|
+
let json = try JSONSerialization.jsonObject(with: data) as? [String:Any]
|
|
190
|
+
else { return [:] }
|
|
191
|
+
return json
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
override class func requiresMainQueueSetup() -> Bool {
|
|
196
|
+
true
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
func getUserData(rawJson:NSString?) throws -> UserData?{
|
|
200
|
+
guard let rawJson = rawJson as? String else { return nil }
|
|
201
|
+
let json = try stringJsonToDic(stringJSON: rawJson)
|
|
202
|
+
return UserData(
|
|
203
|
+
gender: Gender(rawValue: json["gender"] as? String ?? "") ?? .Female,
|
|
204
|
+
birthday: getBirthdayDate(from: json["age"] as? Int ?? 0) ?? Date()
|
|
205
|
+
)
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
func getBirthdayDate(from age: Int) -> Date? {
|
|
209
|
+
// Create a date components instance to subtract years
|
|
210
|
+
var dateComponents = DateComponents()
|
|
211
|
+
dateComponents.year = -age
|
|
212
|
+
|
|
213
|
+
// Use the current calendar and current date to calculate the birth date
|
|
214
|
+
let calendar = Calendar.current
|
|
215
|
+
if let birthDate = calendar.date(byAdding: dateComponents, to: Date()) {
|
|
216
|
+
return birthDate
|
|
217
|
+
}
|
|
218
|
+
return nil
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
func reset(){
|
|
222
|
+
summaryData = nil
|
|
223
|
+
didReciveSummary = false
|
|
224
|
+
workoutDidEnd = false
|
|
225
|
+
didCompleteWorkout = false
|
|
206
226
|
}
|
|
207
|
-
return nil
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
func reset(){
|
|
211
|
-
summaryData = nil
|
|
212
|
-
didReciveSummary = false
|
|
213
|
-
workoutDidEnd = false
|
|
214
|
-
didCompleteWorkout = false
|
|
215
|
-
}
|
|
216
227
|
}
|
|
217
228
|
|
|
218
229
|
extension SMKitUIManager:SMKitUIWorkoutDelegate{
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
func workoutDidFinish() {
|
|
224
|
-
didCompleteWorkout = true
|
|
225
|
-
workoutDidEnd = true
|
|
226
|
-
|
|
227
|
-
SMKitUIModel.exitSDK()
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
func didExitWorkout() {
|
|
231
|
-
didCompleteWorkout = false
|
|
232
|
-
workoutDidEnd = true
|
|
233
|
-
|
|
234
|
-
SMKitUIModel.exitSDK()
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
func sendResult(){
|
|
238
|
-
guard let onWorkoutDidFinish = self.onWorkoutDidFinish else {
|
|
239
|
-
onWorkoutFailed?("Unable to create summary", "Missing callback" , nil)
|
|
240
|
-
return
|
|
230
|
+
func handleWorkoutErrors(error: any Error) {
|
|
231
|
+
onWorkoutFailed?("Workout Exercise Error", error.localizedDescription, error)
|
|
241
232
|
}
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
233
|
+
|
|
234
|
+
func workoutDidFinish() {
|
|
235
|
+
didCompleteWorkout = true
|
|
236
|
+
workoutDidEnd = true
|
|
237
|
+
|
|
238
|
+
SMKitUIModel.exitSDK()
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
func didExitWorkout() {
|
|
242
|
+
didCompleteWorkout = false
|
|
243
|
+
workoutDidEnd = true
|
|
244
|
+
|
|
245
|
+
SMKitUIModel.exitSDK()
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
func sendResult(){
|
|
249
|
+
guard let onWorkoutDidFinish = self.onWorkoutDidFinish else {
|
|
250
|
+
onWorkoutFailed?("Unable to create summary", "Missing callback" , nil)
|
|
251
|
+
return
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
do{
|
|
255
|
+
let result:[String:Any] = [
|
|
256
|
+
"summary": try summaryData?.toStringJson() ?? "",
|
|
257
|
+
"didFinish": didCompleteWorkout
|
|
258
|
+
]
|
|
259
|
+
onWorkoutDidFinish(result)
|
|
260
|
+
reset()
|
|
261
|
+
}catch{
|
|
262
|
+
onWorkoutFailed?("Unable to create summary", error.localizedDescription, error as NSError)
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
func exerciseDidFinish(data: ExerciseData) {
|
|
267
|
+
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
func didReceiveSummaryData(data: WorkoutSummaryData?) {
|
|
271
|
+
summaryData = data;
|
|
272
|
+
didReciveSummary = true
|
|
252
273
|
}
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
func exerciseDidFinish(data: ExerciseData) {
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
func didReceiveSummaryData(data: WorkoutSummaryData?) {
|
|
260
|
-
summaryData = data;
|
|
261
|
-
didReciveSummary = true
|
|
262
|
-
}
|
|
263
274
|
}
|
|
264
275
|
|
|
265
276
|
extension WorkoutSummaryData{
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
277
|
+
func json() throws -> String{
|
|
278
|
+
let jsonEncoder = JSONEncoder()
|
|
279
|
+
let jsonData = try jsonEncoder.encode(self)
|
|
280
|
+
return String(data: jsonData, encoding: String.Encoding.utf8) ?? ""
|
|
281
|
+
}
|
|
271
282
|
}
|
|
272
283
|
|
|
273
284
|
extension SMWorkoutAssessment{
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
285
|
+
static func initFromJSON(_ json: [String:Any]) throws -> SMWorkoutAssessment{
|
|
286
|
+
var assessmentsExercises:[SMAssessmentExercise] = []
|
|
287
|
+
|
|
288
|
+
if let exercise = json["exercises"] as? [[String:Any]] {
|
|
289
|
+
try exercise.forEach({
|
|
290
|
+
try assessmentsExercises.append(SMAssessmentExercise(FromJson: $0))
|
|
291
|
+
})
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
return SMWorkoutAssessment(
|
|
295
|
+
id: json["id"] as? String,
|
|
296
|
+
name: json["name"] as? String,
|
|
297
|
+
workoutIntro: json["workoutIntro"] as? String,
|
|
298
|
+
soundtrack: json["soundtrack"] as? String,
|
|
299
|
+
assessmentsExercises: assessmentsExercises,
|
|
300
|
+
getInFrame: json["getInFrame"] as? String,
|
|
301
|
+
bodycalFinished: json["bodycalFinished"] as? String,
|
|
302
|
+
workoutClosure: json["workoutClosure"] as? String
|
|
303
|
+
)
|
|
281
304
|
}
|
|
282
|
-
|
|
283
|
-
return SMWorkoutAssessment(
|
|
284
|
-
id: json["id"] as? String,
|
|
285
|
-
name: json["name"] as? String,
|
|
286
|
-
workoutIntro: json["workoutIntro"] as? String,
|
|
287
|
-
soundtrack: json["soundtrack"] as? String,
|
|
288
|
-
assessmentsExercises: assessmentsExercises,
|
|
289
|
-
getInFrame: json["getInFrame"] as? String,
|
|
290
|
-
bodycalFinished: json["bodycalFinished"] as? String,
|
|
291
|
-
workoutClosure: json["workoutClosure"] as? String
|
|
292
|
-
)
|
|
293
|
-
}
|
|
294
|
-
}
|
|
305
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
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;
|
|
6
|
+
exports.WorkoutDuration = exports.WorkoutDifficulty = exports.WorkoutConfig = exports.UserData = exports.UIElement = exports.ScoringType = exports.SMWorkout = exports.SMScoringParams = exports.SMExercise = exports.SMAssessmentExercise = exports.Language = exports.Gender = exports.BodyZone = exports.AssessmentTypes = void 0;
|
|
7
7
|
/**
|
|
8
8
|
* Enum representing assessment types.
|
|
9
9
|
* @enum {string}
|
|
@@ -73,6 +73,11 @@ let Gender = exports.Gender = /*#__PURE__*/function (Gender) {
|
|
|
73
73
|
Gender["Other"] = "Rather not say";
|
|
74
74
|
return Gender;
|
|
75
75
|
}({});
|
|
76
|
+
let Language = exports.Language = /*#__PURE__*/function (Language) {
|
|
77
|
+
Language["English"] = "en";
|
|
78
|
+
Language["Hebrew"] = "he";
|
|
79
|
+
return Language;
|
|
80
|
+
}({});
|
|
76
81
|
/**
|
|
77
82
|
* Class representing a workout.
|
|
78
83
|
*/
|
|
@@ -206,14 +211,16 @@ class WorkoutConfig {
|
|
|
206
211
|
* @param {BodyZone} bodyZone - Targeted body zone for the workout.
|
|
207
212
|
* @param {WorkoutDifficulty} difficultyLevel - Difficulty level of the workout.
|
|
208
213
|
* @param {WorkoutDuration} workoutDuration - Duration of the workout.
|
|
214
|
+
* @param {Language} language - The session language
|
|
209
215
|
* @param {string} programID - Unique identifier for the workout program.
|
|
210
216
|
*/
|
|
211
217
|
|
|
212
|
-
constructor(week, bodyZone, difficultyLevel, workoutDuration, programID) {
|
|
218
|
+
constructor(week, bodyZone, difficultyLevel, workoutDuration, language, programID) {
|
|
213
219
|
this.week = week;
|
|
214
220
|
this.bodyZone = bodyZone;
|
|
215
221
|
this.difficultyLevel = difficultyLevel;
|
|
216
222
|
this.workoutDuration = workoutDuration;
|
|
223
|
+
this.language = language;
|
|
217
224
|
this.programID = programID;
|
|
218
225
|
}
|
|
219
226
|
toJson() {
|
|
@@ -222,6 +229,7 @@ class WorkoutConfig {
|
|
|
222
229
|
bodyZone: this.bodyZone,
|
|
223
230
|
difficultyLevel: this.difficultyLevel,
|
|
224
231
|
workoutDuration: this.workoutDuration,
|
|
232
|
+
language: this.language,
|
|
225
233
|
programID: this.programID
|
|
226
234
|
});
|
|
227
235
|
}
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;AAAA;AACA;AACA;AACA;AAHA,IAIYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAM3B;AACA;AACA;AACA;AAHA,IAIYE,SAAS,GAAAD,OAAA,CAAAC,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAMrB;AACA;AACA;AACA;AAHA,IAIYC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;AAMpB;AACA;AACA;AACA;AAHA,IAIYC,iBAAiB,GAAAH,OAAA,CAAAG,iBAAA,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;AAM7B;AACA;AACA;AACA;AAHA,IAIYC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAK3B;AACA;AACA;AACA;AAHA,IAIYC,WAAW,GAAAL,OAAA,CAAAK,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAMvB;AACA;AACA;AACA;AAHA,IAIYC,MAAM,GAAAN,OAAA,CAAAM,MAAA,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA;
|
|
1
|
+
{"version":3,"names":["AssessmentTypes","exports","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","Gender","Language","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","language","programID","UserData","gender","age"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.configure = configure;
|
|
7
|
+
exports.setSessionLanguge = setSessionLanguge;
|
|
7
8
|
exports.startAssessment = startAssessment;
|
|
8
9
|
exports.startCustomAssessment = startCustomAssessment;
|
|
9
10
|
exports.startCustomWorkout = startCustomWorkout;
|
|
@@ -73,4 +74,12 @@ function startCustomAssessment(assessment, userData, forceShowUserDataScreen = f
|
|
|
73
74
|
function startWorkoutProgram(workoutConfig) {
|
|
74
75
|
return SMKitUIManager.startWorkoutProgram(workoutConfig.toJson());
|
|
75
76
|
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Sets a text language for the current workout session
|
|
80
|
+
* @param {SMWorkoutLibrary} language - The language that you would like to set.
|
|
81
|
+
*/
|
|
82
|
+
function setSessionLanguge(language) {
|
|
83
|
+
SMKitUIManager.setSessionLanguge(language);
|
|
84
|
+
}
|
|
76
85
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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":"
|
|
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","setSessionLanguge","language"],"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;;AAEL;AACA;AACA;AACA;AACO,SAASU,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAON,cAAc,CAACK,SAAS,CAACC,GAAG,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,kBAAkBA,CAChCC,OAAmC,EACe;EAClD,OAAOf,cAAc,CAACc,kBAAkB,CAACC,OAAO,CAACF,MAAM,CAAC,CAAC,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,mBAAmBA,CACjCC,aAA6C,EACK;EAClD,OAAOnB,cAAc,CAACkB,mBAAmB,CAACC,aAAa,CAACN,MAAM,CAAC,CAAC,CAAC;AACnE;;AAEA;AACA;AACA;AACA;AACO,SAASO,iBAAiBA,CAACC,QAAmC,EAAE;EACrErB,cAAc,CAACoB,iBAAiB,CAACC,QAAQ,CAAC;AAC5C","ignoreList":[]}
|
package/lib/module/SMWorkout.js
CHANGED
|
@@ -73,6 +73,11 @@ export let Gender = /*#__PURE__*/function (Gender) {
|
|
|
73
73
|
Gender["Other"] = "Rather not say";
|
|
74
74
|
return Gender;
|
|
75
75
|
}({});
|
|
76
|
+
export let Language = /*#__PURE__*/function (Language) {
|
|
77
|
+
Language["English"] = "en";
|
|
78
|
+
Language["Hebrew"] = "he";
|
|
79
|
+
return Language;
|
|
80
|
+
}({});
|
|
76
81
|
|
|
77
82
|
/**
|
|
78
83
|
* Class representing a workout.
|
|
@@ -203,14 +208,16 @@ export class WorkoutConfig {
|
|
|
203
208
|
* @param {BodyZone} bodyZone - Targeted body zone for the workout.
|
|
204
209
|
* @param {WorkoutDifficulty} difficultyLevel - Difficulty level of the workout.
|
|
205
210
|
* @param {WorkoutDuration} workoutDuration - Duration of the workout.
|
|
211
|
+
* @param {Language} language - The session language
|
|
206
212
|
* @param {string} programID - Unique identifier for the workout program.
|
|
207
213
|
*/
|
|
208
214
|
|
|
209
|
-
constructor(week, bodyZone, difficultyLevel, workoutDuration, programID) {
|
|
215
|
+
constructor(week, bodyZone, difficultyLevel, workoutDuration, language, programID) {
|
|
210
216
|
this.week = week;
|
|
211
217
|
this.bodyZone = bodyZone;
|
|
212
218
|
this.difficultyLevel = difficultyLevel;
|
|
213
219
|
this.workoutDuration = workoutDuration;
|
|
220
|
+
this.language = language;
|
|
214
221
|
this.programID = programID;
|
|
215
222
|
}
|
|
216
223
|
toJson() {
|
|
@@ -219,6 +226,7 @@ export class WorkoutConfig {
|
|
|
219
226
|
bodyZone: this.bodyZone,
|
|
220
227
|
difficultyLevel: this.difficultyLevel,
|
|
221
228
|
workoutDuration: this.workoutDuration,
|
|
229
|
+
language: this.language,
|
|
222
230
|
programID: this.programID
|
|
223
231
|
});
|
|
224
232
|
}
|
|
@@ -1 +1 @@
|
|
|
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":"AAAA;AACA;AACA;AACA;AACA,WAAYA,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;;AAM3B;AACA;AACA;AACA;AACA,WAAYC,SAAS,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;;AAMrB;AACA;AACA;AACA;AACA,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA;;AAMpB;AACA;AACA;AACA;AACA,WAAYC,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA;;AAM7B;AACA;AACA;AACA;AACA,WAAYC,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;;AAK3B;AACA;AACA;AACA;AACA,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;;AAMvB;AACA;AACA;AACA;AACA,WAAYC,MAAM,0BAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAANA,MAAM;EAAA,OAANA,MAAM;AAAA
|
|
1
|
+
{"version":3,"names":["AssessmentTypes","UIElement","BodyZone","WorkoutDifficulty","WorkoutDuration","ScoringType","Gender","Language","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","language","programID","UserData","gender","age"],"sourceRoot":"../../src","sources":["SMWorkout.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -63,4 +63,12 @@ export function startCustomAssessment(assessment, userData, forceShowUserDataScr
|
|
|
63
63
|
export function startWorkoutProgram(workoutConfig) {
|
|
64
64
|
return SMKitUIManager.startWorkoutProgram(workoutConfig.toJson());
|
|
65
65
|
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Sets a text language for the current workout session
|
|
69
|
+
* @param {SMWorkoutLibrary} language - The language that you would like to set.
|
|
70
|
+
*/
|
|
71
|
+
export function setSessionLanguge(language) {
|
|
72
|
+
SMKitUIManager.setSessionLanguge(language);
|
|
73
|
+
}
|
|
66
74
|
//# sourceMappingURL=index.js.map
|
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","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,
|
|
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","setSessionLanguge","language"],"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;AACA;AACA;AACA;AACA,OAAO,SAASQ,SAASA,CAACC,GAAW,EAAmB;EACtD,OAAOL,cAAc,CAACI,SAAS,CAACC,GAAG,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,kBAAkBA,CAChCC,OAAmC,EACe;EAClD,OAAOd,cAAc,CAACa,kBAAkB,CAACC,OAAO,CAACF,MAAM,CAAC,CAAC,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,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;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,mBAAmBA,CACjCC,aAA6C,EACK;EAClD,OAAOlB,cAAc,CAACiB,mBAAmB,CAACC,aAAa,CAACN,MAAM,CAAC,CAAC,CAAC;AACnE;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASO,iBAAiBA,CAACC,QAAmC,EAAE;EACrEpB,cAAc,CAACmB,iBAAiB,CAACC,QAAQ,CAAC;AAC5C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../example/src/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAuBnD,QAAA,MAAM,GAAG,yBAwcR,CAAC;AA8KF,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const EditText: ({ placeholder, value, onChangeText, editable }: {
|
|
3
|
+
placeholder?: string | undefined;
|
|
4
|
+
value?: string | undefined;
|
|
5
|
+
onChangeText?: ((_text: string) => void) | undefined;
|
|
6
|
+
editable?: boolean | undefined;
|
|
7
|
+
}) => React.JSX.Element;
|
|
8
|
+
export default EditText;
|
|
9
|
+
//# sourceMappingURL=EditText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EditText.d.ts","sourceRoot":"","sources":["../../../../../example/src/components/EditText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,QAAA,MAAM,QAAQ;;;4BAA2D,MAAM;;uBAa9E,CAAC;AAkBF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const ThreeCheckboxes: ({ list, onPress }: {
|
|
3
|
+
list?: string[] | undefined;
|
|
4
|
+
onPress?: ((_index: number) => void) | undefined;
|
|
5
|
+
}) => React.JSX.Element;
|
|
6
|
+
export default ThreeCheckboxes;
|
|
7
|
+
//# sourceMappingURL=ThreeCheckboxes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThreeCheckboxes.d.ts","sourceRoot":"","sources":["../../../../../example/src/components/ThreeCheckboxes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,QAAA,MAAM,eAAe;;wBAAsC,MAAM;uBAsBhE,CAAA;AA8BD,eAAe,eAAe,CAAC"}
|
|
@@ -60,6 +60,10 @@ export declare enum Gender {
|
|
|
60
60
|
Male = "Male",
|
|
61
61
|
Other = "Rather not say"
|
|
62
62
|
}
|
|
63
|
+
export declare enum Language {
|
|
64
|
+
English = "en",
|
|
65
|
+
Hebrew = "he"
|
|
66
|
+
}
|
|
63
67
|
/**
|
|
64
68
|
* Class representing a workout.
|
|
65
69
|
*/
|
|
@@ -162,14 +166,16 @@ export declare class WorkoutConfig {
|
|
|
162
166
|
* @param {BodyZone} bodyZone - Targeted body zone for the workout.
|
|
163
167
|
* @param {WorkoutDifficulty} difficultyLevel - Difficulty level of the workout.
|
|
164
168
|
* @param {WorkoutDuration} workoutDuration - Duration of the workout.
|
|
169
|
+
* @param {Language} language - The session language
|
|
165
170
|
* @param {string} programID - Unique identifier for the workout program.
|
|
166
171
|
*/
|
|
167
172
|
week: number;
|
|
168
173
|
bodyZone: BodyZone;
|
|
169
174
|
difficultyLevel: WorkoutDifficulty;
|
|
170
175
|
workoutDuration: WorkoutDuration;
|
|
176
|
+
language: Language;
|
|
171
177
|
programID: string;
|
|
172
|
-
constructor(week: number, bodyZone: BodyZone, difficultyLevel: WorkoutDifficulty, workoutDuration: WorkoutDuration, programID: string);
|
|
178
|
+
constructor(week: number, bodyZone: BodyZone, difficultyLevel: WorkoutDifficulty, workoutDuration: WorkoutDuration, language: Language, programID: string);
|
|
173
179
|
toJson(): string;
|
|
174
180
|
}
|
|
175
181
|
/**
|
|
@@ -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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"}
|
|
@@ -51,4 +51,9 @@ export declare function startWorkoutProgram(workoutConfig: SMWorkoutLibrary.Work
|
|
|
51
51
|
summary: string;
|
|
52
52
|
didFinish: boolean;
|
|
53
53
|
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Sets a text language for the current workout session
|
|
56
|
+
* @param {SMWorkoutLibrary} language - The language that you would like to set.
|
|
57
|
+
*/
|
|
58
|
+
export declare function setSessionLanguge(language: SMWorkoutLibrary.Language): void;
|
|
54
59
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,kBAAkB,CAAC;AAmBrD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,CAAC,eAAe,EACtC,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,gBAAgB,MAAM,kBAAkB,CAAC;AAmBrD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtD;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,CAAC,eAAe,EACtC,WAAW,EAAE,OAAO,YAAO,EAC3B,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,GAAG,IAAI,EAC1C,uBAAuB,EAAE,OAAO,YAAQ,EACxC,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAQlD;AAED;;;;;GAKG;AACH,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;;;;;;;;GAQG;AACH,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;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,gBAAgB,CAAC,aAAa,GAC5C,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAElD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,QAEpE"}
|
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.3.
|
|
18
|
+
s.dependency "SMKitUI" ,'0.3.2'
|
|
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
|
@@ -67,6 +67,11 @@ export enum Gender {
|
|
|
67
67
|
Other = 'Rather not say',
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
export enum Language {
|
|
71
|
+
English = 'en',
|
|
72
|
+
Hebrew = 'he',
|
|
73
|
+
}
|
|
74
|
+
|
|
70
75
|
/**
|
|
71
76
|
* Class representing a workout.
|
|
72
77
|
*/
|
|
@@ -271,12 +276,14 @@ export class WorkoutConfig {
|
|
|
271
276
|
* @param {BodyZone} bodyZone - Targeted body zone for the workout.
|
|
272
277
|
* @param {WorkoutDifficulty} difficultyLevel - Difficulty level of the workout.
|
|
273
278
|
* @param {WorkoutDuration} workoutDuration - Duration of the workout.
|
|
279
|
+
* @param {Language} language - The session language
|
|
274
280
|
* @param {string} programID - Unique identifier for the workout program.
|
|
275
281
|
*/
|
|
276
282
|
week: number;
|
|
277
283
|
bodyZone: BodyZone;
|
|
278
284
|
difficultyLevel: WorkoutDifficulty;
|
|
279
285
|
workoutDuration: WorkoutDuration;
|
|
286
|
+
language: Language;
|
|
280
287
|
programID: string;
|
|
281
288
|
|
|
282
289
|
constructor(
|
|
@@ -284,12 +291,14 @@ export class WorkoutConfig {
|
|
|
284
291
|
bodyZone: BodyZone,
|
|
285
292
|
difficultyLevel: WorkoutDifficulty,
|
|
286
293
|
workoutDuration: WorkoutDuration,
|
|
294
|
+
language: Language,
|
|
287
295
|
programID: string
|
|
288
296
|
) {
|
|
289
297
|
this.week = week;
|
|
290
298
|
this.bodyZone = bodyZone;
|
|
291
299
|
this.difficultyLevel = difficultyLevel;
|
|
292
300
|
this.workoutDuration = workoutDuration;
|
|
301
|
+
this.language = language;
|
|
293
302
|
this.programID = programID;
|
|
294
303
|
}
|
|
295
304
|
|
|
@@ -299,7 +308,8 @@ export class WorkoutConfig {
|
|
|
299
308
|
bodyZone: this.bodyZone,
|
|
300
309
|
difficultyLevel: this.difficultyLevel,
|
|
301
310
|
workoutDuration: this.workoutDuration,
|
|
302
|
-
|
|
311
|
+
language: this.language,
|
|
312
|
+
programID: this.programID,
|
|
303
313
|
});
|
|
304
314
|
}
|
|
305
315
|
}
|
package/src/index.tsx
CHANGED
|
@@ -98,3 +98,11 @@ export function startWorkoutProgram(
|
|
|
98
98
|
): Promise<{ summary: string; didFinish: boolean }> {
|
|
99
99
|
return SMKitUIManager.startWorkoutProgram(workoutConfig.toJson());
|
|
100
100
|
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Sets a text language for the current workout session
|
|
104
|
+
* @param {SMWorkoutLibrary} language - The language that you would like to set.
|
|
105
|
+
*/
|
|
106
|
+
export function setSessionLanguge(language: SMWorkoutLibrary.Language) {
|
|
107
|
+
SMKitUIManager.setSessionLanguge(language);
|
|
108
|
+
}
|