diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..0a8132a --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,28 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "apps_for_good", + "cwd": "apps_for_good", + "request": "launch", + "type": "dart" + }, + { + "name": "apps_for_good (profile mode)", + "cwd": "apps_for_good", + "request": "launch", + "type": "dart", + "flutterMode": "profile" + }, + { + "name": "apps_for_good (release mode)", + "cwd": "apps_for_good", + "request": "launch", + "type": "dart", + "flutterMode": "release" + } + ] +} \ No newline at end of file diff --git a/apps_for_good/lib/calendar_screens/calendar_view_container.dart b/apps_for_good/lib/calendar_screens/calendar_view_container.dart index 7568591..44a6d3e 100644 --- a/apps_for_good/lib/calendar_screens/calendar_view_container.dart +++ b/apps_for_good/lib/calendar_screens/calendar_view_container.dart @@ -40,6 +40,7 @@ class _CalendarViewContainerState extends State { return Scaffold( backgroundColor: const Color.fromARGB(255, 14, 37, 57), body: SafeArea( +<<<<<<< Updated upstream:apps_for_good/lib/calendar_screens/calendar_view_container.dart child: Container( width: double.infinity, height: MediaQuery.of(context).size.height, @@ -103,12 +104,86 @@ class _CalendarViewContainerState extends State { fontWeight: FontWeight.w600, fontSize: 18, color: Colors.white, +======= + child: SingleChildScrollView( + child: Container( + width: double.infinity, + height: MediaQuery.of(context).size.height, + padding: EdgeInsets.symmetric(horizontal: 30, vertical: 50), + child: Column( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('GrandCare Calendar', style: GoogleFonts.poppins( + fontSize: 30, + color: Colors.white +>>>>>>> Stashed changes:apps_for_good/lib/calendar_view_container.dart ),), - ), - + const SizedBox( + + width: + 100, // Set the width to make the divider shorter horizontally + child: Divider( + color: Colors.grey, + height: 20.0, // Adjust the height as needed + ), + ), + const SizedBox(height: 20,), + Text("Please view the GrandCare appointments calendar and schedule a time for meeting with a counselor that is available.", + textAlign: TextAlign.center, + style: GoogleFonts.poppins( + color: Colors.white, + fontSize: 15 + ),), + ], - ), - ], + ), + const SizedBox(height: 20), + + SizedBox( + height: MediaQuery.of(context).size.height / 3, + child:WebViewWidget(controller: controller,) + ), + + const SizedBox(height: 20), + + Column( + children: [ + const SizedBox(height: 20), + Text("After you have seen a time that works for both you and an available counselor, pleae click below to schedule your meeting.", + textAlign: TextAlign.center, + style: GoogleFonts.poppins( + color: Colors.white, + fontSize: 15 + ),), + + SizedBox(height: 20,), + + MaterialButton( + minWidth: double.infinity, + height: 60, + onPressed: () { + Navigator.push(context, MaterialPageRoute(builder: (context) => const AppointmentsViewContainer()));}, + shape: RoundedRectangleBorder( + side: const BorderSide( + color: Colors.white, + ), + borderRadius: BorderRadius.circular(50) + ), + + child: Text("Schedule an Appointment", style: GoogleFonts.poppins( + fontWeight: FontWeight.w600, + fontSize: 18, + color: Colors.white, + ),), + ), + + ], + ), + ], + ), ), ), ), diff --git a/apps_for_good/lib/makereq.dart b/apps_for_good/lib/makereq.dart index 0ebe551..995852c 100644 --- a/apps_for_good/lib/makereq.dart +++ b/apps_for_good/lib/makereq.dart @@ -48,7 +48,11 @@ class FormScreenState extends State { return Scaffold( appBar: AppBar( +<<<<<<< Updated upstream title: Text('Requests Page'), +======= + title: Text('Inquiry Page', style: GoogleFonts.poppins()), +>>>>>>> Stashed changes leading: IconButton( icon: Icon(Icons.arrow_back, color: Colors.black), onPressed: () => Navigator.of(context).pop(), @@ -117,7 +121,7 @@ class FormScreenState extends State { style: TextStyle(color: Color.fromARGB(255, 229, 243, 255),), value: _town, dropdownColor: const Color.fromARGB(255, 52, 52, 52), - decoration: InputDecoration(labelText: 'Choose a Service*', labelStyle: GoogleFonts.poppins(textStyle: TextStyle(color: Color.fromARGB(255, 229, 243, 255),),),), + decoration: InputDecoration(labelText: 'Town*', labelStyle: GoogleFonts.poppins(textStyle: TextStyle(color: Color.fromARGB(255, 229, 243, 255),),),), items: [ 'Ashburnham', 'Ashby', diff --git a/apps_for_good/lib/onboarding_screen.dart b/apps_for_good/lib/onboarding_screen.dart index 6919e3e..999a5d5 100644 --- a/apps_for_good/lib/onboarding_screen.dart +++ b/apps_for_good/lib/onboarding_screen.dart @@ -3,6 +3,7 @@ import 'package:GrandCare/intro_screens/intro_page_1.dart'; import 'package:GrandCare/intro_screens/intro_page_2.dart'; import 'package:GrandCare/intro_screens/intro_page_3.dart'; import 'package:GrandCare/login_choice.dart'; +import 'package:GrandCare/resources_menu.dart'; import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:smooth_page_indicator/smooth_page_indicator.dart'; @@ -79,8 +80,8 @@ class _OnBoardingScreenState extends State { Navigator.push( context, PageRouteBuilder( - pageBuilder: (_, __, ___) => LoginChoice(), - transitionDuration: Duration(milliseconds: 500), + pageBuilder: (_, __, ___) => const ResourcesMenu(), + transitionDuration: const Duration(milliseconds: 500), transitionsBuilder: (_, a, __, c) => FadeTransition(opacity: a, child: c), ), diff --git a/apps_for_good/lib/resources_menu.dart b/apps_for_good/lib/resources_menu.dart index d74b313..24539c6 100644 --- a/apps_for_good/lib/resources_menu.dart +++ b/apps_for_good/lib/resources_menu.dart @@ -1,5 +1,6 @@ import 'package:GrandCare/calendar_screens/calendar_view_container.dart'; import 'package:GrandCare/makereq.dart'; +<<<<<<< Updated upstream import 'package:GrandCare/resources_pages/general_resources/Crisis_Intervention.dart'; import 'package:GrandCare/resources_pages/general_resources/Elder_Home_Repair.dart'; import 'package:GrandCare/resources_pages/general_resources/Senior_Citizen_Law_Advocacy_Project.dart'; @@ -11,6 +12,9 @@ import 'package:GrandCare/resources_pages/general_resources/medication_managemen import 'package:GrandCare/resources_pages/general_resources/money_management.dart'; import 'package:GrandCare/resources_pages/general_resources/my_life_health_chronic_disease_self_management_program.dart'; import 'package:GrandCare/resources_pages/general_resources/nutrition_project.dart'; +======= +import 'package:GrandCare/web_request_page.dart'; +>>>>>>> Stashed changes import 'package:flutter/material.dart'; class ResourcesMenu extends StatelessWidget { @@ -20,8 +24,12 @@ class ResourcesMenu extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( +<<<<<<< Updated upstream title: const Text('General CMAA Servies and Programs'), backgroundColor: Colors.blue, +======= + title: Text('Home',style: GoogleFonts.poppins(),), +>>>>>>> Stashed changes ), drawer: ResourcesExtended(), ); @@ -31,6 +39,7 @@ class ResourcesMenu extends StatelessWidget { class ResourcesExtended extends StatelessWidget { @override Widget build(BuildContext context) { +<<<<<<< Updated upstream return Drawer( child: ListView( children: [ @@ -151,5 +160,239 @@ ExpansionTile( ) ]) ); +======= + return SingleChildScrollView( + child: Container( + child: Column( + children: [ + Container( + + height: + 50,), + Container( + + width: + 100, // Set the width to make the divider shorter horizontally + child: Divider( + color: Colors.grey, + height: 20.0, // Adjust the height as needed + ), + ), + Text( + 'ACTIONABLE ITEMS', + style: GoogleFonts.poppins( + fontSize: 12, // Adjust the font size as needed + fontWeight: FontWeight.bold, + color: Color.fromARGB(255, 229, 243, 255), + ), + + ), + Container( + width: + 100, // Set the width to make the divider shorter horizontally + child: Divider( + color: Colors.grey, + height: 20.0, // Adjust the height as needed + ), + ), + Row( + children: [ + Expanded( + child: Padding( + padding: const EdgeInsets.all(15.0), // Increased padding to make the button bigger + child: Container( + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, // Change this to your preferred border color + width: 2, // Change this to your preferred border width + ), + borderRadius: BorderRadius.circular(10), // Add rounded corners + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: ListTile( + title: Text( + 'Inquiry\nForm\nPage', + textAlign: TextAlign.center, + style: GoogleFonts.poppins( + textStyle: Theme.of(context).textTheme.displayLarge, + fontSize: 15, + color: const Color.fromARGB(255, 229, 243, 255), + ), + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => RequestContainer()), + ); + }, + ), + ), + ), + ), + ), + + Expanded( + child: Padding( + padding: const EdgeInsets.all(15.0), // Increased padding to make the button bigger + child: Container( + + decoration: BoxDecoration( + border: Border.all( + color: Colors.grey, // Change this to your preferred border color + width: 2, // Change this to your preferred border width + ), + borderRadius: BorderRadius.circular(10), // Add rounded corners + ), + child: Padding( + padding: const EdgeInsets.all(8.0), + child: ListTile( + title: Text( + 'Calendar\n&\nAppointments ', + textAlign: TextAlign.center, + style: GoogleFonts.poppins( + textStyle: Theme.of(context).textTheme.displayLarge, + fontSize: 15, + color: const Color.fromARGB(255, 229, 243, 255), + ), + ), + onTap: () { + Navigator.push( + context, + MaterialPageRoute(builder: (context) => const CalendarViewContainer()), + ); + }, + ), + ), + ), + ), + ), + ], + ), + Container( + + width: + 100, // Set the width to make the divider shorter horizontally + child: Divider( + color: Colors.grey, + height: 20.0, // Adjust the height as needed + ), + ), + Text( + 'GENERAL CMAA SERVICES & PROGRAMS', + style: GoogleFonts.poppins( + fontSize: 12, // Adjust the font size as needed + fontWeight: FontWeight.bold, + color: Color.fromARGB(255, 229, 243, 255), + ), + + ), + Container( + width: + 100, // Set the width to make the divider shorter horizontally + child: Divider( + color: Colors.grey, + height: 20.0, // Adjust the height as needed + ), + ), + CarouselSlider( + options: CarouselOptions(height: 400.0, + autoPlay: true, + autoPlayInterval: Duration(seconds: 3), + autoPlayCurve: Curves.fastOutSlowIn,), + + items: dropdownOptions.map((option) => FractionallySizedBox( + widthFactor: 0.8, + + child: GestureDetector( + onTap: () { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: Text(option, style: GoogleFonts.poppins(), textAlign: TextAlign.center,), + backgroundColor:Color.fromARGB(255, 193, 220, 244), + content: SingleChildScrollView( + child: Column( + + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + + Text(dropdownDescriptions[dropdownOptions.indexOf(option)], style: GoogleFonts.poppins()), // Display the description + ], + ), + ), + actions: [ + TextButton( + child: Text("CLOSE", style: GoogleFonts.poppins()), + onPressed: () { + Navigator.of(context).pop(); // Close the dialog + }, + ), + ], + ); + }, + ); + }, + child: ClipRRect( + borderRadius: BorderRadius.circular(20), + child: Container( + height: 500, + color: const Color.fromARGB(255, 28, 54, 75), + child: Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + option, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 24, + color: selectedIndex == dropdownOptions.indexOf(option) + ? Colors.white + : Colors.white, + ), + ), + SizedBox(height: 10), + ], + ), + ), + ), + ), + ), + )).toList(), + ), + Container( + width: + 100, // Set the width to make the divider shorter horizontally + child: Divider( + color: Colors.grey, + height: 20.0, // Adjust the height as needed + ), + ), + Text( + 'Click on a tile to learn more.', + style: GoogleFonts.poppins( + fontSize: 12, // Adjust the font size as needed + + color: Color.fromARGB(255, 229, 243, 255), + ), + ), + Text( + 'Swipe between tiles to see all our services.', + style: GoogleFonts.poppins( + fontSize: 12, // Adjust the font size as needed + + color: Color.fromARGB(255, 229, 243, 255), + ), + ), + Container( + height: + 50,), + ], + ), + ), + ); +>>>>>>> Stashed changes } } diff --git a/apps_for_good/lib/web_request_page.dart b/apps_for_good/lib/web_request_page.dart new file mode 100644 index 0000000..b68cba2 --- /dev/null +++ b/apps_for_good/lib/web_request_page.dart @@ -0,0 +1,89 @@ +import 'package:GrandCare/appointments_screen.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:google_fonts/google_fonts.dart'; +import 'package:google_sign_in/google_sign_in.dart'; +import 'package:webview_flutter/webview_flutter.dart'; + +final Set> gestureRecognizers = { + Factory(() => EagerGestureRecognizer()) +}; + +UniqueKey _key = UniqueKey(); + +class RequestContainer extends StatefulWidget { + const RequestContainer({super.key}); + + @override + State createState() => _RequestViewState(); +} + +class _RequestViewState extends State { + final controller = WebViewController() + ..setJavaScriptMode(JavaScriptMode.unrestricted) + ..loadRequest(Uri.parse('https://seniorconnection.org/grandparents-raising-grandkids/grandparents-raising-grandkids-resource-center/grandparents-raising-grandkids-sign-up-form/')); + + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text( + 'Inquiry Page', + style: GoogleFonts.poppins(), + ), + leading: IconButton( + icon: Icon(Icons.arrow_back, color: Colors.black), + onPressed: () => Navigator.of(context).pop(), + ), + ), + backgroundColor: const Color.fromARGB(255, 14, 37, 57), + body: SafeArea( + child: Container( + width: double.infinity, + height: MediaQuery.of(context).size.height, + padding: EdgeInsets.symmetric(horizontal: 30, vertical: 50), + child: Column( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Make a Request', + style: + GoogleFonts.poppins(fontSize: 30, color: Colors.white), + ), + Container( + width: + 100, // Set the width to make the divider shorter horizontally + child: const Divider( + color: Colors.grey, + height: 20.0, // Adjust the height as needed + ), + ), + const SizedBox( + height: 20, + ), + Text( + "Please make a request using the form below and we will get back to you as soon as possible.", + textAlign: TextAlign.center, + style: + GoogleFonts.poppins(color: Colors.white, fontSize: 15), + ), + ], + ), + const SizedBox(height: 20), + SizedBox( + height: MediaQuery.of(context).size.height / 2, + child: WebViewWidget( + controller: controller, + )), + + ], + ), + ), + ), + ); + } + +} \ No newline at end of file