import 'package:flutter/material.dart'; import '../model/collection.dart'; import '../service/storage.dart'; import '../widgets/create_bookmark_collection_dialog.dart'; class CollectionsPage extends StatefulWidget { const CollectionsPage({super.key}); static const String routeName = '/collections'; @override State createState() => _CollectionsPageState(); } class _CollectionsPageState extends State { final collections = Storage.loadCollections(); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), floatingActionButton: FloatingActionButton( onPressed: onAddButtonPressed, child: Icon(Icons.add), ), body: ListView.builder( itemBuilder: itemBuilder, itemCount: collections.length, ), ); } void onAddButtonPressed() => showDialog( context: context, builder: (context) => CreateBookmarkCollectionDialog(onSavePressed: onCollectionSaved), ); void onCollectionSaved(String name) { collections.add(Collection(name: name)); setState(() {}); Storage.saveCollections(collections); } Widget itemBuilder(BuildContext context, int index) { return ListTile(title: Text(collections.elementAt(index).name)); } }