Compare commits

..

2 Commits

Author SHA1 Message Date
40ef8a63b0 fix: enable multi-select actions in local comics search mode 2025-11-29 15:00:30 +08:00
053293839e flutter 3.38.3 2025-11-29 14:43:15 +08:00

View File

@@ -258,29 +258,41 @@ class _LocalComicsPageState extends State<LocalComicsPage> {
else if (searchMode) else if (searchMode)
SliverAppbar( SliverAppbar(
leading: Tooltip( leading: Tooltip(
message: "Cancel".tl, message: multiSelectMode ? "Cancel".tl : "Cancel".tl,
child: IconButton( child: IconButton(
icon: const Icon(Icons.close), icon: multiSelectMode
? const Icon(Icons.close)
: const Icon(Icons.close),
onPressed: () { onPressed: () {
setState(() { if (multiSelectMode) {
searchMode = false; setState(() {
keyword = ""; multiSelectMode = false;
update(); selectedComics.clear();
}); });
} else {
setState(() {
searchMode = false;
keyword = "";
update();
});
}
}, },
), ),
), ),
title: TextField( title: multiSelectMode
autofocus: true, ? Text(selectedComics.length.toString())
decoration: InputDecoration( : TextField(
hintText: "Search".tl, autofocus: true,
border: InputBorder.none, decoration: InputDecoration(
), hintText: "Search".tl,
onChanged: (v) { border: InputBorder.none,
keyword = v; ),
update(); onChanged: (v) {
}, keyword = v;
), update();
},
),
actions: multiSelectMode ? selectActions : null,
), ),
SliverGridComics( SliverGridComics(
comics: comics, comics: comics,
@@ -344,6 +356,7 @@ class _LocalComicsPageState extends State<LocalComicsPage> {
return PopScope( return PopScope(
canPop: !multiSelectMode && !searchMode, canPop: !multiSelectMode && !searchMode,
onPopInvokedWithResult: (didPop, result) { onPopInvokedWithResult: (didPop, result) {
if (didPop) return;
if (multiSelectMode) { if (multiSelectMode) {
setState(() { setState(() {
multiSelectMode = false; multiSelectMode = false;