diff --git a/Frontend/patient_manager/lib/components/patientDetailItem.dart b/Frontend/patient_manager/lib/components/patientDetailItem.dart deleted file mode 100644 index 6314a5a4..00000000 --- a/Frontend/patient_manager/lib/components/patientDetailItem.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -class PatientDetailItem extends StatefulWidget { - final String category; - final String value; - const PatientDetailItem({ - super.key, - required this.category, - required this.value, - }); - - @override - State createState() => _PatientDetailItemState(); -} - -class _PatientDetailItemState extends State { - @override - Widget build(BuildContext context) { - return Expanded( - flex: 1, - child: Row( - children: [ - Text( - "${widget.category}:", - style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 20), - ), - const SizedBox(width: 10), - Expanded( - child: Padding( - padding: const EdgeInsets.only(right: 10.0), - child: Container( - //width: MediaQuery.of(context).size.width * 0.5, - padding: const EdgeInsets.only(left: 10.0, right: 10.0), - decoration: const BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.all(Radius.circular(5.0))), - child: Text( - widget.value, - style: const TextStyle( - fontSize: 20, - ), - ), - ), - ), - ), - ], - ), - ); - } -} diff --git a/Frontend/patient_manager/lib/components/patientDetails.dart b/Frontend/patient_manager/lib/components/patientDetails.dart index 8f4c2c71..26d243c3 100644 --- a/Frontend/patient_manager/lib/components/patientDetails.dart +++ b/Frontend/patient_manager/lib/components/patientDetails.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:patient_manager/components/patientDetailItem.dart'; +import 'package:patient_manager/components/myTextInput.dart'; import 'package:patient_manager/objects/patients.dart'; class PatientDetails extends StatefulWidget { @@ -11,119 +11,190 @@ class PatientDetails extends StatefulWidget { } class _PatientDetailsState extends State { + final idController = TextEditingController(); + final fnameController = TextEditingController(); + final lnameController = TextEditingController(); + final cellController = TextEditingController(); + final emailController = TextEditingController(); + final medNoController = TextEditingController(); + final medNameController = TextEditingController(); + final medSchemeController = TextEditingController(); + final addressController = TextEditingController(); double? headingFontSize = 35.0; double? bodyFonstSize = 20.0; + @override + void initState() { + setState(() { + idController.value = TextEditingValue(text: widget.selectedPatient.id_no); + fnameController.value = + TextEditingValue(text: widget.selectedPatient.first_name); + lnameController.value = + TextEditingValue(text: widget.selectedPatient.last_name); + cellController.value = + TextEditingValue(text: widget.selectedPatient.cell_no); + emailController.value = + TextEditingValue(text: widget.selectedPatient.email); + medNameController.value = + TextEditingValue(text: widget.selectedPatient.medical_aid_name); + medNoController.value = + TextEditingValue(text: widget.selectedPatient.medical_aid_no); + medSchemeController.value = + TextEditingValue(text: widget.selectedPatient.medical_aid_scheme); + addressController.value = + TextEditingValue(text: widget.selectedPatient.address); + }); + super.initState(); + } + @override Widget build(BuildContext context) { - return Card( - elevation: 20, - child: Container( - padding: const EdgeInsets.all(20), - decoration: const BoxDecoration( - color: Color.fromARGB(255, 219, 218, 218), - borderRadius: BorderRadius.all( - Radius.circular(10), - ), - ), - //constraints: const BoxConstraints.expand(height: 250.0), - child: SelectionArea( - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - "Patient Details", - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 35, - fontWeight: FontWeight.bold, - ), + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(25.0), + border: Border.all(color: Colors.blueAccent, width: 3.0), + ), + //constraints: const BoxConstraints.expand(height: 250.0), + child: SelectionArea( + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + "Patient Details", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 35, + fontWeight: FontWeight.bold, + color: Colors.blueAccent, ), - IconButton( - icon: const Icon(Icons.edit), - alignment: Alignment.topRight, - onPressed: () { - Navigator.of(context).pushNamed( - '/patient-manager/patient/edit', - arguments: widget.selectedPatient); - }, - ) - ], - ), - const Divider(), - const SizedBox(height: 10), - Column( - children: [ - Row( - children: [ - PatientDetailItem( - category: "ID No. ", - value: widget.selectedPatient.id_no, - ), - PatientDetailItem( - category: "Name ", - value: widget.selectedPatient.first_name, - ), - PatientDetailItem( - category: "Surname ", - value: widget.selectedPatient.last_name, - ), - ], - ), - const SizedBox(height: 5), - Row( - children: [ - PatientDetailItem( - category: "Cell No ", - value: widget.selectedPatient.cell_no, - ), - PatientDetailItem( - category: "Email ", - value: widget.selectedPatient.email, - ), - PatientDetailItem( - category: "Address ", - value: widget.selectedPatient.address, - ), - ], - ), - ], - ), - const SizedBox(height: 10), - const Text( - "Medical Aid Details", - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 25, - fontWeight: FontWeight.bold, ), + IconButton( + icon: const Icon(Icons.edit), + alignment: Alignment.topRight, + color: Colors.blueAccent, + onPressed: () { + Navigator.of(context).pushNamed( + '/patient-manager/patient/edit', + arguments: widget.selectedPatient); + }, + ) + ], + ), + const Divider(color: Colors.blueAccent), + const SizedBox(height: 10), + Column( + children: [ + Row( + children: [ + Expanded( + child: MyTextField( + controller: idController, + hintText: "ID No.", + editable: false, + required: false), + ), + Expanded( + child: MyTextField( + controller: fnameController, + hintText: "Name", + editable: false, + required: false), + ), + Expanded( + child: MyTextField( + controller: lnameController, + hintText: "Surname", + editable: false, + required: false), + ), + ], + ), + const SizedBox(height: 10), + Row( + children: [ + Expanded( + child: MyTextField( + controller: cellController, + hintText: "Cell No.", + editable: false, + required: false), + ), + Expanded( + child: MyTextField( + controller: emailController, + hintText: "Email", + editable: false, + required: false), + ), + Expanded( + child: MyTextField( + controller: addressController, + hintText: "Address", + editable: false, + required: false), + ), + ], + ), + ], + ), + const SizedBox(height: 10), + const Text( + "Medical Aid Details", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.bold, + color: Colors.blueAccent, ), - const Divider(), - const SizedBox(height: 10), - Column( - children: [ - Row( - children: [ - PatientDetailItem( - category: "No. ", - value: widget.selectedPatient.medical_aid_no, - ), - PatientDetailItem( - category: "Name ", - value: widget.selectedPatient.medical_aid_name, - ), - PatientDetailItem( - category: "Scheme ", - value: widget.selectedPatient.medical_aid_scheme, - ), - ], - ), - ], - ) - ], - ), + ), + const Divider(color: Colors.blueAccent), + const SizedBox(height: 10), + Column( + children: [ + Row( + children: [ + Expanded( + child: MyTextField( + controller: medNoController, + hintText: "No.", + editable: false, + required: false), + ), + Expanded( + child: MyTextField( + controller: medNameController, + hintText: "Name", + editable: false, + required: false), + ), + Expanded( + child: MyTextField( + controller: medSchemeController, + hintText: "Scheme", + editable: false, + required: false), + ), + // PatientDetailItem( + // category: "No. ", + // value: widget.selectedPatient.medical_aid_no, + // ), + // PatientDetailItem( + // category: "Name ", + // value: widget.selectedPatient.medical_aid_name, + // ), + // PatientDetailItem( + // category: "Scheme ", + // value: widget.selectedPatient.medical_aid_scheme, + // ), + ], + ), + ], + ) + ], ), ), ); diff --git a/Frontend/patient_manager/lib/components/patientFiles.dart b/Frontend/patient_manager/lib/components/patientFiles.dart index a8e692db..c78cb011 100644 --- a/Frontend/patient_manager/lib/components/patientFiles.dart +++ b/Frontend/patient_manager/lib/components/patientFiles.dart @@ -536,58 +536,64 @@ class _PatientFilesState extends State { flex: 1, child: Padding( padding: const EdgeInsets.all(10.0), - child: Card( - elevation: 20.0, - child: Container( - //height: 300.0, - decoration: const BoxDecoration( - color: Color.fromARGB(255, 219, 218, 218), - borderRadius: BorderRadius.all( - Radius.circular(10), + child: Container( + //height: 300.0, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(25.0), + border: Border.all(color: Colors.blueAccent, width: 3.0), + ), + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: Column(children: [ + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + "Files", + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 35, + fontWeight: FontWeight.bold, + color: Colors.blueAccent, + ), + ), + IconButton( + onPressed: () { + medCertPopUp(); + }, + icon: const Icon( + Icons.sick_outlined, + color: Colors.blueAccent, + ), + ), + IconButton( + onPressed: () { + prescritionPopUp(); + }, + icon: const Icon( + Icons.medication_outlined, + color: Colors.blueAccent, + ), + ), + IconButton( + onPressed: () { + uploudFilePopUp(); + }, + icon: const Icon( + Icons.add, + color: Colors.blueAccent, + ), + ) + ], ), - ), - child: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: Column(children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - "Files", - textAlign: TextAlign.center, - style: TextStyle( - fontSize: 35, - fontWeight: FontWeight.bold, - ), - ), - IconButton( - onPressed: () { - medCertPopUp(); - }, - icon: const Icon(Icons.sick_outlined), - ), - IconButton( - onPressed: () { - prescritionPopUp(); - }, - icon: const Icon(Icons.medication_outlined), - ), - IconButton( - onPressed: () { - uploudFilePopUp(); - }, - icon: const Icon(Icons.add), - ) - ], - ), - const Padding( - padding: EdgeInsets.symmetric(horizontal: 20.0), - child: Divider(), - ), - const SizedBox(height: 10), - BuildFilesList(files: filesList), - ]), - ), + const Padding( + padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + const SizedBox(height: 10), + BuildFilesList(files: filesList), + ]), ), ), ), diff --git a/Frontend/patient_manager/lib/components/patientNotes.dart b/Frontend/patient_manager/lib/components/patientNotes.dart index adb6ef92..7c0db6f0 100644 --- a/Frontend/patient_manager/lib/components/patientNotes.dart +++ b/Frontend/patient_manager/lib/components/patientNotes.dart @@ -221,46 +221,42 @@ class _PatientNotesState extends State { flex: 1, child: Padding( padding: const EdgeInsets.all(10.0), - child: Card( - elevation: 20.0, - child: Container( - //height: 300.0, - decoration: const BoxDecoration( - color: Color.fromARGB(255, 219, 218, 218), - borderRadius: BorderRadius.all( - Radius.circular(10), - ), - ), - child: Padding( - padding: const EdgeInsets.only(top: 5.0), - child: Column(children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Text( - "Notes", - textAlign: TextAlign.center, - style: TextStyle( + child: Container( + //height: 300.0, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(25.0), + border: Border.all(color: Colors.blueAccent, width: 3.0), + ), + child: Padding( + padding: const EdgeInsets.only(top: 5.0), + child: Column(children: [ + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Text( + "Notes", + textAlign: TextAlign.center, + style: TextStyle( fontSize: 35, fontWeight: FontWeight.bold, - ), - ), - IconButton( - onPressed: () { - addNotePopUp(); - }, - icon: const Icon(Icons.add), - ) - ], - ), - const Padding( - padding: EdgeInsets.symmetric(horizontal: 20.0), - child: Divider(), - ), - const SizedBox(height: 10), - BuildNotesList(notes: notesList), - ]), - ), + color: Colors.blueAccent), + ), + IconButton( + onPressed: () { + addNotePopUp(); + }, + icon: const Icon(Icons.add, color: Colors.blueAccent), + ) + ], + ), + const Padding( + padding: EdgeInsets.symmetric(horizontal: 20.0), + child: Divider(), + ), + const SizedBox(height: 10), + BuildNotesList(notes: notesList), + ]), ), ), ),