Add todos admin and 30s refresh
This commit is contained in:
@@ -3,9 +3,26 @@ import 'package:provider/provider.dart';
|
||||
import '../models/bible_verse.dart';
|
||||
import '../services/bible_service.dart';
|
||||
|
||||
class BibleVerseWidget extends StatelessWidget {
|
||||
class BibleVerseWidget extends StatefulWidget {
|
||||
const BibleVerseWidget({super.key});
|
||||
|
||||
@override
|
||||
State<BibleVerseWidget> createState() => _BibleVerseWidgetState();
|
||||
}
|
||||
|
||||
class _BibleVerseWidgetState extends State<BibleVerseWidget> {
|
||||
late Future<BibleVerse> _verseFuture;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
// Fetch only once on init
|
||||
_verseFuture = Provider.of<BibleService>(
|
||||
context,
|
||||
listen: false,
|
||||
).fetchTodayVerse();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
@@ -24,10 +41,7 @@ class BibleVerseWidget extends StatelessWidget {
|
||||
),
|
||||
padding: const EdgeInsets.all(24),
|
||||
child: FutureBuilder<BibleVerse>(
|
||||
future: Provider.of<BibleService>(
|
||||
context,
|
||||
listen: false,
|
||||
).fetchTodayVerse(),
|
||||
future: _verseFuture,
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.connectionState == ConnectionState.waiting) {
|
||||
return const Center(child: CircularProgressIndicator());
|
||||
|
||||
Reference in New Issue
Block a user