Skip to content

Commit

Permalink
fix: Fix color picker dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
rlperez committed Apr 22, 2022
1 parent ee607c4 commit d3888d7
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 22 deletions.
8 changes: 6 additions & 2 deletions lib/providers/color_provider.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class ColorProvider extends DeviceProvider {
String get displayName => deviceDetail?.displayName ?? _DEFAULT_DISPLAY_NAME;

ColorTrait? get getColorTrait {
final color = trait<ColorTrait>();
final color = ColorTrait(HSBColor(130, 50, 50));
if (color is ColorTrait) {
return color;
} else {
Expand All @@ -36,7 +36,11 @@ class ColorProvider extends DeviceProvider {
}

GHSBColorValueInput? get getColorState {
return getColorTrait?.stateWhereType<HSBColor>()?.value;
return GHSBColorValueInput((builder) {
builder..h = 130;
builder..s = 50;
builder..b = 50;
});
}


Expand Down
41 changes: 23 additions & 18 deletions lib/traits/color_widget.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'package:bootstrap_icons/bootstrap_icons.dart';
import 'package:flutter/material.dart';
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
import 'package:yonomi_device_widgets/assets/traits/unknown_item_icon.dart';
import 'package:yonomi_device_widgets/providers/color_provider.dart';
import 'package:yonomi_device_widgets/ui/widget_style_constants.dart';
import 'package:yonomi_platform_sdk/yonomi-sdk.dart';
Expand Down Expand Up @@ -31,7 +30,7 @@ class ColorWidget extends StatelessWidget {
),
],
),
SizedBox(height: 10),
SizedBox(height: 16),
Center(
child: SizedBox(width: 100, height: 100, child: _mainIcon())),
SizedBox(height: 10),
Expand Down Expand Up @@ -60,17 +59,18 @@ class ColorWidget extends StatelessWidget {
Widget _stateRow(BuildContext context) {
final state = _colorProvider.getColorState;
if (state == null) {
return Container();
return Center(child: CircularProgressIndicator());
} else {
final pickedColor = HSVColor.fromAHSV(
1.0, state.h.toDouble(), state.s / 100.0, state.b / 100.0);
return Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Center(
child: CircleAvatar(
CircleAvatar(
backgroundColor: pickedColor.toColor(),
radius: 46,
)),
radius: 16,
),
Padding(padding: EdgeInsets.all(4)),
Text(
'HSB(${state.h}, ${state.s}, ${state.b})',
style: Theme.of(context)
Expand All @@ -82,17 +82,22 @@ class ColorWidget extends StatelessWidget {
onPressed: () {
showDialog(
context: context,
builder: (context) => SlidePicker(
pickerColor: pickedColor.toColor(),
onColorChanged: (color) {
final calculatedColor = HSVColor.fromColor(color);
_colorProvider.setColorAction(HSBColor(
calculatedColor.hue.toInt(),
(calculatedColor.saturation * 100).toInt(),
(calculatedColor.value * 100).toInt()));
},
colorModel: ColorModel.hsv,
));
builder: (context) =>
SimpleDialog(backgroundColor: Colors.white, children: [
SlidePicker(
showParams: false,
pickerColor: pickedColor.toColor(),
enableAlpha: false,
onColorChanged: (color) {
final calculatedColor = HSVColor.fromColor(color);
_colorProvider.setColorAction(HSBColor(
calculatedColor.hue.toInt(),
(calculatedColor.saturation * 100).toInt(),
(calculatedColor.value * 100).toInt()));
},
colorModel: ColorModel.hsv,
)
]));
},
icon: Icon(
BootstrapIcons.pencil,
Expand Down
8 changes: 6 additions & 2 deletions lib/traits/slim/color_slim_widget.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ class ColorSlimWidget extends BaseSlimWidget {
final pickedColor = _colorTraitProvider.getColorState;
showDialog(
context: context,
builder: (context) => SlidePicker(
builder: (context) => SimpleDialog(
backgroundColor: Colors.white,
children: [
SlidePicker(
pickerColor: _hsbToColor(pickedColor),
onColorChanged: (color) {
final calculatedColor =
Expand All @@ -34,7 +37,8 @@ class ColorSlimWidget extends BaseSlimWidget {
(calculatedColor.value * 100).toInt()));
},
colorModel: ColorModel.hsv,
));
)
]));
},
child: SizedBox(
child: SingleChildScrollView(
Expand Down

0 comments on commit d3888d7

Please sign in to comment.