poe2-loot-filter-flutter/lib/model.dart
2024-12-25 20:07:00 +09:00

54 lines
1.0 KiB
Dart

import 'package:uuid/uuid.dart';
const uuid = Uuid();
class FilterConfig {
final List<Filter> filters;
FilterConfig({required this.filters});
}
class Filter {
final String id;
final bool enabled;
final FilterRule rule;
Filter({required this.id, required this.enabled, required this.rule});
}
sealed class FilterRule {}
class Leaf extends FilterRule {
final bool show;
final Map<String, Line> lines;
Leaf({required this.show, required this.lines});
}
class Group extends FilterRule {
final Map<String, Line> lines;
final List<Filter> filters;
Group({required this.lines, required this.filters});
}
sealed class Line {}
class Settings {
final List<String> baseTypes;
final List<String> classes;
final List<String> rarities;
final List<String> minimapIconShapes;
final List<String> gameColors;
final List<String> ops;
Settings({
required this.baseTypes,
required this.classes,
required this.rarities,
required this.minimapIconShapes,
required this.gameColors,
required this.ops,
});
}