senior_design_system 0.4.0 copy "senior_design_system: ^0.4.0" to clipboard
senior_design_system: ^0.4.0 copied to clipboard

outdated

Flutter package with Senior Design System widgets.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:senior_design_system/senior_design_system.dart';

import 'views/action_button.example.dart';
import 'views/animation.example.dart';
import 'views/balance.example.dart';
import 'views/button.example.dart';
import 'views/checkbox.example.dart';
import 'views/dropdown_button.example.dart';
import 'views/expansion_panel.example.dart';
import 'views/info_card.example.dart';
import 'views/radio_button.example.dart';
import 'views/snack_bar.example.dart';
import 'views/switch.example.dart';
import 'views/app_bar__tab_bar.example.dart';
import 'views/text_field.example.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Senior Design System Showcase',
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  final PageController _pageController = PageController();
  final Map<String, Widget> _pages = {
    'Action Button': ActionButtonExample(),
    'Animation': AnimationExample(),
    'App Bar/Tab Bar': AppBarTabBarExample(),
    'Balance': BalanceExample(),
    'Button': ButtonExample(),
    'Checkbox': CheckboxExample(),
    'Dropdown Button': DropdownButtonExample(),
    'Expansion Panel': ExpansionPanelExample(),
    'Info Card': InfoCardExample(),
    'Radio Button': RadioButtonExample(),
    'Snack Bar': SnackBarExample(),
    'Switch': SwitchExample(),
    'Text Field': TextFieldExample(),
  };

  HomePage({
    Key? key,
  }) : super(key: key);

  ListView _getListViewMenu() {
    return ListView(
      children: _pages.keys
          .toList()
          .asMap()
          .map((pos, title) => MapEntry(
              title,
              ListTile(
                title: Text(title),
                onTap: () => _jumpToPage(page: pos),
              )))
          .values
          .toList(),
    );
  }

  void _jumpToPage({required int page}) {
    _pageController.jumpToPage(page);
  }

  void _previousPage() {
    _pageController.previousPage(
      duration: Duration(milliseconds: 500),
      curve: Curves.easeIn,
    );
  }

  void _nextPage() {
    _pageController.nextPage(
      duration: Duration(milliseconds: 500),
      curve: Curves.easeIn,
    );
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        appBar: SeniorAppBarPage(
          title: 'SDS Mobile',
          leading: SeniorAppBarAction(
            icon: FontAwesomeIcons.bars,
            onPressed: () {},
          ),
          bottom: null,
          actions: [
            SeniorAppBarAction(
              icon: FontAwesomeIcons.arrowLeft,
              onPressed: _previousPage,
              tooltip: 'Anterior',
            ),
            SeniorAppBarAction(
              icon: FontAwesomeIcons.arrowRight,
              onPressed: _nextPage,
              tooltip: 'Próximo',
            ),
          ],
        ),
        drawer: Drawer(child: _getListViewMenu()),
        body: PageView.builder(
          controller: _pageController,
          itemBuilder: (context, position) => _pages.values.toList()[position],
          itemCount: _pages.length,
        ),
      ),
    );
  }
}
9
likes
0
points
426
downloads

Publisher

verified publishersenior.com.br

Weekly Downloads

Flutter package with Senior Design System widgets.

Homepage

License

unknown (license)

Dependencies

flutter, font_awesome_flutter, senior_design_tokens

More

Packages that depend on senior_design_system