import 'package:flutter/material.dart'; import 'package:queue_client/backend/DataManager.dart'; import 'package:queue_client/backend/DebugHelper.dart'; import 'package:queue_client/home.dart'; class ServiceInfoPage extends StatefulWidget { ServiceInfoPage({Key? key,required this.id, required this.tokenId}) : super(key: key); int id; int tokenId; @override State createState() => _ServiceInfoPageState(); } class _ServiceInfoPageState extends State { @override Widget build(BuildContext context) { Map service = DataManager.instance().GetServiceFromID(widget.id); int hours = int.parse(service['duration'].toString().split(":")[0]); int mins = int.parse(service['duration'].toString().split(":")[1]); DateTime eta = DateTime.parse(service['start_time']).add(Duration(hours: hours, minutes: mins) * widget.tokenId); Debug.Log(service); return Scaffold( appBar: AppBar(title: Text(service['name']),), body: Container( padding: EdgeInsets.all(20), child: Column( children: [ Row(children: [ Text("Starting Time : "), Text(dateTimeFormat.format(DateTime.parse(service['start_time']))) ],), Row(children: [ Text("Ending Time : "), Text(dateTimeFormat.format(DateTime.parse(service['end_time']))) ],), Row(children: [ Text("Session Duration : "), Text(service['duration']) ],), Row(children: [ Text("Participants : "), Text((service['members'].toString().split(',').length-1).toString()), ],), SizedBox(height: 20,), widget.tokenId > 0 ?Column( children: [ Text("Already Joined"), SizedBox(height: 20,), Text("Token Id : ${widget.tokenId}"), Text("ETA : ${dateTimeFormat.format(eta)}") ], ) :ElevatedButton(onPressed: () async{ await DataManager.instance().JoinService(widget.id); setState(() { }); Navigator.of(context).pop(); }, child: Text("Join")) ], ), ), ); } }