Merge pull request #650 from venera-app/fix/local-search-menu

fix: enable multi-select actions in local comics search mode
This commit is contained in:
ynyx631
2025-11-29 15:04:41 +08:00
committed by GitHub

View File

@@ -258,19 +258,30 @@ 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: () {
if (multiSelectMode) {
setState(() {
multiSelectMode = false;
selectedComics.clear();
});
} else {
setState(() { setState(() {
searchMode = false; searchMode = false;
keyword = ""; keyword = "";
update(); update();
}); });
}
}, },
), ),
), ),
title: TextField( title: multiSelectMode
? Text(selectedComics.length.toString())
: TextField(
autofocus: true, autofocus: true,
decoration: InputDecoration( decoration: InputDecoration(
hintText: "Search".tl, hintText: "Search".tl,
@@ -281,6 +292,7 @@ class _LocalComicsPageState extends State<LocalComicsPage> {
update(); 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;