Resolves #11 Add Panels fetching
This commit is contained in:
38
lib/ui_class/panel_class.dart
Normal file
38
lib/ui_class/panel_class.dart
Normal file
@ -0,0 +1,38 @@
|
||||
part of '../main.dart';
|
||||
|
||||
class Panel {
|
||||
|
||||
static const iconsByComponent = {
|
||||
"config": "mdi:settings",
|
||||
"history": "mdi:poll-box",
|
||||
"map": "mdi:tooltip-account",
|
||||
"logbook": "mdi:format-list-bulleted-type",
|
||||
"custom": "mdi:home-assistant"
|
||||
};
|
||||
|
||||
final String id;
|
||||
final String type;
|
||||
final String title;
|
||||
final String urlPath;
|
||||
final Map config;
|
||||
String icon;
|
||||
|
||||
Panel({this.id, this.type, this.title, this.urlPath, this.icon, this.config}) {
|
||||
if (icon == null || !icon.startsWith("mdi:")) {
|
||||
icon = Panel.iconsByComponent[type];
|
||||
}
|
||||
}
|
||||
|
||||
Widget getWidget() {
|
||||
switch (type) {
|
||||
case "config": {
|
||||
return ConfigPanelWidget();
|
||||
}
|
||||
|
||||
default: {
|
||||
return Text("Unsupported panel component: $type");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user