Support core status check and force restart Optimize proxies page and access page Update flutter and pub dependencies Update go version Optimize more details
44 lines
1.0 KiB
Dart
44 lines
1.0 KiB
Dart
import 'package:fl_clash/common/common.dart';
|
|
import 'package:fl_clash/enum/enum.dart';
|
|
import 'package:fl_clash/providers/state.dart';
|
|
import 'package:fl_clash/state.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
|
|
class VpnManager extends ConsumerStatefulWidget {
|
|
final Widget child;
|
|
|
|
const VpnManager({super.key, required this.child});
|
|
|
|
@override
|
|
ConsumerState<VpnManager> createState() => _VpnContainerState();
|
|
}
|
|
|
|
class _VpnContainerState extends ConsumerState<VpnManager> {
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
ref.listenManual(vpnStateProvider, (prev, next) {
|
|
showTip();
|
|
});
|
|
}
|
|
|
|
void showTip() {
|
|
throttler.call(
|
|
FunctionTag.vpnTip,
|
|
() {
|
|
if (ref.read(isStartProvider)) {
|
|
globalState.showNotifier(appLocalizations.vpnTip);
|
|
}
|
|
},
|
|
duration: const Duration(seconds: 6),
|
|
fire: true,
|
|
);
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return widget.child;
|
|
}
|
|
}
|