Support slugs
This commit is contained in:
parent
1576f5b9c4
commit
42d2b17b98
|
@ -12,7 +12,7 @@ class IconUtils {
|
|||
|
||||
// Map of icon-title to the color code in HEX
|
||||
final Map<String, String> _simpleIcons = {};
|
||||
final Map<String, String?> _customIcons = {};
|
||||
final Map<String, CustomIconData> _customIcons = {};
|
||||
|
||||
Future<void> init() async {
|
||||
await _loadJson();
|
||||
|
@ -25,9 +25,9 @@ class IconUtils {
|
|||
final title = _getProviderTitle(provider);
|
||||
if (_customIcons.containsKey(title)) {
|
||||
return _getSVGIcon(
|
||||
"assets/custom-icons/icons/$title.svg",
|
||||
"assets/custom-icons/icons/${_customIcons[title]!.slug ?? title}.svg",
|
||||
title,
|
||||
_customIcons[title],
|
||||
_customIcons[title]!.color,
|
||||
width,
|
||||
);
|
||||
} else if (_simpleIcons.containsKey(title)) {
|
||||
|
@ -72,7 +72,10 @@ class IconUtils {
|
|||
.loadString('assets/custom-icons/_data/custom-icons.json');
|
||||
final customIcons = json.decode(customIconData);
|
||||
for (final icon in customIcons["icons"]) {
|
||||
_customIcons[icon["title"].toString().toLowerCase()] = icon["hex"];
|
||||
_customIcons[icon["title"].toString().toLowerCase()] = CustomIconData(
|
||||
icon["slug"],
|
||||
icon["hex"],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,3 +83,10 @@ class IconUtils {
|
|||
return provider.split(RegExp(r'[.(]'))[0].trim().toLowerCase();
|
||||
}
|
||||
}
|
||||
|
||||
class CustomIconData {
|
||||
final String? slug;
|
||||
final String? color;
|
||||
|
||||
CustomIconData(this.slug, this.color);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue