import 'package:bytebank2/database/app_database.dart'; import 'package:bytebank2/modelo/contact.dart'; import 'package:bytebank2/screens/contactForm.dart'; import 'package:flutter/material.dart';
class ContactsList extends StatelessWidget {
final List contacts = List();
@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Contacts'), ), //AppBar body: FutureBuilder<List>( initialData: List(), future: findAll(), builder: (context, snapshot) { switch(snapshot.connectionState){
        case ConnectionState.none:
          findAll();
          break;
        case ConnectionState.waiting:
          Center(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.center,
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                CircularProgressIndicator(),
                Text('Carregando'),
              ],
            ),
          );
          break;
        case ConnectionState.active:
          break;
        case ConnectionState.done:
          final List<Contact> contacts = snapshot.data;
          return ListView.builder(
              itemCount: contacts.length,
              itemBuilder: (context, index) {
                final Contact contact = contacts[index];
                return _ContactItem(contact);
              }
          );
          break;
      }
      return Text("Erro desconhecido.");
    },
  ),
  floatingActionButton: FloatingActionButton(
    onPressed: () {
      Navigator.of(context).push(
        MaterialPageRoute(builder: (context) => ContactForm(),),
      );
    },
    child: Icon(Icons.add,),
  ),
);}
}
class _ContactItem extends StatelessWidget { final Contact contact;
_ContactItem(this.contact);
@override Widget build(BuildContext context) { return Card( child: ListTile( title: Text(contact.nome,style: TextStyle(fontSize: 18),), subtitle: Text(contact.accountNumber.toString(),style: TextStyle(fontSize: 16)), ), ); } }