build method
- @override
- BuildContext context,
- HomeModel model
override
Builds the UI according to the state in model.
Implementation
@override
Widget build(BuildContext context, HomeModel model) => SizedBox(
height: 48,
child: InkWell(
onTap: showLogs
? () => Navigator.of(
context,
).push(MaterialPageRoute<void>(builder: (context) => LogsPage()))
: null,
child: Card(
shadowColor: Colors.transparent,
color: getColor(model.message?.severity),
shape: ContinuousRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
child: (model.message == null && !showLogs)
? const SizedBox()
: Row(
mainAxisSize: MainAxisSize.min,
children: [
const SizedBox(width: 4),
Icon(getIcon(model.message?.severity), color: Colors.white),
const SizedBox(width: 4),
if (model.message == null)
const Text(
"Open logs",
style: TextStyle(color: Colors.white),
)
else
Tooltip(
message: "Click to open logs",
child: models.settings.easterEggs.enableClippy
? Row(
children: [
Image.asset(
"assets/clippy.webp",
width: 36,
height: 36,
),
const Text(" -- "),
Text(
model.message!.text,
style: const TextStyle(color: Colors.white),
),
],
)
: Text(
model.message!.text,
style: const TextStyle(color: Colors.white),
),
),
const SizedBox(width: 8),
],
),
),
),
);