Add text wrap toggle to logs screen

This commit is contained in:
Caleb Jasik 2025-01-24 11:38:03 -06:00
parent 5afc1ef692
commit a1df22ae75
No known key found for this signature in database

View file

@ -45,6 +45,31 @@ class _SiteLogsScreenState extends State<SiteLogsScreen> {
return SimplePage(
title: title,
trailingActions: [
Padding(
padding: const EdgeInsets.only(right: 8),
child: IconButton.filledTonal(
// Fixes enormous button on iOS, this *should* be the default, but it seems to be overridden.
iconSize: 24,
style: Platform.isIOS
? IconButton.styleFrom(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
// Match background when not selected on iOS
backgroundColor: settings.logWrap ? null : Colors.transparent,
)
: null,
isSelected: settings.logWrap,
tooltip: "Turn ${settings.logWrap ? "off" : "on"} text wrapping",
selectedIcon: const Icon(Icons.wrap_text_outlined),
icon: const Icon(Icons.wrap_text),
onPressed: () => {
setState(() {
settings.logWrap = !settings.logWrap;
})
},
),
)
],
scrollable: SimpleScrollable.both,
scrollController: controller,
onRefresh: () async {