added grade colors to theme share

This commit is contained in:
Kima
2023-09-27 21:36:18 +02:00
parent a9bd11a4d7
commit d9bd555e6a
5 changed files with 170 additions and 11 deletions

View File

@@ -8,6 +8,7 @@ class SharedTheme {
Color backgroundColor;
Color panelsColor;
Color accentColor;
SharedGradeColors gradeColors;
SharedTheme({
required this.json,
@@ -17,9 +18,10 @@ class SharedTheme {
required this.backgroundColor,
required this.panelsColor,
required this.accentColor,
required this.gradeColors,
});
factory SharedTheme.fromJson(Map json) {
factory SharedTheme.fromJson(Map json, Map gradeColorsJson) {
return SharedTheme(
json: json,
id: json['public_id'],
@@ -28,6 +30,48 @@ class SharedTheme {
backgroundColor: Color(json['background_color']),
panelsColor: Color(json['panels_color']),
accentColor: Color(json['accent_color']),
gradeColors: SharedGradeColors.fromJson(gradeColorsJson),
);
}
}
class SharedGradeColors {
Map json;
String id;
bool isPublic;
String nickname;
Color fiveColor;
Color fourColor;
Color threeColor;
Color twoColor;
Color oneColor;
String linkedThemeId;
SharedGradeColors({
required this.json,
required this.id,
this.isPublic = false,
this.nickname = 'Anonymous',
required this.fiveColor,
required this.fourColor,
required this.threeColor,
required this.twoColor,
required this.oneColor,
required this.linkedThemeId,
});
factory SharedGradeColors.fromJson(Map json) {
return SharedGradeColors(
json: json,
id: json['public_id'],
isPublic: json['is_public'] ?? false,
nickname: json['nickname'] ?? 'Anonymous',
fiveColor: Color(json['five_color']),
fourColor: Color(json['four_color']),
threeColor: Color(json['three_color']),
twoColor: Color(json['two_color']),
oneColor: Color(json['one_color']),
linkedThemeId: json['linked_theme_id'],
);
}
}