proto ready

This commit is contained in:
sewmina7@gmail.com 2023-08-21 08:24:10 +05:30
parent 50e9dda303
commit 5a956623b4
11 changed files with 90 additions and 57 deletions

View File

@ -25,6 +25,12 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
android {
namespace "com.Xperience.QueueClient.queue_client"
compileSdkVersion flutter.compileSdkVersion
@ -54,11 +60,17 @@ android {
versionName flutterVersionName
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
signingConfig signingConfigs.release
}
}
}

View File

@ -2,7 +2,7 @@
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:label="queue_client"
android:label="Digital Queue"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -103,6 +103,7 @@ class _DataManager{
}
bool joined = false;
for (var m_joinedService in joinedServices){
Map<String, dynamic> joinedSer = jsonDecode(m_joinedService);
if(service['id'] == jsonDecode(m_joinedService)['service_id']){
//Joined this
JoinedServices.add(jsonDecode(m_joinedService));

View File

@ -103,15 +103,13 @@ class _HomePageState extends State<HomePage> {
DataManager.instance().JoinedServices.length, (index) {
Map<String, dynamic> service =
(DataManager.instance().JoinedServices[index]);
return ServiceCard(
tokenId: int.parse(service['id']),
return JoinedCard(
appointmentId: int.parse(service['appointment_id']),
id: int.parse(service['service_id']),
sTime: DateTime.parse(
service['start_time'] ?? DateTime.now().toString()),
eTime: DateTime.parse(
service['end_time'] ?? DateTime.now().toString()),
name: service['name']!,
memberCount: service['members']!.split(',').length - 1,
queueIndex: int.parse(service['member_pos']),
duration: Helpers.ParseDuration(service['duration'])
);
}),
@ -137,14 +135,13 @@ class _HomePageState extends State<HomePage> {
Map<String, dynamic> service =
DataManager.instance().AvailableServices[index];
return ServiceCard(
tokenId: -1,
id: int.parse(service['id']),
sTime: DateTime.parse(
service['start_time'] ?? DateTime.now().toString()),
eTime: DateTime.parse(
service['end_time'] ?? DateTime.now().toString()),
name: service['name']!,
memberCount: service['members']!.split(',').length - 1,
memberCount: int.parse(service['member_count']),
duration: Helpers.ParseDuration(service['duration']));
}),
],
@ -160,23 +157,14 @@ class _HomePageState extends State<HomePage> {
required DateTime eTime,
required String name,
required int memberCount,
required int tokenId,
required Duration duration}) {
DateTime eta = sTime.add(duration * (tokenId > 0 ? tokenId : memberCount));
DateTime eta = sTime.add(duration * memberCount);
return InkWell(
onTap: () async {
if(tokenId > 0){return;}
// await Navigator.of(context).push(MaterialPageRoute(
// builder: (context) => ServiceInfoPage(
// id: id,
// tokenId: tokenId,
// )));
bool confirmed = await Dialogs.AskQuestion(context, "Confirm", "Are you sure to join to this Queue?\n\nQueue Name : ${name}");
if(confirmed){
Dialogs.waiting(context);
@ -207,19 +195,8 @@ class _HomePageState extends State<HomePage> {
])
],
),
SizedBox(height: tokenId > 0 ? 0 : 10,),
(tokenId > 0) ? Column(
children: [
Row(mainAxisAlignment: MainAxisAlignment.center, children: [
Icon(Icons.token,size: 25,),
Text(
" ${tokenId}",
style: TextStyle(fontSize: 40),
),
]),
],
)
: Row(
SizedBox(height: 10,),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Expanded(flex:1,child: Icon(Icons.people)),
@ -229,26 +206,13 @@ class _HomePageState extends State<HomePage> {
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Expanded(flex:1,child: Icon(Icons.access_time)),
Expanded(flex: 4,child: Text("Be there around ${Helpers.DateTimeToRelative(eta)}",maxLines: 3,overflow: TextOverflow.ellipsis,))
Expanded(flex: 4,child:
eta.isBefore(DateTime.now()) ? Text("Available right now !") : Text("Be there around ${Helpers.DateTimeToRelative(eta)}",maxLines: 3,overflow: TextOverflow.ellipsis,)
)
]),
// (sTime.isAfter(DateTime.now()))
// ? Row(
// mainAxisAlignment: MainAxisAlignment.spaceAround,
// children: [
// Expanded(flex:1,child: Icon(Icons.access_time)),
// Expanded(flex: 4,child: Text("Starts ${Helpers.DateTimeToRelative(sTime)}",maxLines: 3,overflow: TextOverflow.ellipsis,style: TextStyle(fontSize: 13),))
// ])
// : Row(
// mainAxisAlignment: MainAxisAlignment.spaceAround,
// children: [
// Expanded(flex:1,child: Icon(Icons.directions_run_outlined)),
// Expanded(flex: 4,
// child: Text(
// "Ongoing until ${Helpers.DateTimeToRelative(eTime)}"),
// )
// ]),
(tokenId <=0) ?
Column(
children: [
SizedBox(height: 10,),
@ -259,12 +223,68 @@ class _HomePageState extends State<HomePage> {
),
),
],
) : Container()
)
],
),
),
),
);
}
Widget JoinedCard(
{required int id,
required DateTime sTime,
required String name,
required int queueIndex,
required int appointmentId,
required Duration duration}) {
DateTime eta = sTime.add(duration * appointmentId);
return Card(
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
name,
style: TextStyle(fontSize: 20),
),
Row(mainAxisAlignment: MainAxisAlignment.center, children: [
Icon(Icons.people_alt_rounded,size: 25,),
Text(
" ${queueIndex-1}",
style: TextStyle(fontSize: 25),
),
])
],
),
Column(
children: [
Row(mainAxisAlignment: MainAxisAlignment.center, children: [
Icon(Icons.token,size: 25,),
Text(
" ${appointmentId}",
style: TextStyle(fontSize: 40),
),
]),
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Expanded(flex:1,child: Icon(Icons.access_time)),
Expanded(flex: 4,child:
eta.isBefore(DateTime.now()) ? Text("You're late !") : Text("Be there around ${Helpers.DateTimeToRelative(eta)}",maxLines: 3,overflow: TextOverflow.ellipsis,)
)
]),
],
),
),
);
}
}

View File

@ -21,8 +21,8 @@ class _LoginPageState extends State<LoginPage> {
void initState() {
// TODO: implement initState
super.initState();
Reset();
// AutoLogin();
// Reset();
AutoLogin();
}
void Reset() async{

View File

@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
version: 1.0.0+1
version: 1.0.3+3
environment:
sdk: '>=3.0.6 <4.0.0'