Files
huangguo_android/lib/hj_page/home/dark_home_page.dart
T
2026-09-15 15:44:13 +07:00

75 lines
2.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hgdj/tools_base/loading/loading_center_widget.dart';
import 'package:provider/provider.dart';
import '../../alert/aw_permission_alert.dart';
import '../../hj_utils/screen.dart';
import '../../tools_base/global_store/store.dart';
import 'home_drawer.dart';
import 'home_main_logic.dart';
import 'home_main_page.dart';
import 'search_page/widget/common_search_widget.dart';
class DarkHomePage extends StatefulWidget {
final String? defaultId;
const DarkHomePage({super.key, this.defaultId});
@override
State<DarkHomePage> createState() => _DarkHomePageState();
}
class _DarkHomePageState extends State<DarkHomePage> {
late final logic =
HomeMainLogic(isDarkStyle: true, darkDefaultId: widget.defaultId);
@override
Widget build(BuildContext context) {
return Material(
color: const Color(0xff050f17),
child: GetBuilder<HomeMainLogic>(
init: logic,
tag: "HomeMainLogic_dark",
builder: (_) {
return Stack(
fit: StackFit.expand,
children: [
Scaffold(
//openEndDrawer 靠这个 key 拿 ScaffoldState,不挂 key 点右上角菜单没反应
key: logic.scaffoldKey,
backgroundColor: Colors.black,
endDrawer: HSHomeDrawer(homeLogic: logic),
body: logic.isLoading
? const LoadingCenterWidget()
: Column(
children: [
Container(
margin: EdgeInsets.only(top: screen.paddingTop),
height: kToolbarHeight,
//必须传 logic,右上角菜单的 onTap 是 logic?.openEndDrawer()
child: CommonSearchBarView(logic: logic),
),
Expanded(
child: HomeTabView(
key: ValueKey(logic.tabViewKey),
logic: logic,
isDarkStyle: true,
),
),
],
),
),
Consumer<GlobalStore>(builder: (_, store, __) {
if (store.isAWVIP) return const SizedBox.shrink();
return const Positioned.fill(
child: AwPermissionAlert(),
);
}),
],
);
},
),
);
}
}