diff --git a/assets/translations/ar.json b/assets/translations/ar.json index df339ae6..7677aaf7 100644 --- a/assets/translations/ar.json +++ b/assets/translations/ar.json @@ -17,5 +17,7 @@ "gasRefillRequest" : "طلب إعادة تعبئة غاز", "transferRequest" : "طلب نقل", "serviceRequest" : "طلب خدمة", - "newServiceRequest" : "طلب خدمة جديدة" + "newServiceRequest" : "طلب خدمة جديدة", + "newGasRefillRequest" : "طلب إعادة تعبئة غاز جديد", + "newTransferRequest" : "طلب نقل جديد" } \ No newline at end of file diff --git a/assets/translations/en.json b/assets/translations/en.json index 6b0b85ca..321ff158 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -17,5 +17,7 @@ "gasRefillRequest" : "Gas Refill Request", "transferRequest" : "Transfer Request", "serviceRequest" : "Service Request", - "newServiceRequest" : "New Service Request" + "newServiceRequest" : "New Service Request", + "newGasRefillRequest" : "New Gas Refill Request", + "newTransferRequest" : "New Transfer Request" } \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index d39cdd5e..93a4b750 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -10,10 +10,12 @@ import 'package:test_sa/new_views/app_style/app_themes.dart'; import 'package:test_sa/new_views/pages/land_page/land_page.dart'; import 'package:test_sa/new_views/pages/login_page.dart'; import 'package:test_sa/new_views/pages/new_service_request_page.dart'; +import 'package:test_sa/new_views/pages/new_transfer_request_page.dart'; import 'package:test_sa/new_views/pages/splash_page.dart'; import 'controllers/providers/api/user_provider.dart'; import 'controllers/providers/settings/setting_provider.dart'; +import 'new_views/pages/new_gas_refill_request_page.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -76,6 +78,8 @@ class MyApp extends StatelessWidget { LoginPage.routeName: (_) => const LoginPage(), LandPage.routeName: (_) => const LandPage(), NewServiceRequestPage.routeName: (_) => const NewServiceRequestPage(), + NewGasRefillRequestPage.routeName: (_) => const NewGasRefillRequestPage(), + NewTransferRequestPage.routeName: (_) => const NewTransferRequestPage(), }, ), ), diff --git a/lib/models/enums/translation_keys.dart b/lib/models/enums/translation_keys.dart index 32475215..e289bfc3 100644 --- a/lib/models/enums/translation_keys.dart +++ b/lib/models/enums/translation_keys.dart @@ -18,4 +18,6 @@ enum TranslationKeys { transferRequest, serviceRequest, newServiceRequest, + newGasRefillRequest, + newTransferRequest, } diff --git a/lib/new_views/app_style/app_themes.dart b/lib/new_views/app_style/app_themes.dart index 3b66e06c..8209faf2 100644 --- a/lib/new_views/app_style/app_themes.dart +++ b/lib/new_views/app_style/app_themes.dart @@ -23,7 +23,7 @@ class AppThemes { unselectedItemColor: AppColor.neutral20, backgroundColor: Colors.white, ), - appBarTheme: AppBarTheme(elevation: 0, backgroundColor: Colors.white, titleTextStyle: ThemeData.light().textTheme.displayLarge.copyWith(color: AppColor.neutral50)), + appBarTheme: AppBarTheme(elevation: 0, backgroundColor: Colors.white, iconTheme: ThemeData.light().iconTheme.copyWith(color: AppColor.neutral50)), cardTheme: ThemeData.light().cardTheme.copyWith( elevation: 3, shadowColor: Colors.white.withOpacity(0.05), @@ -51,7 +51,7 @@ class AppThemes { unselectedItemColor: AppColor.neutral10, backgroundColor: AppColor.neutral60, ), - appBarTheme: AppBarTheme(elevation: 0, backgroundColor: AppColor.neutral60, titleTextStyle: ThemeData.dark().textTheme.headlineMedium.copyWith(color: AppColor.neutral30)), + appBarTheme: AppBarTheme(elevation: 0, backgroundColor: AppColor.neutral60, iconTheme: ThemeData.dark().iconTheme.copyWith(color: AppColor.primary40)), cardTheme: ThemeData.dark().cardTheme.copyWith( elevation: 3, shadowColor: Colors.white.withOpacity(0.05), diff --git a/lib/new_views/common_widgets/app_floating_action_button.dart b/lib/new_views/common_widgets/app_floating_action_button.dart index 204b7999..d8c6617f 100644 --- a/lib/new_views/common_widgets/app_floating_action_button.dart +++ b/lib/new_views/common_widgets/app_floating_action_button.dart @@ -2,7 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/extensions/int_extensions.dart'; +import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart'; import 'package:test_sa/new_views/pages/new_service_request_page.dart'; +import 'package:test_sa/new_views/pages/new_transfer_request_page.dart'; import '../../models/enums/translation_keys.dart'; import '../app_style/app_color.dart'; @@ -45,11 +47,11 @@ class _AppFloatingActionButtonState extends State { child: Column( mainAxisSize: MainAxisSize.min, children: [ - const _FloatingButtonListTile(iconName: "gas_refill_request", label: TranslationKeys.gasRefillRequest, routeName: NewServiceRequestPage.routeName), + const _FloatingButtonListTile(iconName: "gas_refill_request", label: TranslationKeys.gasRefillRequest, routeName: NewGasRefillRequestPage.routeName), Padding(padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth), child: const Divider()), - const _FloatingButtonListTile(iconName: "transfer_request", label: TranslationKeys.transferRequest, routeName: ""), + const _FloatingButtonListTile(iconName: "transfer_request", label: TranslationKeys.transferRequest, routeName: NewTransferRequestPage.routeName), Padding(padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth), child: const Divider()), - const _FloatingButtonListTile(iconName: "service_request", label: TranslationKeys.serviceRequest, routeName: ""), + const _FloatingButtonListTile(iconName: "service_request", label: TranslationKeys.serviceRequest, routeName: NewServiceRequestPage.routeName), ], ), ), diff --git a/lib/new_views/common_widgets/default_app_bar.dart b/lib/new_views/common_widgets/default_app_bar.dart new file mode 100644 index 00000000..6f9cd991 --- /dev/null +++ b/lib/new_views/common_widgets/default_app_bar.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; +import 'package:test_sa/extensions/context_extension.dart'; +import 'package:test_sa/extensions/int_extensions.dart'; + +import '../../models/enums/translation_keys.dart'; +import '../app_style/app_color.dart'; + +class DefaultAppBar extends StatelessWidget implements PreferredSizeWidget { + final TranslationKeys title; + const DefaultAppBar({@required this.title, Key key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return AppBar( + leading: InkWell( + onTap: () { + Navigator.of(context).pop(); + }, + child: const Icon(Icons.arrow_back_ios), + ), + titleSpacing: 0, + leadingWidth: 50.toScreenWidth, + titleTextStyle: Theme.of(context).textTheme.headlineSmall?.copyWith(fontWeight: FontWeight.w600, color: context.isDark ? AppColor.neutral30 : AppColor.neutral50), + title: Text(context.translate(title)), + ); + } + + @override + Size get preferredSize => Size.fromHeight(60.toScreenHeight); +} diff --git a/lib/new_views/pages/new_gas_refill_request_page.dart b/lib/new_views/pages/new_gas_refill_request_page.dart new file mode 100644 index 00000000..6c2c1d76 --- /dev/null +++ b/lib/new_views/pages/new_gas_refill_request_page.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; +import 'package:test_sa/models/enums/translation_keys.dart'; + +import '../common_widgets/default_app_bar.dart'; + +class NewGasRefillRequestPage extends StatelessWidget { + static const String routeName = "/new_gas_refill_request_page"; + const NewGasRefillRequestPage({Key key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return const Scaffold( + appBar: DefaultAppBar(title: TranslationKeys.newGasRefillRequest), + ); + } +} diff --git a/lib/new_views/pages/new_service_request_page.dart b/lib/new_views/pages/new_service_request_page.dart index b2b3ab7f..48cc022c 100644 --- a/lib/new_views/pages/new_service_request_page.dart +++ b/lib/new_views/pages/new_service_request_page.dart @@ -1,15 +1,16 @@ import 'package:flutter/material.dart'; -import 'package:test_sa/extensions/context_extension.dart'; import 'package:test_sa/models/enums/translation_keys.dart'; +import '../common_widgets/default_app_bar.dart'; + class NewServiceRequestPage extends StatelessWidget { static const String routeName = "/new_service_request_page"; const NewServiceRequestPage({Key key}) : super(key: key); @override Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar(title: Text(context.translate(TranslationKeys.serviceRequest))), + return const Scaffold( + appBar: DefaultAppBar(title: TranslationKeys.newServiceRequest), ); } } diff --git a/lib/new_views/pages/new_transfer_request_page.dart b/lib/new_views/pages/new_transfer_request_page.dart new file mode 100644 index 00000000..ed7d0cf6 --- /dev/null +++ b/lib/new_views/pages/new_transfer_request_page.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; +import 'package:test_sa/models/enums/translation_keys.dart'; + +import '../common_widgets/default_app_bar.dart'; + +class NewTransferRequestPage extends StatelessWidget { + static const String routeName = "/new_transfer_request_page"; + const NewTransferRequestPage({Key key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return const Scaffold( + appBar: DefaultAppBar(title: TranslationKeys.newTransferRequest), + ); + } +}