Untitled
unknown
plain_text
2 years ago
5.0 kB
3
Indexable
// noti_page import 'package:finbox_v2/feature/notification/provider/noti_provider.dart'; import 'package:finbox_v2/feature/notification/widget/noti_management.dart'; import 'package:finbox_v2/feature/notification/widget/noti_tab.dart'; import 'package:finbox_v2/feature/notification/widget/system_tab.dart'; import 'package:finbox_v2/l10n/l10n.dart'; import 'package:finbox_v2/shared/repository/user_repository.dart'; import 'package:finbox_v2/shared/util/navigation_util.dart'; import 'package:finbox_v2/theme/finbox_theme.dart'; import 'package:finbox_v2/theme/main_layout.dart'; import 'package:finbox_v2/widgets/custom_underline_indicator.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; class NotificationPage extends ConsumerStatefulWidget { const NotificationPage({Key? key}) : super(key: key); @override ConsumerState<NotificationPage> createState() => NotificationPageState(); } class NotificationPageState extends ConsumerState<NotificationPage> with SingleTickerProviderStateMixin { @override void dispose() { print('dispose parent widget'); super.dispose(); } @override Widget build(BuildContext context) { late final finboxColors = Theme.of(context).extension<FinboxColors>()!; late final textTheme = Theme.of(context).textTheme; final user = ref.watch(userDataProvider); return PopLayout( actions: [ IconButton( icon: Icon(Icons.edit), onPressed: () { ref.refresh(notiProvider); Navigator.pushReplacement( context, MaterialPageRoute( builder: (context) => NotiManagement(user: user!), ), ); }), ], titleAppbar: '', content: Column( children: [ Align( alignment: Alignment.centerLeft, child: Container( margin: EdgeInsets.only(left: 16), padding: EdgeInsets.only(top: 10), child: Text( context.l10n.thong_bao, style: textTheme.displaySmall!.copyWith( fontWeight: FinboxFontWeight.semiBold.value, ), ), ), ), SizedBox( height: 21, ), Expanded( child: DefaultTabController( length: 2, child: Column( children: [ Align( alignment: Alignment.centerLeft, child: TabBar( physics: const BouncingScrollPhysics(), isScrollable: true, unselectedLabelColor: finboxColors.dark3, unselectedLabelStyle: finboxColors.fontBodyNormal!.copyWith( fontWeight: FinboxFontWeight.medium.value, ), labelStyle: finboxColors.fontBodyNormal!.copyWith( fontWeight: FinboxFontWeight.medium.value, ), tabs: <Widget>[ Tab( // text: child: Text( context.l10n.he_thong, style: finboxColors.fontBodyLarge!.copyWith( fontWeight: FinboxFontWeight.medium.value, ), ), ), Tab( // text: child: Text( context.l10n.thong_bao, style: finboxColors.fontBodyLarge!.copyWith( fontWeight: FinboxFontWeight.medium.value, ), ), ), ], indicatorPadding: const EdgeInsets.all(7), indicator: CustomUnderlineIndicator( horizontalPadding: 20, color: finboxColors.mainColor!, ), ), ), Expanded( child: PageView( pageSnapping: false, children: [ TabBarView( children: <Widget>[ SystemTab(user: user!), NotiTab(), ], ), ], ), ), ], ), ), ), ], )); } }
Editor is loading...