new: shutdown | reboot on rootless user

This commit is contained in:
lollipopkit
2023-09-03 16:40:29 +08:00
parent ab09fa6614
commit 61218f9ca3
8 changed files with 95 additions and 70 deletions

View File

@@ -5,13 +5,11 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_gen/gen_l10n/l10n.dart';
import 'package:toolbox/core/extension/context.dart';
import 'package:toolbox/core/extension/ssh_client.dart';
import 'package:toolbox/data/model/app/tab.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../data/model/server/snippet.dart';
import '../../data/provider/snippet.dart';
import '../../data/res/misc.dart';
import '../../data/res/ui.dart';
import '../../locator.dart';
import '../../view/widget/input_field.dart';
@@ -97,21 +95,6 @@ Future<String?> showPwdDialog(
);
}
Future<void> onPwd(
String event,
StreamSink<Uint8List> stdin,
PwdRequestFunc? onPwdReq,
) async {
if (event.contains('[sudo] password for ')) {
final user = pwdRequestWithUserReg.firstMatch(event)?.group(1);
final pwd = await onPwdReq?.call(user);
if (pwd == null || pwd.isEmpty) {
return;
}
stdin.add('$pwd\n'.uint8List);
}
}
Widget buildSwitch(
BuildContext context,
StorePropertyBase<bool> prop, {