custom filters
This commit is contained in:
@@ -520,6 +520,7 @@ class PbSyncService {
|
||||
'name': r.getStringValue('name'),
|
||||
'display': r.getBoolValue('display', true),
|
||||
'sortOrder': r.getIntValue('sort_order', 0),
|
||||
'halfWidth': r.getBoolValue('half_width'),
|
||||
'labelIds': _jsonStringList(r.get<dynamic>('label_ids')),
|
||||
'flow': r.getStringValue('flow'),
|
||||
'amountRange': rangeRaw is Map
|
||||
@@ -1197,6 +1198,7 @@ class PbSyncService {
|
||||
'name': _clip(w.name.isEmpty ? 'Filter' : w.name, 200),
|
||||
'display': w.display,
|
||||
'sort_order': w.sortOrder,
|
||||
'half_width': w.halfWidth,
|
||||
'label_ids': w.labelIds,
|
||||
'flow': w.flow.name,
|
||||
'amount_range': {
|
||||
@@ -1297,6 +1299,7 @@ class PbSyncService {
|
||||
return remote.getStringValue('name') == w.name &&
|
||||
remote.getBoolValue('display', true) == w.display &&
|
||||
remote.getIntValue('sort_order', 0) == w.sortOrder &&
|
||||
remote.getBoolValue('half_width') == w.halfWidth &&
|
||||
_sameIdList(remoteIds, w.labelIds) &&
|
||||
remote.getStringValue('flow') == w.flow.name &&
|
||||
asDouble(rangeMap['exact']) == w.amountRange.exact &&
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:flutter/foundation.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
import '../models/bank.dart';
|
||||
import '../models/home_built_in_sections.dart';
|
||||
import '../models/home_filter_widget.dart';
|
||||
import '../models/overview_favourite.dart';
|
||||
import '../models/transaction_meta.dart';
|
||||
@@ -183,6 +184,27 @@ class StorageService {
|
||||
return _prefs.setString(StorageKeys.homeFilterWidgets, encoded);
|
||||
}
|
||||
|
||||
HomeBuiltInSections loadHomeBuiltInSections() {
|
||||
final raw = _prefs.getString(StorageKeys.homeBuiltInSections);
|
||||
if (raw == null || raw.isEmpty) return HomeBuiltInSections.defaults;
|
||||
try {
|
||||
final decoded = jsonDecode(raw);
|
||||
if (decoded is! Map) return HomeBuiltInSections.defaults;
|
||||
return HomeBuiltInSections.fromJson(
|
||||
Map<String, dynamic>.from(decoded),
|
||||
);
|
||||
} catch (_) {
|
||||
return HomeBuiltInSections.defaults;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> saveHomeBuiltInSections(HomeBuiltInSections sections) {
|
||||
return _prefs.setString(
|
||||
StorageKeys.homeBuiltInSections,
|
||||
jsonEncode(sections.toJson()),
|
||||
);
|
||||
}
|
||||
|
||||
bool get useRemoteData => _prefs.getBool(StorageKeys.useRemoteData) ?? false;
|
||||
|
||||
Future<void> setUseRemoteData(bool value) {
|
||||
|
||||
Reference in New Issue
Block a user