@sency/react-native-smkit-ui 0.2.6 → 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.
@@ -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.4") {
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,6 +1,7 @@
1
1
  package com.smkituilibrary
2
2
 
3
3
  import android.util.Log
4
+ import com.facebook.react.bridge.Arguments
4
5
  import com.facebook.react.bridge.Promise
5
6
  import com.facebook.react.bridge.ReactApplicationContext
6
7
  import com.facebook.react.bridge.ReactContext
@@ -22,6 +23,7 @@ import com.sency.smkitui.model.WorkoutSummaryData
22
23
  import com.sency.smkitui.model.smkitui.Body360
23
24
  import com.sency.smkitui.model.smkitui.Custom
24
25
  import com.sency.smkitui.model.smkitui.Fitness
26
+ import com.sency.smkitui.model.workoutConfig.SMLanguage
25
27
  import com.sency.smkitui.model.workoutConfig.WorkoutConfigModel
26
28
  import com.smkituilibrary.mapper.toSMWorkout
27
29
  import com.smkituilibrary.mapper.toWFPSummary
@@ -53,7 +55,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
53
55
  private var resultPromise: Promise? = null
54
56
  private val moshi: Moshi by lazy { moshi() }
55
57
  private val gson: Gson by lazy { gson() }
56
- private var workoutFromProgram = false
58
+ private var compactJson = false
57
59
 
58
60
  override fun getName(): String = "SMKitUIManager"
59
61
 
@@ -68,7 +70,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
68
70
  override fun workoutDidFinish(summary: WorkoutSummaryData) {
69
71
  val params: WritableMap = WritableNativeMap()
70
72
  val summaryJson: String = try {
71
- if(workoutFromProgram) {
73
+ if(compactJson) {
72
74
  gson.toJson(summary.toWFPSummary())
73
75
  } else {
74
76
  gson.toJson(summary)
@@ -79,13 +81,18 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
79
81
  params.putString("summary", summaryJson)
80
82
  params.putBoolean("didFinish", true)
81
83
 
84
+ val result = Arguments.createMap().apply {
85
+ putString("summary", summaryJson)
86
+ putBoolean("didFinish", true)
87
+ }
88
+ resultPromise?.resolve(result)
82
89
  sendEvent(reactApplicationContext, "workoutDidFinish", params)
83
90
  }
84
91
 
85
92
  override fun didExitWorkout(summary: WorkoutSummaryData) {
86
93
  val params: WritableMap = WritableNativeMap()
87
94
  val summaryJson: String = try {
88
- if(workoutFromProgram) {
95
+ if(compactJson) {
89
96
  gson.toJson(summary.toWFPSummary())
90
97
  } else {
91
98
  gson.toJson(summary)
@@ -96,6 +103,11 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
96
103
  params.putString("summary", summaryJson)
97
104
  params.putBoolean("didFinish", false)
98
105
 
106
+ val result = Arguments.createMap().apply {
107
+ putString("summary", summaryJson)
108
+ putBoolean("didFinish", false)
109
+ }
110
+ resultPromise?.resolve(result)
99
111
  sendEvent(reactApplicationContext, "didExitWorkout", params)
100
112
  }
101
113
 
@@ -134,6 +146,16 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
134
146
  })
135
147
  }
136
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
+
137
159
  @ReactMethod
138
160
  fun startAssessment(
139
161
  type: String,
@@ -144,7 +166,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
144
166
  promise: Promise,
145
167
  ) {
146
168
  this.resultPromise = promise
147
- workoutFromProgram = false
169
+ compactJson = false
148
170
  try {
149
171
  val assessmentType = when (type) {
150
172
  "fitness" -> Fitness
@@ -167,9 +189,10 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
167
189
 
168
190
  @ReactMethod
169
191
  fun startCustomWorkout(jsonArguments: String, promise: Promise) {
170
- workoutFromProgram = false
192
+ compactJson = false
171
193
 
172
194
  try {
195
+ resultPromise = promise
173
196
  serializeWorkout(jsonArguments)?.let {
174
197
  smKitUI?.startCustomizedWorkout(workout = it, listener = listener)
175
198
  }
@@ -186,8 +209,9 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
186
209
  showSummary: Boolean,
187
210
  promise: Promise
188
211
  ) {
189
- workoutFromProgram = false
212
+ compactJson = true
190
213
  try {
214
+ resultPromise = promise
191
215
  serializeWorkout(assessmentJson)?.let {
192
216
  smKitUI?.startCustomizedAssessment(workout = it, showSummary = showSummary, listener = listener)
193
217
  }
@@ -205,7 +229,7 @@ class SmkitUiLibraryModule(reactContext: ReactApplicationContext) :
205
229
 
206
230
  @ReactMethod
207
231
  fun startWorkoutProgram(jsonArguments: String, promise: Promise) {
208
- workoutFromProgram = true
232
+ compactJson = true
209
233
  try {
210
234
  Log.d(TAG, "startWorkoutProgram: $jsonArguments")
211
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 = SMLanguage.English,
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,
@@ -9,4 +9,5 @@ internal data class SMKitWorkoutConfig(
9
9
  val difficultyLevel: String,
10
10
  val workoutDuration: String,
11
11
  val programID: String,
12
+ val language: String,
12
13
  )
@@ -10,6 +10,7 @@ import com.sency.smkitui.model.workoutConfig.WorkoutConfigModel
10
10
  data class WFPSummary(
11
11
  var userData: UserData,
12
12
  var sessionId: String,
13
+ var langauge: String,
13
14
  var activityType: String = "",
14
15
  var startTime: String = "",
15
16
  var endTime: String = "",
@@ -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("score_params", context.serialize(src.scoringParamsData))
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))
@@ -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
@@ -4,291 +4,302 @@ import SMBase
4
4
 
5
5
  @objc(SMKitUIManager)
6
6
  class SMKitUIManager: RCTViewManager {
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
- }
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
- var workoutDidEnd = false{
23
- didSet{
24
- if didReciveSummary && workoutDidEnd{
25
- sendResult()
26
- }
21
+
22
+ var workoutDidEnd = false{
23
+ didSet{
24
+ if didReciveSummary && workoutDidEnd{
25
+ sendResult()
26
+ }
27
+ }
27
28
  }
28
- }
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
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
- return nil
39
- }
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
- }
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
- @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)
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
- @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
- }
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
- @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)
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
- @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 programID = json["programID"] as? String,
156
- let bodyZone = BodyZone(rawValue: zone),
157
- let difficultyLevel = WorkoutDifficulty(rawValue: difficultyLevelRaw),
158
- let workoutDuration = WorkoutDuration(rawValue: workoutDurationRaw)
159
- else {
160
- onWorkoutFailed("StartWorkoutProgram Failed", "Invalid Workout Config", nil)
161
- return
162
- }
163
-
164
- let config = WorkoutConfig(
165
- week: week,
166
- bodyZone: bodyZone,
167
- difficultyLevel: difficultyLevel,
168
- workoutDuration: workoutDuration,
169
- programID: programID
170
- )
171
-
172
- SMKitUIModel.startWorkoutFromProgram(viewController: smkitUIViewController, workoutConfig: config, delegate: self) { error in
173
- onWorkoutFailed("StartWorkoutProgram Failed", error.localizedDescription, error)
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
- private func stringJsonToDic(stringJSON:String) throws -> [String:Any]{
178
- guard let data = stringJSON.data(using: .utf8),
179
- let json = try JSONSerialization.jsonObject(with: data) as? [String:Any]
180
- else { return [:] }
181
- return json
182
- }
183
-
184
- override class func requiresMainQueueSetup() -> Bool {
185
- true
186
- }
187
-
188
- func getUserData(rawJson:NSString?) throws -> UserData?{
189
- guard let rawJson = rawJson as? String else { return nil }
190
- let json = try stringJsonToDic(stringJSON: rawJson)
191
- return UserData(
192
- gender: Gender(rawValue: json["gender"] as? String ?? "") ?? .Female,
193
- birthday: getBirthdayDate(from: json["age"] as? Int ?? 0) ?? Date()
194
- )
195
- }
196
-
197
- func getBirthdayDate(from age: Int) -> Date? {
198
- // Create a date components instance to subtract years
199
- var dateComponents = DateComponents()
200
- dateComponents.year = -age
201
-
202
- // Use the current calendar and current date to calculate the birth date
203
- let calendar = Calendar.current
204
- if let birthDate = calendar.date(byAdding: dateComponents, to: Date()) {
205
- return birthDate
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
- func handleWorkoutErrors(error: any Error) {
220
- onWorkoutFailed?("Workout Exercise Error", error.localizedDescription, error)
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
- do{
244
- let result:[String:Any] = [
245
- "summary": try summaryData?.toStringJson() ?? "",
246
- "didFinish": didCompleteWorkout
247
- ]
248
- onWorkoutDidFinish(result)
249
- reset()
250
- }catch{
251
- onWorkoutFailed?("Unable to create summary", error.localizedDescription, error as NSError)
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
- func json() throws -> String{
267
- let jsonEncoder = JSONEncoder()
268
- let jsonData = try jsonEncoder.encode(self)
269
- return String(data: jsonData, encoding: String.Encoding.utf8) ?? ""
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
- static func initFromJSON(_ json: [String:Any]) throws -> SMWorkoutAssessment{
275
- var assessmentsExercises:[SMAssessmentExercise] = []
276
-
277
- if let exercise = json["exercises"] as? [[String:Any]] {
278
- try exercise.forEach({
279
- try assessmentsExercises.append(SMAssessmentExercise(FromJson: $0))
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":"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","ignoreList":[]}
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":[]}
@@ -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":";;;;;;;;;;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","ignoreList":[]}
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":[]}
@@ -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":"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","ignoreList":[]}
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":[]}
@@ -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
@@ -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,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","ignoreList":[]}
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":[]}
@@ -1 +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,yBAucR,CAAC;AA8KF,eAAe,GAAG,CAAC"}
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"}
@@ -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,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"}
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sency/react-native-smkit-ui",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
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.3.0'
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
- programID: this.programID
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
+ }