chore: Follow up create check list UX

This commit is contained in:
Christian Kußowski 2025-06-01 11:31:09 +02:00
commit 5fb882955c
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
3 changed files with 29 additions and 21 deletions

View file

@ -54,6 +54,35 @@ Widget markdownContextBuilder(
ContextMenuController.removeAny();
},
),
ContextMenuButtonItem(
label: l10n.checkList,
onPressed: () {
final text = controller.text;
final selection = controller.selection;
var start = selection.textBefore(text).lastIndexOf('\n');
if (start == -1) start = 0;
final end = selection.end;
final fullLineSelection =
TextSelection(baseOffset: start, extentOffset: end);
const checkBox = '- [ ]';
final replacedRange = fullLineSelection
.textInside(text)
.split('\n')
.map(
(line) => line.startsWith(checkBox) || line.isEmpty
? line
: '$checkBox $line',
)
.join('\n');
controller.text =
controller.text.replaceRange(start, end, replacedRange);
ContextMenuController.removeAny();
},
),
ContextMenuButtonItem(
label: l10n.boldText,
onPressed: () {