mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-05-30 23:58:13 +08:00
mouse back
Closes #1317 Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
27
lib/common/widgets/mouse_back.dart
Normal file
27
lib/common/widgets/mouse_back.dart
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
import 'package:flutter/gestures.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class MouseBackDetector extends StatelessWidget {
|
||||||
|
const MouseBackDetector({
|
||||||
|
super.key,
|
||||||
|
required this.onTapDown,
|
||||||
|
required this.child,
|
||||||
|
});
|
||||||
|
|
||||||
|
final Widget child;
|
||||||
|
|
||||||
|
final VoidCallback onTapDown;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Listener(
|
||||||
|
onPointerDown: (event) {
|
||||||
|
if (event.buttons == kBackMouseButton) {
|
||||||
|
onTapDown();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
behavior: HitTestBehavior.translucent,
|
||||||
|
child: child,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@ import 'dart:io';
|
|||||||
import 'package:PiliPlus/build_config.dart';
|
import 'package:PiliPlus/build_config.dart';
|
||||||
import 'package:PiliPlus/common/constants.dart';
|
import 'package:PiliPlus/common/constants.dart';
|
||||||
import 'package:PiliPlus/common/widgets/custom_toast.dart';
|
import 'package:PiliPlus/common/widgets/custom_toast.dart';
|
||||||
|
import 'package:PiliPlus/common/widgets/mouse_back.dart';
|
||||||
import 'package:PiliPlus/http/init.dart';
|
import 'package:PiliPlus/http/init.dart';
|
||||||
import 'package:PiliPlus/models/common/theme/theme_color_type.dart';
|
import 'package:PiliPlus/models/common/theme/theme_color_type.dart';
|
||||||
import 'package:PiliPlus/router/app_pages.dart';
|
import 'package:PiliPlus/router/app_pages.dart';
|
||||||
@@ -248,12 +249,19 @@ class MyApp extends StatelessWidget {
|
|||||||
toastBuilder: (String msg) => CustomToast(msg: msg),
|
toastBuilder: (String msg) => CustomToast(msg: msg),
|
||||||
loadingBuilder: (msg) => LoadingWidget(msg: msg),
|
loadingBuilder: (msg) => LoadingWidget(msg: msg),
|
||||||
builder: (context, child) {
|
builder: (context, child) {
|
||||||
return MediaQuery(
|
child = MediaQuery(
|
||||||
data: MediaQuery.of(context).copyWith(
|
data: MediaQuery.of(context).copyWith(
|
||||||
textScaler: TextScaler.linear(Pref.defaultTextScale),
|
textScaler: TextScaler.linear(Pref.defaultTextScale),
|
||||||
),
|
),
|
||||||
child: child!,
|
child: child!,
|
||||||
);
|
);
|
||||||
|
if (Utils.isDesktop) {
|
||||||
|
return MouseBackDetector(
|
||||||
|
onTapDown: Get.back,
|
||||||
|
child: child,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return child;
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
navigatorObservers: [
|
navigatorObservers: [
|
||||||
|
|||||||
Reference in New Issue
Block a user