#26 new: ios home widget

This commit is contained in:
lollipopkit
2023-07-16 22:46:32 +08:00
parent 814e9c853a
commit 0ee55d4873
12 changed files with 683 additions and 99 deletions

View File

@@ -53,8 +53,8 @@ extension OrderX<T> on Order<T> {
}
/// order: ['d', 'b', 'e']\
/// items: ['a', 'b', 'c', 'd']\
/// result: ['b', 'd', 'a', 'c']\
/// this: ['a', 'b', 'c', 'd']\
/// result: ['d', 'b', 'a', 'c']\
/// return: ['e']
List<String> reorder({
required List<String> order,

View File

@@ -45,22 +45,14 @@ class ServerProvider extends BusyProvider {
}
final serverOrder_ = _settingStore.serverOrder.fetch();
if (serverOrder_ != null) {
_serverOrder.addAll(serverOrder_.toSet());
if (_serverOrder.length != spis.length) {
final missed = spis
.where(
(e) => !_serverOrder.contains(e.id),
)
.map((e) => e.id);
_serverOrder.addAll(missed);
}
spis.reorder(
order: serverOrder_,
finder: (n, id) => n.id == id,
);
_serverOrder.addAll(spis.map((e) => e.id));
} else {
_serverOrder.addAll(_servers.keys);
}
final surplus = _serverOrder.where(
(e) => !_servers.containsKey(e),
);
_serverOrder.removeWhere((element) => surplus.contains(element));
_settingStore.serverOrder.put(_serverOrder);
_updateTags();
setBusyState(false);

View File

@@ -24,7 +24,7 @@ class SnippetProvider extends BusyProvider {
if (order != null) {
final surplus = _snippets.reorder(
order: order,
finder: (order, name) => order.name == name,
finder: (n, name) => n.name == name,
);
order.removeWhere((e) => surplus.any((ele) => ele == e));
_setting.snippetOrder.put(order);

View File

@@ -2,8 +2,8 @@
class BuildData {
static const String name = "ServerBox";
static const int build = 375;
static const int build = 376;
static const String engine = "3.10.5";
static const String buildAt = "2023-07-08 14:54:40.994903";
static const int modifications = 12;
static const String buildAt = "2023-07-08 15:09:08.542818";
static const int modifications = 2;
}

View File

@@ -126,10 +126,9 @@ class _ServerPageState extends State<ServerPage>
);
}),
itemBuilder: (_, index) => FadeIn(
key: ValueKey('$_tag${filtered[index]}'),
child: _buildEachServerCard(
pro.servers[filtered[index]],
)),
key: ValueKey('$_tag${filtered[index]}'),
child: _buildEachServerCard(pro.servers[filtered[index]]),
),
itemCount: filtered.length,
);
},