Add todos admin and 30s refresh

This commit is contained in:
kihong.kim
2026-01-24 23:45:22 +09:00
parent 2944b6d9b5
commit 6fb00fec5d
5 changed files with 617 additions and 276 deletions

View File

@@ -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());