flutter_app/lib/views/torstatusview.dart

64 lines
2.3 KiB
Dart
Raw Permalink Normal View History

2021-04-13 22:29:23 +00:00
import 'package:flutter/material.dart';
2021-05-19 21:39:52 +00:00
import 'package:cwtch/torstatus.dart';
import 'package:cwtch/widgets/tor_icon.dart';
2021-04-13 22:29:23 +00:00
import 'package:provider/provider.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
import '../main.dart';
/// Tor Status View provides all info on Tor network state and the (future) ability to configure the network in a variety
/// of ways (restart, enable bridges, enable pluggable transports etc)
class TorStatusView extends StatefulWidget {
@override
_TorStatusView createState() => _TorStatusView();
}
class _TorStatusView extends State<TorStatusView> {
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
2021-06-15 00:38:07 +00:00
title: Text(AppLocalizations.of(context)!.torNetworkStatus),
2021-04-13 22:29:23 +00:00
),
body: _buildSettingsList(),
);
}
Widget _buildSettingsList() {
return Consumer<TorStatus>(builder: (context, torStatus, child) {
return LayoutBuilder(builder: (BuildContext context, BoxConstraints viewportConstraints) {
return Scrollbar(
isAlwaysShown: true,
child: SingleChildScrollView(
clipBehavior: Clip.antiAlias,
child: ConstrainedBox(
constraints: BoxConstraints(
minHeight: viewportConstraints.maxHeight,
),
child: Column(children: [
ListTile(
2021-04-27 20:07:59 +00:00
leading: TorIcon(),
2021-06-15 00:38:07 +00:00
title: Text(AppLocalizations.of(context)!.torStatus),
2021-05-25 00:11:39 +00:00
subtitle: Text(torStatus.progress == 100 ? AppLocalizations.of(context)!.networkStatusOnline : torStatus.status),
2021-04-13 22:29:23 +00:00
trailing: ElevatedButton(
2021-06-15 00:38:07 +00:00
child: Text(AppLocalizations.of(context)!.resetTor),
2021-04-13 22:29:23 +00:00
onPressed: () {
Provider.of<FlwtchState>(context, listen: false).cwtch.ResetTor();
},
),
),
ListTile(
title: Text(AppLocalizations.of(context)!.torVersion),
subtitle: Text(torStatus.version),
2021-06-23 00:03:36 +00:00
),
2021-04-13 22:29:23 +00:00
]))));
});
});
}
}