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

A mini state management

example/lib/main.dart

import 'package:example/order_app.dart';
import 'package:example/random_number_app.dart';
import 'package:flutter/material.dart';

import 'counter_app.dart';

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

class Example {
  final String title;
  final String desc;
  final Widget Function() widget;

  Example({
    required this.title,
    required this.desc,
    required this.widget,
  });
}

class MyApp extends StatelessWidget {
  MyApp({super.key});

  final List<Example> examples = [
    Example(
      title: 'Counter',
      desc: 'Traditional counter example',
      widget: () => const CounterApp(),
    ),
    Example(
      title: 'Random Number',
      desc: 'Random Number example',
      widget: () => const RandomNumberApp(),
    ),
    Example(
      title: 'Order',
      desc: 'Food Order example',
      widget: () => const OrderApp(),
    ),
  ];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Examples',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.green),
        useMaterial3: true,
      ),
      home: Builder(builder: (context) {
        return Scaffold(
          appBar: AppBar(
            backgroundColor: Theme.of(context).colorScheme.inversePrimary,
            title: const Text('Examples'),
          ),
          body: ListView.builder(
            itemCount: examples.length,
            itemBuilder: (context, index) {
              return ListTile(
                title: Text(examples[index].title),
                subtitle: Text(examples[index].desc),
                onTap: () {
                  Navigator.push(
                    context,
                    MaterialPageRoute(
                      builder: (context) => examples[index].widget(),
                    ),
                  );
                },
              );
            },
          ),
        );
      }),
    );
  }
}
0
likes
150
points
13
downloads

Publisher

unverified uploader

Weekly Downloads

A mini state management

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on mini_sm