forked from firka/student-legacy
added themeMode to shareable paints
This commit is contained in:
parent
076d6a12a2
commit
cccda1aadb
@ -12,6 +12,7 @@ import 'package:filcnaplo/models/shared_theme.dart';
|
||||
import 'package:filcnaplo/models/supporter.dart';
|
||||
import 'package:filcnaplo_kreta_api/models/school.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:connectivity_plus/connectivity_plus.dart';
|
||||
|
||||
@ -235,6 +236,9 @@ class FilcAPI {
|
||||
theme.json['accent_color'] = theme.accentColor.value.toString();
|
||||
theme.json['icon_color'] = theme.iconColor.value.toString();
|
||||
theme.json['shadow_effect'] = theme.shadowEffect.toString();
|
||||
theme.json['theme_mode'] = theme.themeMode == ThemeMode.dark
|
||||
? 'dark'
|
||||
: (theme.themeMode == ThemeMode.light ? 'light' : null.toString());
|
||||
|
||||
// set linked grade colors
|
||||
theme.json['grade_colors_id'] = theme.gradeColors.id;
|
||||
|
@ -1,4 +1,4 @@
|
||||
import 'dart:ui';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SharedTheme {
|
||||
Map json;
|
||||
@ -12,6 +12,7 @@ class SharedTheme {
|
||||
bool shadowEffect;
|
||||
SharedGradeColors gradeColors;
|
||||
String displayName;
|
||||
ThemeMode? themeMode;
|
||||
|
||||
SharedTheme({
|
||||
required this.json,
|
||||
@ -25,6 +26,7 @@ class SharedTheme {
|
||||
required this.shadowEffect,
|
||||
required this.gradeColors,
|
||||
this.displayName = 'displayName',
|
||||
this.themeMode,
|
||||
});
|
||||
|
||||
factory SharedTheme.fromJson(Map json, SharedGradeColors gradeColors) {
|
||||
@ -39,6 +41,10 @@ class SharedTheme {
|
||||
iconColor: Color(json['icon_color']),
|
||||
shadowEffect: json['shadow_effect'] ?? true,
|
||||
gradeColors: gradeColors,
|
||||
displayName: json['display_name'] ?? 'no_name',
|
||||
themeMode: json['theme_mode'] == 'dark'
|
||||
? ThemeMode.dark
|
||||
: (json['theme_mode'] == 'light' ? ThemeMode.light : null),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import 'package:filcnaplo/models/settings.dart';
|
||||
import 'package:filcnaplo/models/shared_theme.dart';
|
||||
// import 'package:filcnaplo/models/shared_theme.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
@ -47,6 +48,9 @@ class ShareProvider extends ChangeNotifier {
|
||||
?.value ??
|
||||
const Color(0x00000000).value,
|
||||
'shadow_effect': settings.shadowEffect,
|
||||
'theme_mode': settings.theme == ThemeMode.dark
|
||||
? 'dark'
|
||||
: (settings.theme == ThemeMode.light ? 'light' : null)
|
||||
};
|
||||
|
||||
SharedTheme theme = SharedTheme.fromJson(themeJson, gradeColors);
|
||||
|
@ -543,6 +543,9 @@ class PaintListScreenState extends State<PaintListScreen>
|
||||
// changing shadow effect
|
||||
settingsProvider.update(shadowEffect: newThemeByID!.shadowEffect);
|
||||
|
||||
// changing theme mode
|
||||
settingsProvider.update(theme: newThemeByID!.themeMode);
|
||||
|
||||
// changing theme
|
||||
settingsProvider.update(
|
||||
customBackgroundColor: newThemeByID!.backgroundColor,
|
||||
|
Loading…
x
Reference in New Issue
Block a user