newsfeed_page.dart 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import 'package:cpt_community/components/custom_tabs.dart';
  2. import 'package:flutter/material.dart';
  3. import 'package:auto_route/auto_route.dart';
  4. import 'package:hooks_riverpod/hooks_riverpod.dart';
  5. import 'package:router/ext/auto_router_extensions.dart';
  6. import '../../router/page/community_page_router.dart';
  7. import 'newsfeed_vm.dart';
  8. @RoutePage()
  9. class NewsfeedPage extends HookConsumerWidget {
  10. const NewsfeedPage({Key? key}) : super(key: key);
  11. //启动当前页面
  12. static void startInstance({BuildContext? context}) {
  13. if (context != null) {
  14. context.router.push(const NewsfeedPageRoute());
  15. } else {
  16. appRouter.push(const NewsfeedPageRoute());
  17. }
  18. }
  19. Widget _buildTabsSection(BuildContext context, WidgetRef ref, vm){
  20. return Container(
  21. width: double.infinity,
  22. padding: const EdgeInsets.only(left: 15, right: 15,top: 14,bottom: 14),
  23. child: CustomTabs(tabsList: vm.state.tabsList, activeIndex: vm.state.activeIndex),
  24. );
  25. }
  26. Widget _buildPostSection(BuildContext context, WidgetRef ref, vm){
  27. return Container(
  28. height: 100,
  29. color: Colors.red,
  30. );
  31. }
  32. Widget _buildNesFeedList(BuildContext context, WidgetRef ref, vm){
  33. return Container(
  34. height: 100,
  35. color: Colors.blue,
  36. );
  37. }
  38. @override
  39. Widget build(BuildContext context, WidgetRef ref) {
  40. final vm = ref.read(newsfeedVmProvider.notifier);
  41. return Scaffold(
  42. body: Column(
  43. children: [
  44. _buildTabsSection(context, ref, vm),
  45. _buildPostSection(context, ref, vm),
  46. Expanded(
  47. child: _buildNesFeedList(context, ref, vm),
  48. )
  49. ],
  50. ),
  51. );
  52. }
  53. }