drawer ui

null-safety-migration
suvaissov 2021-07-30 14:28:25 +06:00
parent fe99db18b4
commit cc2493ba2e
5 changed files with 70 additions and 42 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -1,5 +1,6 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:satu/core/redux/actions/nav_actions.dart'; import 'package:satu/core/redux/actions/nav_actions.dart';
import 'package:satu/core/redux/actions/user_actions.dart'; import 'package:satu/core/redux/actions/user_actions.dart';
import 'package:satu/core/redux/store.dart'; import 'package:satu/core/redux/store.dart';
@ -17,11 +18,14 @@ class AppDrawer extends StatelessWidget {
padding: EdgeInsets.zero, padding: EdgeInsets.zero,
children: <Widget>[ children: <Widget>[
_createHeader(), _createHeader(),
_createDrawerItem(icon: Icons.contacts, text: 'Касса', onTap: () { _createDrawerItem(
Navigator.of(context).pop(); icon: Icons.contacts,
Redux.store!.dispatch(navigateDrawer(WorkView)); text: 'Касса',
}), onTap: () {
Divider(), Navigator.of(context).pop();
Redux.store!.dispatch(navigateDrawer(WorkView));
}),
const Divider(),
ExpansionTile( ExpansionTile(
title: Text('Справочники'), // ignore: prefer_const_constructors title: Text('Справочники'), // ignore: prefer_const_constructors
childrenPadding: const EdgeInsets.only(left: 18.0), childrenPadding: const EdgeInsets.only(left: 18.0),
@ -44,18 +48,24 @@ class AppDrawer extends StatelessWidget {
Navigator.of(context).pop(); Navigator.of(context).pop();
}, },
), ),
], ],
), ),
_createDrawerItem(icon: Icons.settings, text: 'Настройки', onTap: () { _createDrawerItem(
Navigator.of(context).pop(); icon: Icons.settings,
Redux.store!.dispatch(navigateDrawer(SettingsView)); text: 'Настройки',
}), onTap: () {
Navigator.of(context).pop();
Redux.store!.dispatch(navigateDrawer(SettingsView));
}),
Divider(), Divider(),
_createDrawerItem(icon: Icons.bug_report, text: 'Сообщить об ошибке'), _createDrawerItem(icon: Icons.bug_report, text: 'Сообщить об ошибке'),
verticalSpaceMedium, verticalSpaceMedium,
_createDrawerItem(icon: Icons.exit_to_app, text: 'Выйти из аккаунта', onTap: () async { _createDrawerItem(
Redux.store!.dispatch(logout); icon: Icons.exit_to_app,
}), text: 'Выйти из аккаунта',
onTap: () async {
Redux.store!.dispatch(logout);
}),
ListTile( ListTile(
title: Text('0.0.1'), title: Text('0.0.1'),
), ),
@ -65,32 +75,50 @@ class AppDrawer extends StatelessWidget {
} }
Widget _createHeader() { Widget _createHeader() {
return DrawerHeader( return SizedBox(
margin: EdgeInsets.zero, height: 180.h,
padding: EdgeInsets.zero, child: DrawerHeader(
decoration: BoxDecoration( margin: EdgeInsets.zero,
color: primaryColor padding: EdgeInsets.zero,
), decoration: const BoxDecoration(
// decoration: BoxDecoration( image: DecorationImage(
// image: DecorationImage( fit: BoxFit.cover,
// fit: BoxFit.fill, image: AssetImage('assets/images/drawer/background.png'))),
// image: AssetImage('assets/images/halyk-bank.png'))), child: Stack(children: <Widget>[
child: Stack(children: <Widget>[ Positioned(
Positioned( bottom: 12.0,
bottom: 12.0, left: 16.0,
left: 16.0, child: Row(
child: Text('Сату - онлайн касса', children: [
style: TextStyle( SizedBox(
color: Colors.white, height: 40,
fontSize: 20.0, width: 40,
fontWeight: FontWeight.w500) child: Container(
) decoration: const BoxDecoration(
), image: DecorationImage(
])); fit: BoxFit.cover,
image: AssetImage(
'assets/images/drawer/user.png')))),
),
horizontalSpaceSmall,
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: const [
Text('Хайруллин Тимур',
style: TextStyle(fontSize: 16.0)),
Text('Продавец', style: TextStyle(fontSize: 12)),
],
),
],
)),
])),
);
} }
Widget _createDrawerItem( Widget _createDrawerItem(
{required IconData icon, required String text, GestureTapCallback? onTap}) { {required IconData icon,
required String text,
GestureTapCallback? onTap}) {
return ListTile( return ListTile(
title: Row( title: Row(
children: <Widget>[ children: <Widget>[
@ -104,5 +132,4 @@ class AppDrawer extends StatelessWidget {
onTap: onTap, onTap: onTap,
); );
} }
} }

View File

@ -330,14 +330,14 @@ packages:
name: permission_handler name: permission_handler
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "8.1.2" version: "8.1.4+2"
permission_handler_platform_interface: permission_handler_platform_interface:
dependency: transitive dependency: transitive
description: description:
name: permission_handler_platform_interface name: permission_handler_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.6.0" version: "3.6.1"
platform: platform:
dependency: transitive dependency: transitive
description: description:

View File

@ -27,7 +27,7 @@ dependencies:
# The following adds the Cupertino Icons font to your application. # The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons. # Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2 cupertino_icons: ^1.0.3
redux: ^5.0.0 redux: ^5.0.0
flutter_redux: ^0.8.2 flutter_redux: ^0.8.2
redux_thunk: ^0.4.0 redux_thunk: ^0.4.0
@ -55,7 +55,7 @@ dependencies:
uuid: ^3.0.4 uuid: ^3.0.4
charset_converter: ^2.0.0 charset_converter: ^2.0.0
ai_barcode: ^3.0.1 ai_barcode: ^3.0.1
permission_handler: ^8.1.2 permission_handler: ^8.1.4+2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
@ -76,6 +76,7 @@ flutter:
# To add assets to your application, add an assets section, like this: # To add assets to your application, add an assets section, like this:
assets: assets:
- assets/images/ - assets/images/
- assets/images/drawer/
- assets/lang/en.json - assets/lang/en.json
- assets/lang/ru.json - assets/lang/ru.json
- assets/google_fonts/ - assets/google_fonts/