phase3(critical-path): home page chain null-safe

home.dart + desktop/mobile navigation, carousels, index content widgets,
customers_logo, appbar_menu, navigation_drawer, MobileBottomNav, double_back.
Fixes: Key? params, nullable State fields, Scrollbar thumbVisibility,
ModalRoute.of()?, badges hide Badge, cartInfos local promotion.
This commit is contained in:
2026-07-24 13:42:03 +08:00
parent ae4c4046c3
commit 88dd90ed7c
16 changed files with 60 additions and 58 deletions

View File

@@ -14,12 +14,12 @@ import '../../widgets/general/breadcrumbs.dart';
import '../../widgets/general/navigationbar.dart';
class DesktopNavigationBar extends StatefulWidget {
final bool hasBack;
final List<BreadCrumb> breadCrumbs;
final Widget shoppingCart;
final OnBackPress onBackPress;
final bool? hasBack;
final List<BreadCrumb>? breadCrumbs;
final Widget? shoppingCart;
final OnBackPress? onBackPress;
const DesktopNavigationBar({Key key, this.hasBack, this.breadCrumbs,
const DesktopNavigationBar({Key? key, this.hasBack, this.breadCrumbs,
this.shoppingCart, this.onBackPress}) : super(key: key);
@override
@@ -30,16 +30,16 @@ class DesktopNavigationBar extends StatefulWidget {
}
class DesktopNavigationBarState extends State<DesktopNavigationBar> {
User _user;
User? _user;
@override
Widget build(BuildContext context) {
Widget sc = SizedBox.shrink();
if (widget.shoppingCart != null) {
sc = widget.shoppingCart;
sc = widget.shoppingCart!;
}
Widget breadCrumbBar = SizedBox.shrink();
if (widget.breadCrumbs != null && widget.breadCrumbs.length > 0) {
if (widget.breadCrumbs != null && widget.breadCrumbs!.length > 0) {
breadCrumbBar = Container(
width: MediaQuery.of(context).size.width,
height: Constants.BREADCRUMB_HEIGHT,