new: VersionRelated

This commit is contained in:
lollipopkit
2024-03-20 20:26:22 -06:00
parent d5ce11c788
commit fae3a20a9e
12 changed files with 166 additions and 95 deletions

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:toolbox/core/extension/context/locale.dart';
import 'package:toolbox/core/extension/context/snackbar.dart';
import 'package:toolbox/core/utils/platform/base.dart';
import 'package:toolbox/data/res/default.dart';
import 'package:toolbox/data/model/app/server_detail_card.dart';
import 'package:toolbox/data/res/logger.dart';
import 'package:toolbox/data/res/store.dart';
@@ -39,11 +39,12 @@ class _ServerDetailOrderPageState extends State<ServerDetailOrderPage> {
return List<String>.from(vals);
} catch (e) {
Loggers.app.info('ServerDetailOrderPage: $e');
return Defaults.detailCardOrder;
return ServerDetailCards.names;
}
}();
final disabled =
Defaults.detailCardOrder.where((e) => !keys.contains(e)).toList();
final disabled = ServerDetailCards.names
.where((e) => !keys.contains(e))
.toList();
final allKeys = [...keys, ...disabled];
return ReorderableListView.builder(
padding: const EdgeInsets.all(7),

View File

@@ -1,10 +1,10 @@
import 'package:flutter/material.dart';
import 'package:toolbox/core/extension/context/locale.dart';
import 'package:toolbox/core/extension/context/snackbar.dart';
import 'package:toolbox/core/utils/platform/base.dart';
import 'package:toolbox/data/model/app/menu/server_func.dart';
import 'package:toolbox/data/res/logger.dart';
import 'package:toolbox/data/res/store.dart';
import 'package:toolbox/data/res/ui.dart';
import '../../../../core/extension/order.dart';
import '../../../widget/appbar.dart';
@@ -51,12 +51,20 @@ class _ServerDetailOrderPageState extends State<ServerFuncBtnsOrderPage> {
padding: const EdgeInsets.all(7),
itemBuilder: (_, idx) {
final key = allKeys[idx];
final funcBtn = ServerFuncBtn.values[key];
return CardX(
key: ValueKey(idx),
child: ListTile(
title: Text(ServerFuncBtn.values[key].toStr),
title: RichText(
text: TextSpan(
children: [
WidgetSpan(child: funcBtn.icon(2)),
const WidgetSpan(child: UIs.width7),
TextSpan(text: funcBtn.toStr, style: UIs.textGrey),
],
),
),
leading: _buildCheckBox(keys, key, idx, idx < keys.length),
trailing: isDesktop ? null : const Icon(Icons.drag_handle),
),
);
},