import 'package:awesome_dialog/awesome_dialog.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:smoke_cess_app/services/pages_service.dart'; import '../providers/input_provider.dart'; import '../providers/page_provider.dart'; import '../providers/tasks_provider.dart'; import '../providers/timer_provider.dart'; import '../services/date_service.dart'; import 'timer_widget.dart'; class ViewFormPage extends StatelessWidget { final Widget form; final Widget view; final Pages page; const ViewFormPage( {super.key, required this.form, required this.view, required this.page}); void showPopup(BuildContext context) async { TimerProvider timerProvider = context.read(); Duration duration = await getTimeTill(page); timerProvider.startTimer(duration); AwesomeDialog( context: context, dialogType: DialogType.info, title: 'Bald erst wieder', body: TimerWidget(duration: duration), ).show(); } @override Widget build(BuildContext context) { PageProvider pageProvider = context.watch(); TasksProvider tasksProvider = context.watch(); return Wrap(children: [ Align( alignment: Alignment.topLeft, child: IconButton( icon: pageProvider.showForm ? const Icon(Icons.arrow_back, color: Colors.black) : const Icon(Icons.add_outlined, color: Colors.black), onPressed: tasksProvider.tasks[page] ?? true ? pageProvider.swap : () => showPopup(context), ), ), pageProvider.showForm ? Center( child: ChangeNotifierProvider( create: (context) => InputProvider(), child: form, )) : Center(child: view) ]); } }