default: mac window size & opt.: snippet result

This commit is contained in:
lollipopkit
2023-10-18 19:57:47 +08:00
parent cf4f74dcfc
commit 4984953287
10 changed files with 85 additions and 65 deletions

View File

@@ -134,15 +134,9 @@ class _SnippetListPageState extends State<SnippetListPage> {
return;
}
final ids = servers.map((e) => e.spi.id).toList();
final names = servers.map((e) => e.spi.name).toList();
final results = await Pros.server.runSnippetsMulti(ids, [snippet]);
final results = await Pros.server.runSnippetsMulti(ids, snippet);
if (results.isNotEmpty) {
// SERVER_NAME: RESULT
final result = Map.fromIterables(
names,
results,
);
AppRoute.snippetResult(results: result).go(context);
AppRoute.snippetResult(results: results).go(context);
}
}
}

View File

@@ -1,11 +1,13 @@
import 'package:flutter/material.dart';
import 'package:toolbox/core/extension/context/locale.dart';
import 'package:toolbox/data/model/server/snippet.dart';
import 'package:toolbox/data/res/ui.dart';
import 'package:toolbox/view/widget/cardx.dart';
import 'package:toolbox/view/widget/custom_appbar.dart';
import 'package:toolbox/view/widget/expand_tile.dart';
class SnippetResultPage extends StatelessWidget {
final Map<String, String?> results;
final List<SnippetResult?> results;
const SnippetResultPage({super.key, required this.results});
@@ -20,28 +22,30 @@ class SnippetResultPage extends StatelessWidget {
}
Widget _buildBody() {
return Align(
alignment: Alignment.centerLeft,
child: ListView.builder(
padding: const EdgeInsets.symmetric(horizontal: 17),
itemCount: results.length,
itemBuilder: (_, index) {
final key = results.keys.elementAt(index);
final value = results[key];
return CardX(
ExpandTile(
initiallyExpanded: results.length == 1,
title: Text(key),
children: [
Text(
value ?? '',
return ListView.builder(
padding: const EdgeInsets.symmetric(horizontal: 17),
itemCount: results.length,
itemBuilder: (_, index) {
final item = results[index];
if (item == null) return UIs.placeholder;
return CardX(
ExpandTile(
initiallyExpanded: results.length == 1,
title: Text(item.dest ?? ''),
subtitle: Text(item.time.toString(), style: UIs.textGrey),
children: [
SingleChildScrollView(
padding: const EdgeInsets.symmetric(horizontal: 17),
scrollDirection: Axis.horizontal,
child: Text(
item.result,
textAlign: TextAlign.start,
),
],
),
);
},
),
),
],
),
);
},
);
}
}