web_drawer 0.0.2 copy "web_drawer: ^0.0.2" to clipboard
web_drawer: ^0.0.2 copied to clipboard

A flutter widget to handle web drawer with header.

example/lib/main.dart

// ignore_for_file: implementation_imports

import 'package:example/route/app_router.dart';
import 'package:example/route/router_name.dart';
import 'package:example/wrap_with_drawer.dart';
import 'package:flutter/material.dart';
import 'package:web_drawer/src/model/drawer_menu_item.dart';
import 'package:web_drawer/src/model/drawer_sub_menu.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(const MyApp());
}

List<DrawerMenuItem> menuItems = [
  DrawerMenuItem(
    title: 'Buying Station',
    route: RouteName.byuingstation,
    iconUrl: "assets/piggy-bank.png",
    isExpanded: ValueNotifier(false),
    subCategories: [
      DrawerSubMenuMenuItem(
        title: 'Quality',
        iconUrl: "assets/piggy-bank.png",
        route: RouteName.byuingstation1,
      ),
      DrawerSubMenuMenuItem(
        title: 'Opetation',
        iconUrl: "assets/piggy-bank.png",
        route: RouteName.byuingstation2,
      ),
    ],
  ),
  DrawerMenuItem(
    title: 'Procurement',
    iconUrl: "assets/box.png",
    isExpanded: ValueNotifier(false),
    route: RouteName.procurement,
  ),
  DrawerMenuItem(
    title: 'Handover',
    iconUrl: "assets/settings.png",
    isExpanded: ValueNotifier(false),
    route: RouteName.handover,
    subCategories: [
      DrawerSubMenuMenuItem(
        title: 'Handover1',
        iconUrl: "assets/settings.png",
        route: RouteName.handover1,
      ),
      DrawerSubMenuMenuItem(
        iconUrl: "assets/settings.png",
        title: 'Handover2',
        route: RouteName.handover2,
      ),
    ],
  ),
  DrawerMenuItem(
    title: 'Sales Invoice',
    isExpanded: ValueNotifier(false),
    iconUrl: "assets/user.png",
    route: RouteName.saleinvoice,
  ),
];

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(
      debugShowCheckedModeBanner: false,
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
      ),
      routerConfig: router,
      //home: const HomeScreen(),
    );
  }
}

class HomeScreen extends StatefulWidget {
  const HomeScreen({super.key});

  @override
  State<HomeScreen> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<HomeScreen> {
  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: WrapWithDrawer(
        pageTitle: "Home Screen",
        child: Center(child: Text("Home Screen")),
      ),
    );
  }
}
4
likes
0
points
27
downloads

Publisher

unverified uploader

Weekly Downloads

A flutter widget to handle web drawer with header.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on web_drawer