#30 fix: context.pop()

This commit is contained in:
lollipopkit
2023-05-09 19:49:31 +08:00
parent 3f9f589178
commit b4f3fce64a
22 changed files with 130 additions and 111 deletions

View File

@@ -5,7 +5,7 @@ import 'dart:io';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/data/res/path.dart';
import '../../core/extension/colorx.dart';

View File

@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:provider/provider.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/view/widget/input_field.dart';
import '../../core/utils/ui.dart';

View File

@@ -2,7 +2,7 @@ import 'package:after_layout/after_layout.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:get_it/get_it.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/data/provider/app.dart';
import 'package:toolbox/data/res/misc.dart';
import 'package:toolbox/view/widget/round_rect_card.dart';

View File

@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:provider/provider.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/view/widget/input_field.dart';
import '../../data/model/pkg/upgrade_info.dart';

View File

@@ -5,9 +5,9 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/core/extension/numx.dart';
import 'package:toolbox/core/utils/misc.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/data/res/misc.dart';
import 'package:toolbox/view/widget/input_field.dart';

View File

@@ -2,7 +2,7 @@ import 'package:after_layout/after_layout.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:provider/provider.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/view/widget/input_field.dart';
import '../../../core/route.dart';

View File

@@ -4,7 +4,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:get_it/get_it.dart';
import 'package:provider/provider.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/core/utils/misc.dart';
import '../../../core/route.dart';
import '../../../core/utils/ui.dart';
@@ -114,21 +115,21 @@ class _ServerPageState extends State<ServerPage>
if (si == null) {
return const SizedBox();
}
return RoundRectCard(
InkWell(
onLongPress: () => AppRoute(
ServerEditPage(
spi: si.spi,
),
'Edit server info page')
.go(context),
child: Padding(
return GestureDetector(
onLongPress: () => AppRoute(
ServerEditPage(spi: si.spi),
'Edit server info page',
).go(context),
child: RoundRectCard(
Padding(
padding: const EdgeInsets.all(13),
child: _buildRealServerCard(si.status, si.spi.name, si.state, si.spi),
),
onTap: () => AppRoute(ServerDetailPage(si.spi.id), 'server detail page')
.go(context),
),
onTap: () => AppRoute(
ServerDetailPage(si.spi.id),
'server detail page',
).go(context),
);
}
@@ -172,7 +173,14 @@ class _ServerPageState extends State<ServerPage>
onTap: () => showRoundDialog(
context: context,
title: Text(_s.error),
child: Text(ss.failedInfo ?? ''),
child: Text(ss.failedInfo ?? _s.unknownError),
actions: [
TextButton(
onPressed: () =>
copy(ss.failedInfo ?? _s.unknownError),
child: Text(_s.copy),
)
],
),
child: Text(
_s.clickSee,

View File

@@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:flutter_material_color_picker/flutter_material_color_picker.dart';
import 'package:provider/provider.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/data/model/app/tab.dart';
import '../../core/utils/misc.dart';

View File

@@ -2,7 +2,7 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import '../../../core/extension/numx.dart';
import '../../../core/extension/stringx.dart';

View File

@@ -3,8 +3,7 @@ import 'dart:typed_data';
import 'package:dartssh2/dartssh2.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/view/widget/input_field.dart';
import 'package:toolbox/core/extension/navigator.dart';
import '../../../core/extension/numx.dart';
import '../../../core/extension/stringx.dart';
@@ -22,6 +21,7 @@ import '../../../data/res/ui.dart';
import '../../../data/store/private_key.dart';
import '../../../locator.dart';
import '../../widget/fade_in.dart';
import '../../widget/input_field.dart';
import '../../widget/two_line_text.dart';
import 'downloading.dart';
@@ -138,7 +138,7 @@ class _SFTPPageState extends State<SFTPPage> {
return IconButton(
padding: const EdgeInsets.all(0),
onPressed: () async {
final p = await showRoundDialog<String?>(
final p = await showRoundDialog<String>(
context: context,
title: Text(_s.goto),
child: Column(
@@ -146,7 +146,6 @@ class _SFTPPageState extends State<SFTPPage> {
children: [
Input(
label: _s.path,
hint: '/',
onSubmitted: (value) => context.pop(value),
),
],
@@ -154,19 +153,17 @@ class _SFTPPageState extends State<SFTPPage> {
actions: [
TextButton(
onPressed: () => context.pop(),
child: Text(_s.cancel),
child: Text(_s.close),
)
],
);
if (p != null) {
if (p.isEmpty) {
showSnackBar(context, Text(_s.fieldMustNotEmpty));
return;
}
_status.path?.update(p);
listDir(path: p);
// p == null || p.isEmpty
if (p?.isEmpty ?? true) {
return;
}
_status.path?.update(p!);
listDir(path: p);
},
icon: const Icon(Icons.gps_fixed),
);

View File

@@ -1,7 +1,7 @@
import 'package:after_layout/after_layout.dart';
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:toolbox/view/widget/input_field.dart';
import '../../../core/utils/ui.dart';

View File

@@ -6,7 +6,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:provider/provider.dart';
import 'package:toolbox/core/utils/navigator.dart';
import 'package:toolbox/core/extension/navigator.dart';
import 'package:xterm/xterm.dart' hide TerminalColors;
import '../../core/utils/platform.dart';

View File

@@ -8,7 +8,7 @@ class Input extends StatelessWidget {
final int? minLines;
final String? hint;
final String? label;
final Function(String)? onSubmitted;
final void Function(String)? onSubmitted;
final bool obscureText;
final IconData? icon;
final TextInputType? type;