Fix windows some issues

Optimize overwrite handle

Optimize access control page

Optimize some details
This commit is contained in:
chen08209
2025-10-14 15:13:52 +08:00
parent 2395a4b20c
commit 6e404ab19c
156 changed files with 9931 additions and 3954 deletions

View File

@@ -1,3 +1,4 @@
import 'package:animations/animations.dart';
import 'package:fl_clash/common/common.dart';
import 'package:fl_clash/enum/enum.dart';
import 'package:fl_clash/models/models.dart';
@@ -32,6 +33,11 @@ class BaseNavigator {
// }
}
const commonSharedXPageTransitions = SharedAxisPageTransitionsBuilder(
transitionType: SharedAxisTransitionType.horizontal,
fillColor: Colors.transparent,
);
class CommonDesktopRoute<T> extends PageRoute<T> {
final Widget Function(BuildContext context) builder;
@@ -67,14 +73,45 @@ class CommonDesktopRoute<T> extends PageRoute<T> {
Duration get reverseTransitionDuration => Duration(milliseconds: 200);
}
class CommonRoute<T> extends MaterialPageRoute<T> {
CommonRoute({required super.builder});
class CommonRoute<T> extends PageRoute<T> {
final Widget Function(BuildContext context) builder;
CommonRoute({required this.builder});
@override
Duration get transitionDuration => const Duration(milliseconds: 500);
Color? get barrierColor => null;
@override
Duration get reverseTransitionDuration => const Duration(milliseconds: 500);
String? get barrierLabel => null;
@override
bool get maintainState => true;
@override
Widget buildPage(
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
) {
final Widget result = builder(context);
return Semantics(
scopesRoute: true,
explicitChildNodes: true,
child: SharedAxisTransition(
animation: animation,
secondaryAnimation: secondaryAnimation,
transitionType: SharedAxisTransitionType.horizontal,
fillColor: context.colorScheme.surface,
child: result,
),
);
}
@override
Duration get transitionDuration => Duration(milliseconds: 300);
@override
Duration get reverseTransitionDuration => Duration(milliseconds: 300);
}
final Animatable<Offset> _kRightMiddleTween = Tween<Offset>(
@@ -228,7 +265,7 @@ class _CommonPageTransitionState extends State<CommonPageTransition> {
DecorationTween(
begin: const _CommonEdgeShadowDecoration(),
end: _CommonEdgeShadowDecoration(<Color>[
widget.context.colorScheme.inverseSurface.withValues(alpha: 0.02),
Color(0x04000000),
Colors.transparent,
]),
),
@@ -279,7 +316,7 @@ class _CommonEdgeShadowPainter extends BoxPainter {
return;
}
final double shadowWidth = 1 * configuration.size!.width;
final double shadowWidth = 0.05 * configuration.size!.width;
final double shadowHeight = configuration.size!.height;
final double bandWidth = shadowWidth / (colors.length - 1);