Skip to content

Commit

Permalink
fix: Fix unknown primary trait display to be same style as other prim…
Browse files Browse the repository at this point in the history
…ary traits on detail screen
  • Loading branch information
rlperez committed Jan 18, 2022
1 parent ee9a083 commit 6a835bd
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 7 deletions.
11 changes: 6 additions & 5 deletions lib/traits/device_widget_builder.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ import 'package:yonomi_device_widgets/ui/widget_style_constants.dart';
import 'package:yonomi_platform_sdk/yonomi-sdk.dart';

class DeviceWidgetBuilder {
final primaryTraitWidgets = <Widget>[];
final traitWidgets = <Widget>[];
final _primaryTraitWidgets = <Widget>[];
final _traitWidgets = <Widget>[];

DeviceWidgetBuilder withPrimaryTrait(Trait trait,
{padding = const EdgeInsets.all(8.0),
margins = const EdgeInsets.only(bottom: 8.0)}) {
primaryTraitWidgets.add(_card(_createTraitWidget(trait), padding, margins));
_primaryTraitWidgets
.add(_card(_createTraitWidget(trait), padding, margins));

return this;
}
Expand All @@ -22,7 +23,7 @@ class DeviceWidgetBuilder {
{EdgeInsets padding = const EdgeInsets.all(8.0),
EdgeInsets margins =
const EdgeInsets.only(top: 8.0, left: 16.0, right: 16.0)}) {
traitWidgets.add(_card(_createTraitListWidget(trait), padding, margins));
_traitWidgets.add(_card(_createTraitListWidget(trait), padding, margins));

return this;
}
Expand All @@ -40,7 +41,7 @@ class DeviceWidgetBuilder {

Widget build() {
return Column(
children: [...primaryTraitWidgets, ...traitWidgets],
children: [..._primaryTraitWidgets, ..._traitWidgets],
);
}

Expand Down
4 changes: 2 additions & 2 deletions lib/traits/device_widget_factory.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:yonomi_device_widgets/assets/traits/unknown_item_icon.dart';
import 'package:yonomi_device_widgets/providers/battery_level_provider.dart';
import 'package:yonomi_device_widgets/providers/device_provider.dart';
import 'package:yonomi_device_widgets/providers/lock_provider.dart';
Expand All @@ -12,6 +11,7 @@ import 'package:yonomi_device_widgets/traits/slim/battery_slim_widget.dart';
import 'package:yonomi_device_widgets/traits/slim/lock_slim_widget.dart';
import 'package:yonomi_device_widgets/traits/slim/power_slim_widget.dart';
import 'package:yonomi_device_widgets/traits/slim/unknown_slim_widget.dart';
import 'package:yonomi_device_widgets/traits/unknown_widget.dart';
import 'package:yonomi_device_widgets/ui/widget_style_constants.dart';

class DeviceWidgetFactory<T> {
Expand All @@ -37,7 +37,7 @@ class DeviceWidgetFactory<T> {
iconColor: iconColor, textColor: textColor);
});
default:
return UnknownItemIcon(color: iconColor);
return UnknownWidget(name: name, iconColor: iconColor);
}
}

Expand Down
57 changes: 57 additions & 0 deletions lib/traits/unknown_widget.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import 'package:flutter/material.dart';
import 'package:yonomi_device_widgets/assets/traits/unknown_item_icon.dart';
import 'package:yonomi_device_widgets/ui/widget_style_constants.dart';

class UnknownWidget extends StatelessWidget {
late final Color _iconColor;
late final Color _textColor;
late final double _iconSize;
late final String _name;

UnknownWidget(
{String? name,
Color iconColor = WidgetStyleConstants.deviceDetailIconColorActive,
Color textColor = WidgetStyleConstants.darkTextColor,
double iconSize = 100.0,
Key? key})
: super(key: key) {
this._iconColor = iconColor;
this._textColor = textColor;
this._iconSize = iconSize;
this._name = name ?? 'UNKNOWN';
}

@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Row(children: <Widget>[
Text(
_name,
style: Theme.of(context)
.textTheme
.headline6
?.copyWith(color: _textColor),
textAlign: TextAlign.left,
),
]),
SizedBox(
height: 10,
),
Container(
child: SizedBox(
width: _iconSize,
height: _iconSize,
child: UnknownItemIcon(
size: _iconSize,
color: _iconColor,
),
),
),
SizedBox(
height: 10,
),
]);
}
}

0 comments on commit 6a835bd

Please sign in to comment.