diff --git a/lib/view/page/server/tab.dart b/lib/view/page/server/tab.dart index ffd9e7fb..e3381aa3 100644 --- a/lib/view/page/server/tab.dart +++ b/lib/view/page/server/tab.dart @@ -87,7 +87,7 @@ class _ServerPageState extends State appBar: TagSwitcher( tags: ServerProvider.tags, onTagChanged: (p0) => _tag.value = p0, - tag: _tag, + initTag: _tag.value, ), body: GestureDetector( behavior: HitTestBehavior.opaque, @@ -647,7 +647,7 @@ ${ss.err?.message ?? 'null'} List _filterServers(List order) { final tag = _tag.value; - if (tag.isEmpty) return order; + if (tag == kDefaultTag) return order; return order.where((e) { final tags = ServerProvider.pick(id: e)?.value.spi.tags; if (tags == null) return false; diff --git a/lib/view/page/snippet/list.dart b/lib/view/page/snippet/list.dart index bba2ffa7..d6c6c509 100644 --- a/lib/view/page/snippet/list.dart +++ b/lib/view/page/snippet/list.dart @@ -22,7 +22,7 @@ class _SnippetListPageState extends State { appBar: TagSwitcher( tags: SnippetProvider.tags, onTagChanged: (tag) => _tag.value = tag, - tag: _tag, + initTag: _tag.value, ), body: _buildBody(), floatingActionButton: FloatingActionButton( @@ -36,24 +36,21 @@ class _SnippetListPageState extends State { Widget _buildBody() { return SnippetProvider.snippets.listenVal( (snippets) { - if (snippets.isEmpty) { - return Center(child: Text(libL10n.empty)); - } - + if (snippets.isEmpty) return Center(child: Text(libL10n.empty)); return _tag.listenVal((tag) => _buildSnippetList(snippets, tag)); }, ); } Widget _buildSnippetList(List snippets, String tag) { - final filtered = tag.isEmpty + final filtered = tag == kDefaultTag ? snippets : snippets.where((e) => e.tags?.contains(tag) ?? false).toList(); return ReorderableListView.builder( - padding: const EdgeInsets.symmetric(horizontal: 11), + padding: const EdgeInsets.symmetric(horizontal: 9), itemCount: filtered.length, - onReorder: (oldIdx, newIdx) => setState(() { + onReorder: (oldIdx, newIdx) { snippets.moveByItem( oldIdx, newIdx, @@ -62,7 +59,8 @@ class _SnippetListPageState extends State { Stores.setting.snippetOrder.put(p0.map((e) => e.name).toList()); }, ); - }), + SnippetProvider.snippets.notify(); + }, footer: UIs.height77, buildDefaultDragHandles: false, itemBuilder: (context, idx) { diff --git a/lib/view/page/ssh/page.dart b/lib/view/page/ssh/page.dart index db3bb5ca..9cf25aab 100644 --- a/lib/view/page/ssh/page.dart +++ b/lib/view/page/ssh/page.dart @@ -300,7 +300,7 @@ class SSHPageState extends State title: l10n.snippet, tags: SnippetProvider.tags, itemsBuilder: (e) { - if (e == null) return SnippetProvider.snippets.value; + if (e == kDefaultTag) return SnippetProvider.snippets.value; return SnippetProvider.snippets.value .where((element) => element.tags?.contains(e) ?? false) .toList(); diff --git a/lib/view/widget/server_func_btns.dart b/lib/view/widget/server_func_btns.dart index e5fc7e0a..4e9747df 100644 --- a/lib/view/widget/server_func_btns.dart +++ b/lib/view/widget/server_func_btns.dart @@ -113,7 +113,7 @@ void _onTapMoreBtns( title: l10n.snippet, tags: SnippetProvider.tags, itemsBuilder: (e) { - if (e == null) return SnippetProvider.snippets.value; + if (e == kDefaultTag) return SnippetProvider.snippets.value; return SnippetProvider.snippets.value .where((element) => element.tags?.contains(e) ?? false) .toList(); diff --git a/pubspec.lock b/pubspec.lock index f64f8395..6a2a478a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -390,8 +390,8 @@ packages: dependency: "direct main" description: path: "." - ref: "v1.0.141" - resolved-ref: "2fb1532cd2fd08dd807e9776b2b50b5d8ee94388" + ref: "v1.0.142" + resolved-ref: "0860beabd5096dd5f783d8c60b860c81895477dd" url: "https://github.com/lppcg/fl_lib" source: git version: "0.0.1" diff --git a/pubspec.yaml b/pubspec.yaml index 44c88466..92e0fa61 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -60,7 +60,7 @@ dependencies: fl_lib: git: url: https://github.com/lppcg/fl_lib - ref: v1.0.141 + ref: v1.0.142 dependency_overrides: # dartssh2: