This commit is contained in:
2026-07-12 04:33:48 +08:00
parent f8a90ad305
commit e7ce0f7bae
151 changed files with 2765 additions and 2947 deletions

View File

@@ -7,10 +7,10 @@ import '../../routes.dart';
import 'navigationbar.dart';
class BreadCrumbs extends StatelessWidget {
final List<BreadCrumb> breadCrumbs;
final List<BreadCrumb>? breadCrumbs;
final bool hasBack;
final OnBackPress onBackPress;
const BreadCrumbs(this.hasBack, {this.breadCrumbs, Key key, this.onBackPress}) : super(key: key);
final OnBackPress? onBackPress;
const BreadCrumbs(this.hasBack, {this.breadCrumbs, Key? key, this.onBackPress}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -49,17 +49,17 @@ class BreadCrumbs extends StatelessWidget {
));
}
if (breadCrumbs != null) {
for (int i = 0; i < breadCrumbs.length; i++) {
BreadCrumb breadCrumb = breadCrumbs[i];
for (int i = 0; i < breadCrumbs!.length; i++) {
BreadCrumb breadCrumb = breadCrumbs![i];
if (breadCrumb.text == null && breadCrumb.item != null) {
if (breadCrumb.onTap == null) {
widgets.add(breadCrumb.item);
widgets.add(breadCrumb.item!);
} else {
widgets.add(MouseRegion(
cursor: SystemMouseCursors.click,
child: GestureDetector(
child: breadCrumb.item,
onTap: breadCrumb.onTap,
child: breadCrumb.item!,
onTap: breadCrumb.onTap as GestureTapCallback?,
),
));
}
@@ -94,7 +94,7 @@ class BreadCrumbs extends StatelessWidget {
color: Colors.blueAccent,
),
Text(
breadCrumb.text,
breadCrumb.text ?? '',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 14.0,
@@ -103,7 +103,7 @@ class BreadCrumbs extends StatelessWidget {
],
) :
Text(
breadCrumb.text,
breadCrumb.text ?? '',
style: TextStyle(
color: Colors.blueAccent,
fontSize: 14.0,
@@ -113,7 +113,7 @@ class BreadCrumbs extends StatelessWidget {
],
),
onTap: () {
Routes.router.navigateTo(context, breadCrumb.route);
Routes.router.navigateTo(context, breadCrumb.route ?? '');
},
),
),
@@ -145,7 +145,7 @@ class BreadCrumbs extends StatelessWidget {
color: Colors.lightBlueAccent,
),
Text(
breadCrumb.text,
breadCrumb.text ?? '',
style: TextStyle(
color: Colors.black54,
fontSize: 14.0,
@@ -155,7 +155,7 @@ class BreadCrumbs extends StatelessWidget {
],
) :
Text(
breadCrumb.text,
breadCrumb.text ?? '',
style: TextStyle(
color: Colors.black54,
fontSize: 14.0,
@@ -184,11 +184,11 @@ class BreadCrumbs extends StatelessWidget {
}
class BreadCrumb {
final String text;
final String route;
final IconData icon;
final Widget item;
final Function onTap;
final String? text;
final String? route;
final IconData? icon;
final Widget? item;
final Function? onTap;
BreadCrumb(this.text, this.route, {this.icon, this.item, this.onTap});
}