import 'package:flutter/material.dart'; import 'package:kulinar_app/widgets/error_widgets.dart'; import 'package:kulinar_app/widgets/custom_drawer_widget.dart'; import 'package:kulinar_app/models/data/settings_data_class.dart'; import 'package:http/http.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class WeekView extends StatefulWidget { const WeekView({Key? key}) : super(key: key); @override WeekViewState createState() => WeekViewState(); } class WeekViewState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text(AppLocalizations.of(context)!.category5)), drawer: const CustomDrawer(initialIndex: 2), body: FutureBuilder( future: _getWeeklyRecipes(), builder: (BuildContext context, AsyncSnapshot snapshot) { if (snapshot.connectionState != ConnectionState.done) return const LinearProgressIndicator(); if (snapshot.hasError || !snapshot.hasData) return NetworkContentError(refreshCallback: _retry); return RefreshIndicator( onRefresh: () async { setState(() {}); }, child: ListView( children: const [ Text("Not implemented"), // TODO: Not implemented ], ), ); }, ), ); } Future _getWeeklyRecipes() async { Map headers = {"Content-Type": "application/json; charset=UTF-8"}; try { return await Future.delayed(const Duration(milliseconds: 500), () { debugPrint("${SettingsData.settings['serverURL']}"); return get(Uri.https(SettingsData.settings["serverURL"]!, "/weekly"), headers: headers); }); } catch (e) { debugPrint("$e"); return null; } } Future _retry() async { await Future.delayed(const Duration(milliseconds: 300)); setState(() {}); } }