99 lines
2.7 KiB
Dart
99 lines
2.7 KiB
Dart
import 'dart:ui';
|
|
import 'dart:convert';
|
|
|
|
import 'package:workouttest_util/util/app_language.dart';
|
|
|
|
enum TutorialEnum { basic, development, training }
|
|
|
|
class TutorialStepAction {
|
|
late String direction;
|
|
late int top;
|
|
late int left;
|
|
late bool showBubble;
|
|
late int bubbleX;
|
|
late int bubbleY;
|
|
late int bubbleWidth;
|
|
late int bubbleHeight;
|
|
late bool showCheckText;
|
|
late int parent;
|
|
|
|
TutorialStepAction.fromJson(Map json) {
|
|
direction = json['direction'];
|
|
top = json['top'];
|
|
left = json['left'];
|
|
showBubble = json['show_bubble'];
|
|
bubbleX = json['bubble_x'];
|
|
bubbleY = json['bubble_y'];
|
|
bubbleWidth = json['bubble_width'];
|
|
bubbleHeight = json['bubble_height'];
|
|
showCheckText = json['show_check_text'];
|
|
parent = json['parent'];
|
|
}
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"direction": direction,
|
|
"top": top,
|
|
"left": left,
|
|
"showBubble": showBubble,
|
|
"bubbleX": bubbleX,
|
|
"bubbleY": bubbleY,
|
|
"bubbleWidth": bubbleWidth,
|
|
"bubbleHeight": bubbleHeight,
|
|
"showCheckText": showCheckText,
|
|
"parent": parent,
|
|
};
|
|
|
|
@override
|
|
String toString() => toJson().toString();
|
|
}
|
|
|
|
class TutorialStep {
|
|
int? tutorialStepId;
|
|
int? tutorialId;
|
|
int? step;
|
|
String? tutorialText;
|
|
String? direction;
|
|
String? checkText;
|
|
String? condition;
|
|
String? branch;
|
|
int? parentId;
|
|
TutorialStepAction? action;
|
|
|
|
String? tutorialTextTranslation;
|
|
String? errorTextTranslation;
|
|
|
|
TutorialStep.fromJson(Map json) {
|
|
tutorialStepId = json['tutorialStepId'];
|
|
tutorialId = json['tutorialId'];
|
|
step = json['step'];
|
|
tutorialText = json['tutorialText'];
|
|
checkText = json['checkText'];
|
|
condition = json['condition'];
|
|
if (condition != null) {
|
|
condition = condition!.replaceAll(r'\\', "replace");
|
|
action = TutorialStepAction.fromJson(jsonDecode(condition!));
|
|
}
|
|
|
|
if (json['translations'] != null && json['translations'].length > 0) {
|
|
tutorialTextTranslation =
|
|
AppLanguage().appLocal == const Locale('hu') ? json['translations'][0]['tutorialText'] : json['tutorialText'];
|
|
errorTextTranslation = AppLanguage().appLocal == const Locale('hu') ? json['translations'][0]['errorText'] : json['errorText'];
|
|
}
|
|
}
|
|
|
|
Map<String, dynamic> toJson() => {
|
|
"tutorialStepId": tutorialStepId,
|
|
"tutorialId": tutorialId,
|
|
"step": step,
|
|
"tutorialText": tutorialText,
|
|
"checkText": checkText,
|
|
"tutorialTextTranslation": tutorialTextTranslation,
|
|
"errorTextTranslation": errorTextTranslation,
|
|
"condition": condition,
|
|
"action": action != null ? action!.toJson() : ""
|
|
};
|
|
|
|
@override
|
|
String toString() => toJson().toString();
|
|
}
|