mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2026-02-23 08:34:39 +01:00
opt.: deduplicate & merge
This commit is contained in:
@@ -222,13 +222,28 @@ extension _Actions on _ServerEditPageState {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.spi != null) {
|
||||
final ok = await context.showRoundDialog<bool>(
|
||||
title: libL10n.attention,
|
||||
child: Text(libL10n.askContinue('${l10n.jumpServer} ${libL10n.setting}')),
|
||||
actions: Btnx.cancelOk,
|
||||
);
|
||||
if (ok != true) return;
|
||||
final oldSpi = this.spi;
|
||||
if (oldSpi != null) {
|
||||
final originalJumpChain = oldSpi.jumpChainIds ?? (oldSpi.jumpId == null ? const <String>[] : [oldSpi.jumpId!]);
|
||||
final currentJumpChain = _jumpChain.value;
|
||||
|
||||
final jumpChainChanged = () {
|
||||
if (originalJumpChain.isEmpty && currentJumpChain.isEmpty) return false;
|
||||
if (originalJumpChain.length != currentJumpChain.length) return true;
|
||||
for (var i = 0; i < originalJumpChain.length; i++) {
|
||||
if (originalJumpChain[i] != currentJumpChain[i]) return true;
|
||||
}
|
||||
return false;
|
||||
}();
|
||||
|
||||
if (jumpChainChanged) {
|
||||
final ok = await context.showRoundDialog<bool>(
|
||||
title: libL10n.attention,
|
||||
child: Text(libL10n.askContinue('${l10n.jumpServer} ${libL10n.setting}')),
|
||||
actions: Btnx.cancelOk,
|
||||
);
|
||||
if (ok != true) return;
|
||||
}
|
||||
}
|
||||
|
||||
if (_keyIdx.value == null && _passwordController.text.isEmpty) {
|
||||
|
||||
Reference in New Issue
Block a user