Added SkillTreeType enum and implemented dropdown selection in SkillTreeView

- Introduced a new `SkillTreeType` enum to represent different skill tree categories: General, Coding, Data, and Scrape/Synthesize.
- Extended the `SkillTreeType` enum to provide associated string values and JSON file names for each category.
- Refactored the `SkillTreeViewModel` to reload the skill tree data based on the selected category.
- Enhanced `SkillTreeView` by adding a positioned dropdown in the top-left corner to allow users to select and load different skill tree categories dynamically.
This commit is contained in:
hunteraraujo
2023-09-25 23:08:24 -07:00
parent 4a8da53d85
commit 3d4307a848
4 changed files with 143 additions and 63 deletions

View File

@@ -0,0 +1,38 @@
enum SkillTreeCategory {
general,
coding,
data,
scrapeSynthesize,
}
extension SkillTreeTypeExtension on SkillTreeCategory {
String get stringValue {
switch (this) {
case SkillTreeCategory.general:
return 'General';
case SkillTreeCategory.coding:
return 'Coding';
case SkillTreeCategory.data:
return 'Data';
case SkillTreeCategory.scrapeSynthesize:
return 'Scrape/Synthesize';
default:
return '';
}
}
String get jsonFileName {
switch (this) {
case SkillTreeCategory.general:
return 'general_tree_structure.json';
case SkillTreeCategory.coding:
return 'coding_tree_structure.json';
case SkillTreeCategory.data:
return 'data_tree_structure.json';
case SkillTreeCategory.scrapeSynthesize:
return 'scrape_synthesize_tree_structure.json';
default:
return '';
}
}
}