horario fixed

This commit is contained in:
Juan Felipe Duarte
2023-04-19 19:09:26 -05:00
parent 268af389bb
commit 3c89aef2ba
2 changed files with 159 additions and 169 deletions
+20 -169
View File
@@ -1,7 +1,8 @@
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:prosappco/src/components/pop_appbar.dart';
import '../components/schedule_picker.dart';
class HorarioScreen extends StatefulWidget {
const HorarioScreen({super.key});
@@ -19,22 +20,15 @@ class _HorarioScreenState extends State<HorarioScreen> {
bool domingoValue = false;
bool jornadaContinuaLunes = false;
TimeOfDay? _selectedTime;
Future<void> _selectTime(BuildContext context) async {
final TimeOfDay? pickedTime = await showTimePicker(
context: context,
initialTime: TimeOfDay.now(),
// builder: (context, child) {
// return Theme(data: ThemeData.dark(), child: child!);
// },
);
if (pickedTime != null) {
setState(() {
_selectedTime = pickedTime;
});
}
}
Map<String, Schedule> horarios = {
"Lunes": Schedule(true, false, null, null, null, null),
"Martes": Schedule(false, false, null, null, null, null),
"Miercoles": Schedule(false, false, null, null, null, null),
"Jueves": Schedule(false, false, null, null, null, null),
"Viernes": Schedule(false, false, null, null, null, null),
"Sabado": Schedule(false, false, null, null, null, null),
"Domingo": Schedule(false, false, null, null, null, null),
};
@override
Widget build(BuildContext context) {
@@ -46,159 +40,16 @@ class _HorarioScreenState extends State<HorarioScreen> {
},
label: 'Horario'),
body: SingleChildScrollView(
child: Column(children: [
const Divider(color: Colors.white, height: 10),
customSwitch(
'Lunes',
lunesValue,
(value) {
lunesValue = value;
child: Column(
children: horarios.entries.map<Widget>(
(entry) {
return SchedulePicker(
name: entry.key,
schedule: entry.value,
);
},
),
lunesValue
? Column(
children: [
customSwitch(
'Jornada continua',
jornadaContinuaLunes,
(value) {
jornadaContinuaLunes = value;
},
),
Padding(
padding: const EdgeInsets.only(left: 30, bottom: 15),
child: Column(
children: [
Row(
children: [
Expanded(
child: TextFormField(
onTap: () {
_selectTime(context);
},
readOnly: true,
decoration: const InputDecoration(
hintText: 'Hora',
),
controller: TextEditingController(
text: _selectedTime == null
? ''
: ' ${_selectedTime!.format(context)}',
),
style: const TextStyle(fontSize: 15),
),
),
const Text(' - '),
SizedBox(
width: 80,
child: TextFormField(
onTap: () {
_selectTime(context);
},
readOnly: true,
decoration: const InputDecoration(
hintText: 'Hora',
),
controller: TextEditingController(
text: _selectedTime == null
? ''
: ' ${_selectedTime!.format(context)}'),
),
),
const Text(' - '),
SizedBox(
width: 80,
child: TextFormField(
onTap: () {
_selectTime(context);
},
readOnly: true,
decoration: const InputDecoration(
hintText: 'Hora',
),
controller: TextEditingController(
text: _selectedTime == null
? ''
: ' ${_selectedTime!.format(context)}'),
),
),
const Text(' - '),
SizedBox(
width: 80,
child: TextFormField(
onTap: () {
_selectTime(context);
},
readOnly: true,
decoration: const InputDecoration(
hintText: 'Hora',
),
controller: TextEditingController(
text: _selectedTime == null
? ''
: ' ${_selectedTime!.format(context)}'),
),
),
],
).animate().moveY(
duration: const Duration(milliseconds: 100)),
],
)
.animate()
.moveY(duration: const Duration(milliseconds: 100)),
),
],
)
: const SizedBox(),
const Divider(height: 10),
customSwitch(
'Martes',
martesValue,
(value) {
martesValue = value;
},
),
const Divider(height: 10),
customSwitch(
'Miercoles',
miercolesValue,
(value) {
miercolesValue = value;
},
),
const Divider(height: 10),
customSwitch(
'Jueves',
juevesValue,
(value) {
juevesValue = value;
},
),
const Divider(height: 10),
customSwitch(
'Viernes',
viernesValue,
(value) {
viernesValue = value;
},
),
const Divider(height: 10),
customSwitch(
'Sabado',
sabadoValue,
(value) {
sabadoValue = value;
},
),
const Divider(height: 10),
customSwitch(
'Domingo',
domingoValue,
(value) {
domingoValue = value;
},
),
]),
).toList(),
),
),
),
);