72 lines
2.1 KiB
Dart
72 lines
2.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:food_hub_app/views/profile.dart';
|
|
import 'package:food_hub_app/views/record.dart';
|
|
import 'package:food_hub_app/views/stats.dart';
|
|
import 'package:liquid_glass_widgets/liquid_glass_widgets.dart';
|
|
import 'package:liquid_glass_widgets/widgets/shared/glass_page.dart';
|
|
import 'package:liquid_glass_widgets/widgets/surfaces/glass_app_bar.dart';
|
|
import 'package:liquid_glass_widgets/widgets/surfaces/glass_bottom_bar.dart';
|
|
import 'package:liquid_glass_widgets/widgets/surfaces/glass_scaffold.dart';
|
|
|
|
import 'moment.dart';
|
|
|
|
class HomePage extends StatefulWidget {
|
|
const HomePage({super.key});
|
|
|
|
@override
|
|
State<StatefulWidget> createState() => _HomePage();
|
|
}
|
|
|
|
class _HomePage extends State<HomePage> {
|
|
int _currentIndex = 0;
|
|
|
|
final _pages = [
|
|
const RecordPage(),
|
|
const StatsPage(),
|
|
const MomentPage(),
|
|
const ProfilePage(),
|
|
];
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final colors = Theme.of(context).colorScheme;
|
|
|
|
return GlassScaffold(
|
|
statusBarStyle: GlassStatusBarStyle.auto,
|
|
bottomBar: GlassBottomBar(
|
|
settings: LiquidGlassSettings(
|
|
glassColor: colors.surface
|
|
),
|
|
selectedIndex: _currentIndex,
|
|
onTabSelected: (i) => setState(() => _currentIndex = i),
|
|
indicatorColor: colors.primary,
|
|
selectedIconColor: colors.surface,
|
|
unselectedIconColor: Color(0xFF000000),
|
|
tabs: const [
|
|
GlassBottomBarTab(
|
|
icon: Icon(Icons.home_outlined),
|
|
activeIcon: Icon(Icons.home),
|
|
label: '记录',
|
|
),
|
|
GlassBottomBarTab(
|
|
icon: Icon(Icons.pie_chart_outline),
|
|
activeIcon: Icon(Icons.pie_chart),
|
|
label: '统计',
|
|
),
|
|
GlassBottomBarTab(
|
|
icon: Icon(Icons.group_outlined),
|
|
activeIcon: Icon(Icons.group),
|
|
label: '朋友圈',
|
|
),
|
|
GlassBottomBarTab(
|
|
icon: Icon(Icons.account_circle_outlined),
|
|
activeIcon: Icon(Icons.account_circle),
|
|
label: '我的',
|
|
),
|
|
],
|
|
),
|
|
body: _pages[_currentIndex],
|
|
);
|
|
}
|
|
}
|