This commit is contained in:
NATHANIEL ENDICK
2023-02-26 13:56:47 -05:00
3 changed files with 169 additions and 154 deletions

View File

@@ -3,7 +3,10 @@
import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:currency_text_input_formatter/currency_text_input_formatter.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:ruswipeshare/auth_gate.dart'; import 'package:ruswipeshare/auth_gate.dart';
import 'package:intl/intl.dart';
import 'package:ruswipeshare/meetings.dart'; import 'package:ruswipeshare/meetings.dart';
import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:cloud_firestore/cloud_firestore.dart';
@@ -28,6 +31,7 @@ Map<String, bool> values = {
}; };
class _SellScreenState extends State<SellScreen> { class _SellScreenState extends State<SellScreen> {
DateFormat dateFormat = DateFormat("HH:mm a");
String startTime = 'Start Time'; String startTime = 'Start Time';
DateTime startTimeTime = DateTime.now(); DateTime startTimeTime = DateTime.now();
String endTime = 'End Time'; String endTime = 'End Time';
@@ -42,9 +46,8 @@ class _SellScreenState extends State<SellScreen> {
resizeToAvoidBottomInset: true, resizeToAvoidBottomInset: true,
body: Padding( body: Padding(
padding: const EdgeInsets.fromLTRB(0, 8, 0, 0), padding: const EdgeInsets.fromLTRB(0, 8, 0, 0),
child: Column( child:
mainAxisAlignment: MainAxisAlignment.spaceEvenly, Column(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
children: [
Row( Row(
children: [ children: [
Expanded( Expanded(
@@ -114,49 +117,53 @@ class _SellScreenState extends State<SellScreen> {
children: [ children: [
ElevatedButton( ElevatedButton(
onPressed: () async { onPressed: () async {
final TimeOfDay? picked = await showTimePicker( DatePicker.showDateTimePicker(context,
context: context, showTitleActions: true,
initialTime: TimeOfDay.fromDateTime(startTimeTime), minTime: DateTime.now(), onChanged: (date) {
); print('change $date');
if (picked != null && }, onConfirm: (date) {
picked != TimeOfDay.fromDateTime(startTimeTime)) {
setState(() { setState(() {
startTimeTime = DateTime.fromMicrosecondsSinceEpoch( startTimeTime = date;
picked.hour * 60 * 60 * 1000000 + startTime = dateFormat.format(date);
picked.minute * 60 * 1000000, print('confirm $date');
isUtc: true);
startTime = startTimeTime.hour.toString() +
":" +
startTimeTime.minute.toString() +
((is24HoursFormat)
? ""
: ((startTimeTime.hour > 12) ? "PM" : "AM"));
}); });
} }, currentTime: DateTime.now(), locale: LocaleType.en);
// final TimeOfDay? picked = await showTimePicker(
// context: context,
// initialTime: TimeOfDay.fromDateTime(startTimeTime),
// );
// if (picked != null && picked != TimeOfDay.fromDateTime(startTimeTime)) {
// setState(() {
// startTimeTime = DateTime.fromMicrosecondsSinceEpoch(picked.hour * 60 * 60 * 1000000 + picked.minute * 60 * 1000000, isUtc: true);
// startTime = startTimeTime.hour.toString() + ":" + startTimeTime.minute.toString() + ((is24HoursFormat) ? "" : ((startTimeTime.hour > 12) ? "PM" : "AM"));
// });
// }
}, },
child: const Text('Select Start Time'), child: const Text('Select Start Time'),
), ),
ElevatedButton( ElevatedButton(
onPressed: () async { onPressed: () async {
final TimeOfDay? picked = await showTimePicker( DatePicker.showDateTimePicker(context,
context: context, showTitleActions: true,
initialTime: TimeOfDay.fromDateTime(endTimeTime), minTime: DateTime.now(), onChanged: (date) {
); print('change $date');
if (picked != null && }, onConfirm: (date) {
picked != TimeOfDay.fromDateTime(endTimeTime)) {
setState(() { setState(() {
endTimeTime = DateTime.fromMicrosecondsSinceEpoch( endTimeTime = date;
picked.hour * 60 * 60 * 1000000 + endTime = dateFormat.format(date);
picked.minute * 60 * 1000000, print('confirm $date');
isUtc: true);
endTime = endTimeTime.hour.toString() +
":" +
endTimeTime.minute.toString() +
((is24HoursFormat)
? ""
: ((endTimeTime.hour > 12) ? "PM" : "AM"));
}); });
} }, currentTime: DateTime.now(), locale: LocaleType.en);
// final TimeOfDay? picked = await showTimePicker(
// context: context,
// initialTime: TimeOfDay.fromDateTime(endTimeTime),
// );
// if (picked != null && picked != TimeOfDay.fromDateTime(endTimeTime)) {
// setState(() {
// endTimeTime = DateTime.fromMicrosecondsSinceEpoch(picked.hour * 60 * 60 * 1000000 + picked.minute * 60 * 1000000, isUtc: true);
// endTime = endTimeTime.hour.toString() + ":" + endTimeTime.minute.toString() + ((is24HoursFormat) ? "" : ((endTimeTime.hour > 12) ? "PM" : "AM"));
// });
// }
}, },
child: const Text('Select End Time'), child: const Text('Select End Time'),
), ),
@@ -181,7 +188,8 @@ class _SellScreenState extends State<SellScreen> {
hintText: 'Price', hintText: 'Price',
hintStyle: TextStyle(color: Colors.white24, fontSize: 30), hintStyle: TextStyle(color: Colors.white24, fontSize: 30),
), ),
)), ),
),
ElevatedButton( ElevatedButton(
onPressed: () { onPressed: () {
List<String> locations = []; List<String> locations = [];
@@ -197,7 +205,6 @@ class _SellScreenState extends State<SellScreen> {
TimeRange(Timestamp.fromDate(startTimeTime), TimeRange(Timestamp.fromDate(startTimeTime),
Timestamp.fromDate(endTimeTime)), Timestamp.fromDate(endTimeTime)),
double.parse(priceController.text)); double.parse(priceController.text));
print("SIFSIFISFHJIS"); print("SIFSIFISFHJIS");
print(seller); print(seller);
addSeller(seller); addSeller(seller);
@@ -209,8 +216,7 @@ class _SellScreenState extends State<SellScreen> {
), ),
child: const Text('Submit Sell Request'), child: const Text('Submit Sell Request'),
), ),
], ]),
),
), ),
); );
} }

View File

@@ -254,6 +254,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.0.5" version: "3.0.5"
flutter_datetime_picker:
dependency: "direct main"
description:
name: flutter_datetime_picker
sha256: "8e695c63c769350e541951227c2775190ec73ceda774a315b1dc9a99d5facfe5"
url: "https://pub.dev"
source: hosted
version: "1.5.1"
flutter_dotenv: flutter_dotenv:
dependency: "direct main" dependency: "direct main"
description: description:

View File

@@ -48,6 +48,7 @@ dependencies:
cloud_firestore: any cloud_firestore: any
currency_text_input_formatter: ^2.1.9 currency_text_input_formatter: ^2.1.9
http: any http: any
flutter_datetime_picker: ^1.5.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: