Skip to content

Commit

Permalink
refactored and added drawer for mobile navigation
Browse files Browse the repository at this point in the history
  • Loading branch information
mikezamayias committed Jan 14, 2022
1 parent 0515add commit 9da0b9d
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 32 deletions.
34 changes: 34 additions & 0 deletions lib/widgets/custom_navigation_bar/navigation_actions.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import 'package:flutter/material.dart';

List<TextButton> navigationActions = [
// home
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.home_rounded),
label: const Text('Home'),
),
// register
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.person_add_rounded),
label: const Text('Register'),
),
// login
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.login_rounded),
label: const Text('Login'),
),
// cart
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.shopping_cart_rounded),
label: const Text('Cart'),
),
// contact
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.contact_page_rounded),
label: const Text('Contact'),
),
];
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_ecommerce_website_demo/widgets/custom_navigation_bar/navigation_actions.dart';
import 'package:flutter_ecommerce_website_demo/widgets/custom_navigation_bar/navigation_bar_logo.dart';
import 'package:flutter_svg/flutter_svg.dart';

Expand All @@ -18,38 +19,7 @@ class CustomNavigationBarTasktop extends StatelessWidget {
const NavigationBarLogo(),
Row(
mainAxisSize: MainAxisSize.min,
children: [
// home
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.home_rounded),
label: const Text('Home'),
),
// register
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.person_add_rounded),
label: const Text('Register'),
),
// login
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.login_rounded),
label: const Text('Login'),
),
// cart
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.shopping_cart_rounded),
label: const Text('Cart'),
),
// contact
TextButton.icon(
onPressed: () {},
icon: const Icon(Icons.contact_page_rounded),
label: const Text('Contact'),
),
],
children: navigationActions,
)
],
),
Expand Down
47 changes: 47 additions & 0 deletions lib/widgets/custom_navigation_drawer/custom_navigation_drawer.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import 'package:flutter/material.dart';

import '../custom_navigation_bar/navigation_actions.dart';
import '../custom_navigation_bar/navigation_bar_logo.dart';

class CustomNavigationDrawer extends StatelessWidget {
const CustomNavigationDrawer({Key? key}) : super(key: key);

@override
Widget build(BuildContext context) {
return SizedBox(
width: 210,
height: MediaQuery.of(context).size.height,
child: Container(
decoration: const BoxDecoration(
color: Colors.white,
boxShadow: [
BoxShadow(
color: Colors.black12,
blurRadius: 18,
),
],
),
padding: const EdgeInsets.symmetric(horizontal: 18),
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Padding(
padding: EdgeInsets.symmetric(vertical: 30),
child: NavigationBarLogo(),
),
...navigationActions
.map(
(action) => Padding(
padding: const EdgeInsets.symmetric(vertical: 10),
child: action,
),
)
.toList(),
],
),
),
);
}
}

0 comments on commit 9da0b9d

Please sign in to comment.