66 lines
2.3 KiB
Dart
66 lines
2.3 KiB
Dart
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<ServiceInfoPage> createState() => _ServiceInfoPageState();
|
|
}
|
|
|
|
class _ServiceInfoPageState extends State<ServiceInfoPage> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
Map<String,dynamic> 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"))
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|