//remaining imports goes here import 'package:note_app/models/note_model.dart'; import 'package:note_app/utils/note_service.dart'; class Home extends StatefulWidget { const Home({Key? key}) : super(key: key); @override State<Home> createState() => _HomeState(); } class _HomeState extends State<Home> { List<Note>? notes; bool _isLoading = false; bool _isError = false; @override void initState() { _getNoteList(); super.initState(); } _getNoteList() { setState(() { _isLoading = true; }); NoteService().getAllNotes().then((value) { setState(() { notes = value; _isLoading = false; }); }).catchError((_) { setState(() { _isLoading = false; _isError = true; }); }); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColor.background, appBar: AppBar( title: const Text('Notes'), backgroundColor: AppColor.primary, ), body: _isLoading ? const Center( child: CircularProgressIndicator( color: AppColor.primary, )) : _isError ? const Center( child: Text( 'Error loading notes', style: TextStyle( color: Colors.red, fontWeight: FontWeight.bold, ), ), ) : ListView.builder( itemCount: notes?.length, itemBuilder: (context, index) { return NoteCard(note: notes![index]); }, ), floatingActionButton: FloatingActionButton( onPressed: () { Navigator.push( context, MaterialPageRoute( builder: (context) => const ManageNote( title: 'Create Note', isEdit: false, ), ), ); }, backgroundColor: AppColor.primary, tooltip: 'Create Note', child: const Icon(Icons.add), ), ); } }