fixes for veilid 0.4.0

This commit is contained in:
Christien Rioux 2024-10-20 14:57:35 -04:00
parent 4966349ac9
commit e8810d208d
16 changed files with 454 additions and 341 deletions

View file

@ -8,17 +8,18 @@ import '../../proto/proto.dart' as proto;
class AvailabilityWidget extends StatelessWidget {
const AvailabilityWidget(
{required this.availability,
required this.color,
this.vertical = true,
this.iconSize = 32,
super.key});
static Widget availabilityIcon(proto.Availability availability,
static Widget availabilityIcon(proto.Availability availability, Color color,
{double size = 32}) {
late final Widget iconData;
switch (availability) {
case proto.Availability.AVAILABILITY_AWAY:
iconData =
ImageIcon(const AssetImage('assets/images/toilet.png'), size: size);
iconData = ImageIcon(const AssetImage('assets/images/toilet.png'),
size: size, color: color);
case proto.Availability.AVAILABILITY_BUSY:
iconData = Icon(Icons.event_busy, size: size);
case proto.Availability.AVAILABILITY_FREE:
@ -56,7 +57,7 @@ class AvailabilityWidget extends StatelessWidget {
// final scaleConfig = theme.extension<ScaleConfig>()!;
final name = availabilityName(availability);
final icon = availabilityIcon(availability, size: iconSize);
final icon = availabilityIcon(availability, color, size: iconSize);
return vertical
? Column(
@ -64,17 +65,20 @@ class AvailabilityWidget extends StatelessWidget {
//mainAxisAlignment: MainAxisAlignment.center,
children: [
icon,
Text(name, style: textTheme.labelSmall).paddingLTRB(0, 0, 0, 0)
Text(name, style: textTheme.labelSmall!.copyWith(color: color))
.paddingLTRB(0, 0, 0, 0)
])
: Row(mainAxisSize: MainAxisSize.min, children: [
icon,
Text(name, style: textTheme.labelSmall).paddingLTRB(8, 0, 0, 0)
Text(name, style: textTheme.labelSmall!.copyWith(color: color))
.paddingLTRB(8, 0, 0, 0)
]);
}
////////////////////////////////////////////////////////////////////////////
final proto.Availability availability;
final Color color;
final bool vertical;
final double iconSize;
@ -85,6 +89,7 @@ class AvailabilityWidget extends StatelessWidget {
..add(
DiagnosticsProperty<proto.Availability>('availability', availability))
..add(DiagnosticsProperty<bool>('vertical', vertical))
..add(DoubleProperty('iconSize', iconSize));
..add(DoubleProperty('iconSize', iconSize))
..add(ColorProperty('color', color));
}
}