diff --git a/app/.flutter-plugins-dependencies b/app/.flutter-plugins-dependencies index 266664d..7d683ec 100644 --- a/app/.flutter-plugins-dependencies +++ b/app/.flutter-plugins-dependencies @@ -1 +1,8 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.4.5\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_ios-6.3.0\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.5\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-12.0.6\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.2.3\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_android-6.3.3\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_macos-3.2.0\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.3.2\\\\","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_linux-3.1.1\\\\","native_build":true,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.3.2\\\\","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_windows-3.1.1\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"permission_handler_html","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_html-0.1.1\\\\","dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","dependencies":["url_launcher_web"]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.3.0\\\\","dependencies":[]},{"name":"url_launcher_web","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_web-2.3.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_pdfview","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2024-06-06 10:07:37.399721","version":"3.22.1"} \ No newline at end of file + +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.4.4\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_ios-6.3.0\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-12.0.6\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.2.2\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_android-6.3.1\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_macos-3.2.0\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.3.2\\\\","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_linux-3.1.1\\\\","native_build":true,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.3.2\\\\","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_windows-3.1.1\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"permission_handler_html","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_html-0.1.1\\\\","dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","dependencies":["url_launcher_web"]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.3.0\\\\","dependencies":[]},{"name":"url_launcher_web","path":"C:\\\\Users\\\\vamzx\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_web-2.3.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_pdfview","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2024-05-14 14:41:21.347116","version":"3.19.4"} +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_local_notifications","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/flutter_local_notifications-17.1.2/","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/flutter_pdfview-1.3.2/","native_build":true,"dependencies":[]},{"name":"open_file","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/open_file-3.3.2/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/permission_handler_apple-9.4.4/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/share_plus-9.0.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.0/","native_build":true,"dependencies":[]}],"android":[{"name":"flutter_local_notifications","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/flutter_local_notifications-17.1.2/","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/flutter_pdfview-1.3.2/","native_build":true,"dependencies":[]},{"name":"open_file","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/open_file-3.3.2/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/path_provider_android-2.2.4/","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/permission_handler_android-12.0.6/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/share_plus-9.0.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/shared_preferences_android-2.2.2/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.1/","native_build":true,"dependencies":[]}],"macos":[{"name":"flutter_local_notifications","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/flutter_local_notifications-17.1.2/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/share_plus-9.0.0/","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.4.0/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.0/","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"share_plus","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/share_plus-9.0.0/","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"shared_preferences_linux","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.3.2/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/url_launcher_linux-3.1.1/","native_build":true,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/path_provider_windows-2.2.1/","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/permission_handler_windows-0.2.1/","native_build":true,"dependencies":[]},{"name":"share_plus","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/share_plus-9.0.0/","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"shared_preferences_windows","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.3.2/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.1/","native_build":true,"dependencies":[]}],"web":[{"name":"permission_handler_html","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/permission_handler_html-0.1.1/","dependencies":[]},{"name":"share_plus","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/share_plus-9.0.0/","dependencies":["url_launcher_web"]},{"name":"shared_preferences_web","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/shared_preferences_web-2.3.0/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/yashshukla/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.1/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_pdfview","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2024-05-18 16:48:45.469851","version":"3.19.5"} +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.4.4\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_ios-6.3.0\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.4\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-12.0.6\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.2.2\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_android-6.3.1\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_macos-3.2.0\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.3.2\\\\","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_linux-3.1.1\\\\","native_build":true,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.3.2\\\\","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_windows-3.1.1\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"permission_handler_html","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_html-0.1.1\\\\","dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","dependencies":["url_launcher_web"]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.3.0\\\\","dependencies":[]},{"name":"url_launcher_web","path":"C:\\\\Users\\\\Subhash D\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_web-2.3.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_pdfview","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2024-05-18 20:09:26.254257","version":"3.22.0-15.0.pre.6","swift_package_manager_enabled":false} + + +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.4.5\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_ios-6.3.0\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"flutter_pdfview","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_pdfview-1.3.2\\\\","native_build":true,"dependencies":[]},{"name":"open_file","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\open_file-3.3.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.5\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-12.0.6\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.2.3\\\\","native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_android-6.3.3\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"flutter_local_notifications","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_local_notifications-17.1.2\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.4.0\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\sqflite-2.3.3+1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_macos-3.2.0\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"path_provider_linux","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":false,"dependencies":["url_launcher_linux"]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.3.2\\\\","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_linux-3.1.1\\\\","native_build":true,"dependencies":[]}],"windows":[{"name":"path_provider_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","native_build":true,"dependencies":["url_launcher_windows"]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.3.2\\\\","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_windows-3.1.1\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"permission_handler_html","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_html-0.1.1\\\\","dependencies":[]},{"name":"share_plus","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\share_plus-9.0.0\\\\","dependencies":["url_launcher_web"]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.3.0\\\\","dependencies":[]},{"name":"url_launcher_web","path":"C:\\\\Users\\\\Shubh\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_web-2.3.1\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_local_notifications","dependencies":[]},{"name":"flutter_pdfview","dependencies":[]},{"name":"open_file","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"share_plus","dependencies":["url_launcher_web","url_launcher_windows","url_launcher_linux"]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2024-06-06 10:07:37.399721","version":"3.22.1"} + diff --git a/app/lib/common_widget/custom_button.dart b/app/lib/common_widget/custom_button.dart index 41e046d..63d7b97 100644 --- a/app/lib/common_widget/custom_button.dart +++ b/app/lib/common_widget/custom_button.dart @@ -1,7 +1,15 @@ import 'package:flutter/material.dart'; +Widget CustomButton( + String title, + IconData icon, + VoidCallback onTap, + double screenWidth, + BuildContext context, +) { + final ThemeData theme = Theme.of(context); + final Color primaryColor = theme.colorScheme.primary; + final Color secondaryColor = theme.colorScheme.secondary; -Widget CustomButton(String title, IconData icon, VoidCallback onTap, - double screenWidth, BuildContext context) { return Padding( padding: const EdgeInsets.only(top: 10, left: 30, right: 30, bottom: 10), child: GestureDetector( @@ -12,16 +20,20 @@ Widget CustomButton(String title, IconData icon, VoidCallback onTap, width: screenWidth * 0.90 - 30, height: 50, decoration: BoxDecoration( - color: const Color.fromARGB(255, 129, 129, 129).withOpacity(0.1), + color: theme.colorScheme.background, borderRadius: BorderRadius.circular(30), - gradient: const LinearGradient( - colors: [Colors.blue, Colors.red, Colors.green], + gradient: LinearGradient( + colors: [ + primaryColor, + primaryColor.withOpacity(0.8), // Adjust opacity for gradient + primaryColor.withOpacity(0.6), // Adjust opacity for gradient + ], ), ), child: Row( children: [ const SizedBox(width: 50), - Icon(icon, color: Theme.of(context).colorScheme.secondary), + Icon(icon, color: secondaryColor), const SizedBox(width: 30), Expanded( child: Text( @@ -29,7 +41,7 @@ Widget CustomButton(String title, IconData icon, VoidCallback onTap, softWrap: false, overflow: TextOverflow.ellipsis, style: TextStyle( - color: Theme.of(context).colorScheme.secondary, + color: secondaryColor, fontSize: 20, ), ), diff --git a/app/lib/main.dart b/app/lib/main.dart index 4f4ee4f..57cc5a6 100644 --- a/app/lib/main.dart +++ b/app/lib/main.dart @@ -1,17 +1,19 @@ +import 'package:cached_network_image/cached_network_image.dart'; +import 'package:examtime/screens/auth_screen/signin.dart'; +import 'package:examtime/screens/auth_screen/signup.dart'; import 'package:examtime/screens/discussion/discussion.dart'; +import 'package:examtime/screens/landing_screen/dashboard.dart'; +import 'package:examtime/screens/liked_notes/liked.dart'; +import 'package:examtime/screens/profile/profile.dart'; +import 'package:examtime/screens/request_notes/request.dart'; import 'package:examtime/services/SharedServices/Preferences.dart'; import 'package:examtime/services/SharedServices/Sharedservices.dart'; -import 'package:examtime/screens/request_notes/request.dart'; import 'package:examtime/services/notification_service.dart'; +import 'package:examtime/theme/theme_provider.dart'; import 'package:flutter/material.dart'; -import 'package:examtime/screens/landing_screen/dashboard.dart'; -import 'package:examtime/screens/liked_notes/liked.dart'; -import 'package:cached_network_image/cached_network_image.dart'; -import 'package:examtime/screens/auth_screen/signin.dart'; -import 'package:examtime/screens/auth_screen/signup.dart'; -import 'package:examtime/screens/profile/profile.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:provider/provider.dart'; +import 'package:examtime/screens/request_notes/request.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:examtime/screens/auth_screen/otp.dart'; import 'helpers/ThemeProvider.dart'; @@ -24,10 +26,11 @@ void main() async { await LocalNotificationService().init(); preferences = await SharedPreferences.getInstance(); runApp( - ChangeNotifierProvider(create: (context)=>ThemeProvider(), - child: const MyApp() - ) - ); + + ChangeNotifierProvider(create: (context) => ThemeProvider(), + child: const MyApp(), + ) + ); } Future backgroundHandler() async { @@ -116,9 +119,9 @@ class MyApp extends StatelessWidget { return MaterialApp( debugShowCheckedModeBanner: false, title: 'ExamTime', - theme: lightTheme, - darkTheme: darkTheme, - themeMode: themeProvider.themeMode, + //themeMode: ThemeMode.system, + theme: Provider.of(context).themeData, + initialRoute: '/', routes: { '/': (context) => const LoadingScreen(), @@ -186,7 +189,7 @@ class _LoadingScreenState extends State @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: _backgroundColorAnimation.value ?? Colors.white, + backgroundColor: Theme.of(context).colorScheme.background, body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, diff --git a/app/lib/screens/landing_screen/dashboard.dart b/app/lib/screens/landing_screen/dashboard.dart index 9e2a5a9..a66ed37 100644 --- a/app/lib/screens/landing_screen/dashboard.dart +++ b/app/lib/screens/landing_screen/dashboard.dart @@ -1,31 +1,573 @@ +import 'dart:io'; + +// import 'dart:convert'; +// import 'package:dio/dio.dart'; +// import 'package:examtime/model/notes.dart'; +// import 'package:examtime/screens/courses/btech_course.dart'; +// import 'package:examtime/screens/landing_screen/popupdetail.dart'; +// import 'package:examtime/screens/note_preview/preview_note_screen.dart'; +// import 'package:examtime/services/ApiServices/api_services.dart.dart'; +// import 'package:examtime/services/notification_service.dart'; +// import 'package:dio/dio.dart'; +// import 'package:examtime/model/notes.dart'; +// import 'package:examtime/screens/landing_screen/popupdetail.dart'; + +// import 'package:flutter/material.dart'; +// import 'package:http/http.dart' as http; +// import 'package:path_provider/path_provider.dart'; +// import 'package:permission_handler/permission_handler.dart'; +// import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +// import 'dart:io'; +// import 'package:open_file/open_file.dart'; +// import 'package:share_plus/share_plus.dart'; + +// import '../../model/user.dart'; +// import '../../services/SharedServices/Sharedservices.dart'; +// import 'navbar.dart'; +// import 'drawer.dart'; + +// final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); + +// class DashboardPage extends StatefulWidget { +// static const String routeName = '/dashboard'; + +// DashboardPage({Key? key}) : super(key: key); + +// @override +// State createState() => _DashboardPageState(); + +// Future initNotifications() async { +// const AndroidInitializationSettings initializationSettingsAndroid = +// AndroidInitializationSettings('notification_icon'); +// final InitializationSettings initializationSettings = +// InitializationSettings(android: initializationSettingsAndroid); +// await flutterLocalNotificationsPlugin.initialize( +// initializationSettings, +// onDidReceiveNotificationResponse: (NotificationResponse response) async { +// // Use the response object here +// // For example, to open a file: +// await OpenFile.open(response.payload); +// }, +// onDidReceiveBackgroundNotificationResponse: +// (NotificationResponse response) async { +// // Use the response object here +// // For example, to open a file: +// await OpenFile.open(response.payload); +// }, +// ); +// } +// } + +// class _DashboardPageState extends State { +// List notes = []; +// User? user; +// bool isLoading = true; + +// fetchNotes() async { +// if (SharedServices.isLoggedIn()) { +// Response res = await Apiservices.fetchNotes(); +// notes = jsonDecode(jsonEncode(res.data)); +// isLoading = false; +// // print(notes); +// setState(() {}); +// } else { +// ScaffoldMessenger.of(context).showSnackBar(const SnackBar( +// content: Text("Error occurred : please logout and login again "))); +// } +// } + +// @override +// void initState() { +// super.initState(); +// fetchNotes(); +// } + +// @override +// Widget build(BuildContext context) { +// <<<<<<< HEAD +// List> notes = [ +// { +// "pdfUrl": +// "https://www.yesterdaysclassics.com/previews/burt_poems_preview.pdf", +// "title": "Note 1", +// "description": "Description of Note 1", +// }, +// { +// "pdfUrl": "https://www.clickdimensions.com/links/TestPDFfile.pdf", +// "title": "Note 2", +// "description": "Description of Note 2", +// }, +// { +// "pdfUrl": +// "https://www.yesterdaysclassics.com/previews/burt_poems_preview.pdf", +// "title": "Note 1", +// "description": "Description of Note 1", +// }, +// { +// "pdfUrl": "https://www.clickdimensions.com/links/TestPDFfile.pdf", +// "title": "Note 2", +// "description": "Description of Note 2", +// }, +// { +// "pdfUrl": +// "https://www.yesterdaysclassics.com/previews/burt_poems_preview.pdf", +// "title": "Note 1", +// "description": "Description of Note 1", +// }, +// { +// "pdfUrl": "https://www.clickdimensions.com/links/TestPDFfile.pdf", +// "title": "Note 2", +// "description": "Description of Note 2", +// }, +// ]; +// const imageLinks = [ +// 'assets/img/eng.png', +// 'assets/img/diploma.png', +// 'assets/img/doctor.png', +// 'assets/img/nurs.png', +// 'assets/img/phar.png', +// ]; +// const stremas = ['BTech', 'Diploma', 'MBBS', 'Nursing', 'BPharma']; +// const pages = [ +// BtexhCourse(), +// ]; +// ======= +// List likedStatus = List.generate(notes.length, (index) => false); +// >>>>>>> 559338dc484513bc80efafb2d7607c044068cd25 +// return WillPopScope( +// onWillPop: () async { +// return false; // Disables the back button +// }, +// child: Scaffold( +// <<<<<<< HEAD +// appBar: CommonNavBar(), +// drawer: AppDrawer(), // Use the CommonNavBar as the app bar +// body: Padding( +// padding: const EdgeInsets.only(top: 20.0), +// child: GridView.builder( +// itemCount: 5, +// gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount( +// crossAxisCount: 2, crossAxisSpacing: 5, mainAxisSpacing: 5), +// itemBuilder: (context, index) { +// return GestureDetector( +// onTap: () { +// Navigator.push( +// context, +// MaterialPageRoute( +// builder: (context) => pages[index])); +// }, +// child: Padding( +// padding: const EdgeInsets.all(8.0), +// child: Container( +// height: 70, +// width: 70, +// // color: Colors.amber, +// decoration: BoxDecoration( +// color: Colors.white, +// borderRadius: BorderRadius.circular(12), +// boxShadow: const [ +// BoxShadow( +// offset: Offset(2, 2), +// blurRadius: 0.5, +// color: Color.fromARGB(255, 172, 172, 172)) +// ]), +// child: Column( +// children: [ +// Padding( +// padding: const EdgeInsets.all(8.0), +// child: SizedBox( +// height: 60, +// width: 60, +// child: Image.asset( +// imageLinks[index], +// fit: BoxFit.cover, +// ), +// ), +// ), +// Center( +// child: Text( +// stremas[index], +// style: const TextStyle( +// fontWeight: FontWeight.w500), +// ), +// ), +// const Padding( +// padding: EdgeInsets.only(left: 10.0, right: 10), +// child: Divider(), +// ), +// const Padding( +// padding: EdgeInsets.only(left: 10.0, right: 10), +// child: Text( +// "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmodadipiscing elit, sed do eiusmod", +// style: TextStyle(fontSize: 13), +// overflow: TextOverflow.ellipsis, +// maxLines: 3, +// ), +// ) +// ], +// ), +// ), +// ), +// ); +// }), +// ) +// // ListView.builder( +// // itemCount: notes.length, +// // itemBuilder: (BuildContext context, int index) { +// // return GestureDetector( +// // onTap: () { +// // // _showNoteDetails(context, notes[index]); +// // Navigator.push( +// // context, +// // MaterialPageRoute( +// // builder: (context) => PreviewNoteScreen(Notes.fromMap(notes[index])) +// // ), +// // ); +// // }, +// // child: Container( +// // margin: EdgeInsets.all(20), +// // padding: EdgeInsets.all(20), +// // decoration: BoxDecoration( +// // color: Colors.white, +// // borderRadius: BorderRadius.circular(10), +// // boxShadow: [ +// // BoxShadow( +// // color: Colors.grey.withOpacity(0.5), +// // spreadRadius: 5, +// // blurRadius: 7, +// // offset: Offset(0, 3), +// // ), +// // ], +// // ), +// // child: Column( +// // crossAxisAlignment: CrossAxisAlignment.start, +// // children: [ +// // FadeInImage( +// // image: NetworkImage( +// // 'https://i.postimg.cc/43FzYStQ/pexels-cottonbro-3831847.jpg'), +// // fit: BoxFit.cover, +// // placeholder: const NetworkImage( +// // 'https://placehold.jp/3d4070/ffffff/300x300.png?css=%7B%22border-radius%22%3A%2215px%22%7D'), +// // ), +// // Divider(), // Horizontal line to separate notes +// // Row( +// // mainAxisAlignment: MainAxisAlignment.spaceBetween, +// // children: [ +// // Text( +// // notes[index]["title"], +// // style: const TextStyle( +// // fontSize: 16, +// // fontWeight: FontWeight.bold, +// // ), +// // ), +// // IconButton( +// // icon: const Icon(Icons.download), +// // onPressed: () async { +// // var status = await Permission.storage.status; +// // if (!status.isGranted) { +// // await Permission.storage.request(); +// // } +// // var downloadPath = await getDownloadPath(); +// // if (downloadPath != null) { +// // var filePath = +// // '$downloadPath/${notes[index]["title"]}.pdf'; +// // _sendDownloadNotification( +// // filePath); // Show initial notification +// // await _startDownload( +// // notes[index]["pdfUrl"], filePath); +// // } else { +// // ScaffoldMessenger.of(context).showSnackBar( +// // SnackBar( +// // content: +// // Text('Could not get download path')), +// // ); +// // } +// // }, +// // ), +// // ], +// // ), +// // ], +// // ), +// // ), +// // ); +// // }, +// // ), +// ), +// ======= +// appBar: const CommonNavBar(), +// drawer: AppDrawer(), // Use the CommonNavBar as the app bar +// body: isLoading +// ? const Center( +// child: CircularProgressIndicator( +// color: Colors.blue, +// strokeWidth: 2, +// ), +// ) +// : notes.isEmpty +// ? const Center( +// child: Text("No notes are available"), +// ) +// : ListView.builder( +// itemCount: notes.length, +// itemBuilder: (BuildContext context, int index) { +// if (likedStatus.length <= index) { +// likedStatus.add(false); +// } +// return GestureDetector( +// onTap: () { +// Navigator.push( +// context, +// MaterialPageRoute( +// builder: (context) => PreviewNoteScreen( +// Notes.fromMap(notes[index]))), +// ); +// }, +// child: Container( +// margin: const EdgeInsets.all(20), +// padding: const EdgeInsets.all(20), +// decoration: BoxDecoration( +// color: Colors.white, +// borderRadius: BorderRadius.circular(10), +// boxShadow: [ +// BoxShadow( +// color: Colors.grey.withOpacity(0.5), +// spreadRadius: 5, +// blurRadius: 7, +// offset: const Offset(0, 3), +// ), +// ], +// ), +// child: Column( +// crossAxisAlignment: CrossAxisAlignment.end, +// children: [ +// const FadeInImage( +// image: NetworkImage( +// 'https://i.postimg.cc/43FzYStQ/pexels-cottonbro-3831847.jpg'), +// fit: BoxFit.cover, +// placeholder: NetworkImage( +// 'https://placehold.jp/3d4070/ffffff/300x300.png?css=%7B%22border-radius%22%3A%2215px%22%7D'), +// ), +// Divider(), // Horizontal line to separate notes +// Row( +// mainAxisAlignment: +// MainAxisAlignment.spaceAround, +// children: [ +// SizedBox( +// width: 100, +// child: Text( +// notes[index]["title"], +// style: const TextStyle( +// fontSize: 16, +// fontWeight: FontWeight.bold, +// ), +// ), +// ), +// IconButton( +// icon: Icon( +// likedStatus[index] +// ? Icons.favorite +// : Icons.favorite_border, +// color: likedStatus[index] +// ? Colors.red +// : Colors.grey, +// ), +// onPressed: () { +// _toggleLikedStatus(index, likedStatus); +// }, +// ), +// // SizedBox(width: 18), +// IconButton( +// onPressed: () { +// shareDownloadedPdf( +// notes[index]["pdfUrl"], +// notes[index]["title"]); +// }, +// icon: Icon(Icons.share_outlined)), +// IconButton( +// icon: const Icon(Icons.download), +// onPressed: () async { +// var status = +// await Permission.storage.status; +// if (!status.isGranted) { +// await Permission.storage.request(); +// } +// var downloadPath = +// await getDownloadPath(); +// if (downloadPath != null) { +// var filePath = +// '$downloadPath/${notes[index]["title"]}.pdf'; +// LocalNotificationService() +// .sendDownloadNotification( +// filePath, +// notes[index][ +// "title"]); // Show initial notification +// await _startDownload( +// notes[index]["fileUrl"] ?? "", +// filePath, +// notes[index]["title"]); +// } else { +// ScaffoldMessenger.of(context) +// .showSnackBar( +// const SnackBar( +// content: Text( +// 'Could not get download path')), +// ); +// } +// }, +// ), +// ], +// ), +// ], +// ), +// ), +// ); +// }, +// ), +// ), +// >>>>>>> 559338dc484513bc80efafb2d7607c044068cd25 +// ); +// } + +// Future shareDownloadedPdf(String pdfUrl, String title) async { +// try { +// final fileName = "$title.pdf"; +// final appDocDir = await getApplicationDocumentsDirectory(); +// final filePath = "${appDocDir.path}/$fileName"; + +// final response = await Dio().download(pdfUrl, filePath); +// if (response.statusCode == 200) { +// final xFile = XFile(filePath); +// await Share.shareXFiles([xFile]); +// } else { +// print("Problem in Downloading a file For sharing"); +// } +// } catch (e) { +// print("Error: $e"); +// } +// } + +// void _showNoteDetails(BuildContext context, Map note) { +// showDialog( +// context: context, +// builder: (BuildContext context) { +// return PopupDetail( +// title: note["title"], +// description: note["description"], +// pdfUrl: note["pdfUrl"], +// setController: (PDFViewController, TextEditingController) {}, +// ); +// }, +// ); + +// // void _showNoteDetails(BuildContext context, Map note) { +// // showDialog( +// // context: context, +// // builder: (BuildContext context) { +// // return PopupDetail( +// // title: note["title"], +// // description: note["description"], +// // pdfUrl: note["pdfUrl"], +// // ); +// // }, +// // ); +// // } +// } + +// Future initNotification() async { +// const AndroidInitializationSettings initializationSettingsAndroid = +// AndroidInitializationSettings('notification_icon'); +// final InitializationSettings initializationSettings = +// InitializationSettings(android: initializationSettingsAndroid); +// await flutterLocalNotificationsPlugin.initialize( +// initializationSettings, +// onDidReceiveNotificationResponse: (NotificationResponse response) async { +// // Use the response object here +// // For example, to open a file: +// await OpenFile.open(response.payload); +// }, +// onDidReceiveBackgroundNotificationResponse: +// (NotificationResponse response) async { +// // Use the response object here +// // For example, to open a file: +// await OpenFile.open(response.payload); +// }, +// ); +// } + +// void main() async { +// WidgetsFlutterBinding.ensureInitialized(); +// await DashboardPage().initNotifications(); // Initialize notifications +// runApp(MaterialApp( +// home: DashboardPage(), +// )); +// } + +// void _toggleLikedStatus(int index, List likedStatus) { +// List updatedStatus = List.from(likedStatus); +// updatedStatus[index] = !updatedStatus[index]; +// likedStatus.replaceRange(0, likedStatus.length, updatedStatus); +// } + +// Future getDownloadPath() async { +// Directory? directory; +// try { +// if (Platform.isIOS) { +// directory = await getApplicationDocumentsDirectory(); +// } else { +// directory = Directory('/storage/emulated/0/Download'); + +// if (!await directory.exists()) { +// directory = await getExternalStorageDirectory(); +// } +// } +// } catch (err, stack) { +// print("Cannot get download folder path"); +// } +// return directory?.path; +// } + +// Future _startDownload( +// String url, String filePath, String fileName) async { +// var response = await http.get(Uri.parse(url)); +// var file = File(filePath); +// await file.writeAsBytes(response.bodyBytes); +// LocalNotificationService().sendDownloadCompleteNotification( +// filePath, fileName); // Show download complete notification +// } +// } + + import 'dart:convert'; import 'package:dio/dio.dart'; -import 'package:examtime/model/notes.dart'; import 'package:examtime/screens/landing_screen/popupdetail.dart'; import 'package:examtime/screens/note_preview/preview_note_screen.dart'; import 'package:examtime/services/ApiServices/api_services.dart.dart'; import 'package:examtime/services/SharedServices/Preferences.dart'; import 'package:examtime/services/notification_service.dart'; import 'package:dio/dio.dart'; -import 'package:examtime/model/notes.dart'; import 'package:examtime/screens/landing_screen/popupdetail.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:flutter/widgets.dart'; import 'package:http/http.dart' as http; +import 'package:open_file/open_file.dart'; import 'package:path_provider/path_provider.dart'; import 'package:permission_handler/permission_handler.dart'; +import 'package:share_plus/share_plus.dart'; +import 'drawer.dart'; + import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'dart:io'; import 'package:open_file/open_file.dart'; import 'package:provider/provider.dart'; import 'package:share_plus/share_plus.dart'; import '../../helpers/ThemeProvider.dart'; + import '../../model/user.dart'; import '../../services/SharedServices/Sharedservices.dart'; import 'navbar.dart'; -import 'drawer.dart'; final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); @@ -119,6 +661,7 @@ class _DashboardPageState extends State { return false; // Disables the back button }, child: Scaffold( + backgroundColor: Theme.of(context).colorScheme.background, appBar: const CommonNavBar(), drawer: const AppDrawer(), // Use the CommonNavBar as the app bar body: isLoading diff --git a/app/lib/screens/landing_screen/drawer.dart b/app/lib/screens/landing_screen/drawer.dart index 3faf9e6..c3ccb75 100644 --- a/app/lib/screens/landing_screen/drawer.dart +++ b/app/lib/screens/landing_screen/drawer.dart @@ -1,11 +1,13 @@ import 'package:examtime/screens/discussion/discussion.dart'; import 'dart:ui'; +import 'package:examtime/screens/profile/profile.dart'; import 'package:examtime/model/user.dart'; import 'package:examtime/services/SharedServices/Sharedservices.dart'; +import 'package:examtime/theme/theme_provider.dart'; import 'package:flutter/material.dart'; -import 'package:examtime/screens/profile/profile.dart'; import 'package:provider/provider.dart'; import '../../helpers/ThemeProvider.dart'; + import '../auth_screen/signin.dart'; import '../liked_notes/liked.dart'; import '../request_notes/request.dart'; @@ -25,7 +27,7 @@ class AppDrawer extends StatelessWidget { }, child: Drawer( width: media.width, - backgroundColor: Colors.transparent, + backgroundColor: Theme.of(context).colorScheme.background, child: BackdropFilter( filter: ImageFilter.blur( sigmaX: 5.0, @@ -41,9 +43,8 @@ class AppDrawer extends StatelessWidget { ), Container( width: media.width * 0.70, - decoration: BoxDecoration( - color: themeProvider.isDarkMode ? Colors.grey[850] : Colors.white, - ), + decoration: BoxDecoration(color: Theme.of(context).colorScheme.background), + child: SafeArea( child: Padding( padding: const EdgeInsets.all(12), @@ -73,7 +74,6 @@ class AppDrawer extends StatelessWidget { SharedServices.getLoginDetails()?.user?.username ?? 'user name', style: const TextStyle( fontSize: 20, - color: Colors.black, fontWeight: FontWeight.w700, ), ), @@ -85,8 +85,7 @@ class AppDrawer extends StatelessWidget { const SizedBox( height: 15, ), - const Divider( - color: Colors.black26, + Divider( height: 1, ), Expanded( @@ -133,8 +132,20 @@ class AppDrawer extends StatelessWidget { height: 15, ), ListTile( - leading: const Icon(Icons.logout), - title: const Text('Logout'), + + leading: Icon(Icons.lightbulb), + title: Text('Change Mode'), + onTap: () { + Provider.of(context, listen: false).toggleTheme(); + }, + ), + const SizedBox( + height: 15, + ), + ListTile( + leading: Icon(Icons.logout), + title: Text('Logout'), + onTap: () { SharedServices.logout(context); Navigator.pushNamed(context, LoginPage.routeName); @@ -172,7 +183,6 @@ class AppDrawer extends StatelessWidget { ), ), const Divider( - color: Colors.black26, height: 1, ), const SizedBox( @@ -188,10 +198,10 @@ class AppDrawer extends StatelessWidget { const Text( "Switch Account", style: TextStyle( - fontSize: 18, - color: Colors.black, - fontWeight: FontWeight.w700, - ), + + fontSize: 18, + fontWeight: FontWeight.w700), + ), Image.asset("assets/img/next.png", width: 18, height: 18), ], diff --git a/app/lib/screens/landing_screen/navbar.dart b/app/lib/screens/landing_screen/navbar.dart index 2f8c000..11251b9 100644 --- a/app/lib/screens/landing_screen/navbar.dart +++ b/app/lib/screens/landing_screen/navbar.dart @@ -1,7 +1,6 @@ -import 'package:flutter/material.dart'; import 'package:cached_network_image/cached_network_image.dart'; -import 'package:responsive_sizer/responsive_sizer.dart'; -import 'dashboard.dart'; +import 'package:flutter/material.dart'; + import 'notification.dart'; class CommonNavBar extends StatelessWidget implements PreferredSizeWidget { @@ -12,11 +11,10 @@ class CommonNavBar extends StatelessWidget implements PreferredSizeWidget { @override Widget build(BuildContext context) { - final ThemeData theme = Theme.of(context); return AppBar( automaticallyImplyLeading: false, - backgroundColor: theme.primaryColor, + backgroundColor: Theme.of(context).colorScheme.primary, centerTitle: true, title: Row( children: [ @@ -45,11 +43,29 @@ class CommonNavBar extends StatelessWidget implements PreferredSizeWidget { ), Padding( padding: const EdgeInsets.only(left: 12.0), - child: IconButton( - icon: const Icon( - Icons.notifications, - color: Colors.white, - size: 32.0, + child: Container( + child: IconButton( + icon: Icon( + Icons.notifications, + color: Colors.white, + size: 32.0, + ), + onPressed: () { + showMenu( + context: context, + position: RelativeRect.fromLTRB(100, 100, 0, 0), + // position where you want to show the menu + items: [ + PopupMenuItem( + child: Container( + color: Theme.of(context).colorScheme.background, + child: NotificationPage(), + ), + ), + ], + ); + }, + ), onPressed: () { showMenu( diff --git a/app/lib/screens/landing_screen/notification.dart b/app/lib/screens/landing_screen/notification.dart index 925e3ee..00306a4 100644 --- a/app/lib/screens/landing_screen/notification.dart +++ b/app/lib/screens/landing_screen/notification.dart @@ -22,7 +22,7 @@ class NotificationPage extends StatefulWidget { class _NotificationPageState extends State { List requestList = []; bool isLoading = true; - bool isScrolling=false; + bool isScrolling = false; @override void initState() { @@ -37,77 +37,158 @@ class _NotificationPageState extends State { children: [ isLoading ? const Center( - child: CircularProgressIndicator( - color: Colors.blue, - strokeWidth: 2, - ), - ) :requestList.isEmpty?const Center( - child: Text( - 'You Have No Notifications Thank you!!', - style: TextStyle(fontSize: 18,color: Colors.blueAccent,fontWeight: FontWeight.w400), - textAlign: TextAlign.center, - ), - ): - Column( + child: CircularProgressIndicator( + color: Colors.blue, + strokeWidth: 2, + ), + ) + : requestList.isEmpty + ? const Center( + child: Text( + 'You Have No Notifications Thank you!!', + style: TextStyle( + fontSize: 18, + color: Colors.blueAccent, + fontWeight: FontWeight.w400, + ), + textAlign: TextAlign.center, + ), + ) + : Column( crossAxisAlignment: CrossAxisAlignment.stretch, mainAxisAlignment: MainAxisAlignment.start, children: [ - Text( - 'You have ${requestList.length} new notifications', - style: const TextStyle(fontSize: 14), - textAlign: TextAlign.center, - ), - const SizedBox(height: 22), - Expanded( - child: ListView.builder( - itemCount:isScrolling?requestList.length:(requestList.length>=4?4:requestList.length), - shrinkWrap: true, - itemBuilder: (context, index) { - return Container( - width: MediaQuery.sizeOf(context).width, - decoration: const BoxDecoration( - border: Border( - bottom: BorderSide(color: Colors.black26,width: 2) - ) - ), - padding: const EdgeInsets.symmetric(horizontal: 8,vertical: 20), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Expanded( - child: Text(toBeginningOfSentenceCase(requestList[requestList.length-index-1].description)??requestList[requestList.length-index-1].description, - style: const TextStyle(color: Colors.black,fontSize: 18,overflow: TextOverflow.ellipsis,),maxLines: 3,), - ), - Text('@${requestList[requestList.length-index-1].author}', - style: const TextStyle(color: Colors.black,fontSize: 12,overflow: TextOverflow.ellipsis,),maxLines: 3,), - ], - ) - ); - }, - ), - ), - Align( - alignment: Alignment.bottomRight, - child: isScrolling?TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - child: const Text( - 'Close', - style: TextStyle(fontSize: 18), - ), - ):TextButton( - onPressed: () { - setState(() { - isScrolling=true; - }); - }, - child: const Text( - 'View more...', - style: TextStyle(fontSize: 18,color: Colors.blue), - ), - ), - ), + Container( + color: Theme.of(context).colorScheme.background, + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Stack( + children: [ + SingleChildScrollView( + child: Container( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + 'Notifications', + style: TextStyle( + fontSize: 22, + fontWeight: FontWeight.w600, + ), + ), + SizedBox( + height: 15, + ), + Text( + 'You have ${requestList.length} new notifications', + style: TextStyle(fontSize: 14), + textAlign: TextAlign.center, + ), + SizedBox( + height: 22, + ), + Expanded( + child: ListView.builder( + itemCount: isScrolling + ? requestList.length + : (requestList.length >= 4 + ? 4 + : requestList.length), + shrinkWrap: true, + itemBuilder: (context, index) { + return Container( + width: MediaQuery.sizeOf(context).width, + decoration: const BoxDecoration( + border: Border( + bottom: BorderSide( + color: Colors.black26, + width: 2, + ), + ), + ), + padding: const EdgeInsets.symmetric( + horizontal: 8, vertical: 20), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Expanded( + child: Text( + toBeginningOfSentenceCase( + requestList[ + requestList.length - + index - + 1] + .description) ?? + requestList[ + requestList.length - + index - + 1] + .description, + style: const TextStyle( + color: Colors.black, + fontSize: 18, + overflow: TextOverflow.ellipsis, + ), + maxLines: 3, + ), + ), + Text( + '@${requestList[ + requestList.length - + index - + 1] + .author}', + style: const TextStyle( + color: Colors.black, + fontSize: 12, + overflow: TextOverflow.ellipsis, + ), + maxLines: 3, + ), + ], + ), + ); + }, + ), + ), + Align( + alignment: Alignment.bottomRight, + child: isScrolling + ? TextButton( + onPressed: () { + Navigator.of(context).pop(); + }, + child: const Text( + 'Close', + style: TextStyle(fontSize: 18), + ), + ) + : TextButton( + onPressed: () { + setState(() { + isScrolling = true; + }); + }, + child: const Text( + 'View more...', + style: TextStyle( + fontSize: 18, + color: Colors.blue, + ), + ), + ), + ), + ], + ), + ), + ), + ], + ), + ], + ), + ), ], ), ], diff --git a/app/lib/screens/profile/profile.dart b/app/lib/screens/profile/profile.dart index 924c191..fd51e10 100644 --- a/app/lib/screens/profile/profile.dart +++ b/app/lib/screens/profile/profile.dart @@ -4,13 +4,9 @@ import 'package:dio/dio.dart'; import 'package:examtime/common_widget/custom_button.dart'; import 'package:examtime/common_widget/emailWidget.dart'; import 'package:examtime/services/ApiServices/api_services.dart.dart'; -import 'package:flutter/material.dart'; -import 'package:cached_network_image/cached_network_image.dart'; -import 'package:responsive_sizer/responsive_sizer.dart'; -import 'package:examtime/screens/landing_screen/dashboard.dart'; -import 'package:examtime/screens/landing_screen/notification.dart'; -import 'package:examtime/screens/landing_screen/navbar.dart'; import 'package:examtime/screens/landing_screen/drawer.dart'; +import 'package:examtime/screens/landing_screen/navbar.dart'; +import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import '../../model/user.dart'; @@ -27,7 +23,7 @@ class _ProfileScreenState extends State { String _name = 'John Doe'; String _email = 'john.doe@example.com'; bool isEmail = true; - User ? user; + User ? user; void _editProfile() { showDialog( @@ -75,8 +71,8 @@ class _ProfileScreenState extends State { void fetchUserDetails()async{ if(SharedServices.isLoggedIn()){ Response res=await Apiservices.fetchUserData(); - user=User.fromJson(jsonDecode(jsonEncode(res.data))); - setState(() {}); + user=User.fromJson(jsonDecode(jsonEncode(res.data))); + setState(() {}); //print(user.username); }else{ ScaffoldMessenger.of(context).showSnackBar( @@ -108,7 +104,7 @@ class _ProfileScreenState extends State { ), Stack( children: [ - CircleAvatar( + CircleAvatar( radius: 100, backgroundColor: Colors.yellow, child: CircleAvatar( @@ -137,7 +133,7 @@ class _ProfileScreenState extends State { user?.email??_email, style: TextStyle( fontSize: 16, - color: Colors.grey, + color: Theme.of(context).colorScheme.primary, ), ), const SizedBox(height: 16), diff --git a/app/lib/screens/request_notes/request.dart b/app/lib/screens/request_notes/request.dart index df1e885..5b0b685 100644 --- a/app/lib/screens/request_notes/request.dart +++ b/app/lib/screens/request_notes/request.dart @@ -1,265 +1,241 @@ -import 'package:flutter/material.dart'; -import 'package:examtime/screens/landing_screen/dashboard.dart'; -import 'package:examtime/screens/landing_screen/navbar.dart'; -import 'package:examtime/screens/landing_screen/drawer.dart'; - -class RequestNotesPage extends StatefulWidget { - static const String routeName = '/request_notes'; - - const RequestNotesPage({Key? key}) : super(key: key); - - @override - _RequestNotesPageState createState() => _RequestNotesPageState(); -} -enum SubLabel { - DSA('DSA'), - COA('COA'), - C('C'), - Cpp('C++'), - Java('Java'), - DS('Distributed Systems'), - CN('Computer Networks'), - DBMS('DBMS'), - ML('Machine Learning'), - OS('Operating System'); - - final String label; - const SubLabel(this.label); -} - -enum ModeLabel { - Printed('Printed'), - Handwritten('Handwritten'); - final String label; - const ModeLabel(this.label); -} - -class _RequestNotesPageState extends State { - final TextEditingController _noteController = TextEditingController(); - SubLabel? selectedSub = SubLabel.DSA; - ModeLabel? selectedMode = ModeLabel.Printed; - - - @override - void dispose() { - _noteController.dispose(); - super.dispose(); - } - - @override - Widget build(BuildContext context) { - - - - return WillPopScope( - onWillPop: () async { - Navigator.pushReplacementNamed(context, DashboardPage.routeName); - return false; - }, - child: Scaffold( - appBar: CommonNavBar(), - drawer: AppDrawer(), // Use the CommonNavBar - body: Padding( - padding: const EdgeInsets.all(20.0), - child: Column( - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - SizedBox(height: 20.0,), - - Row( - children: [ - Icon(Icons.book, size: 30.0,), - const SizedBox(width: 10), - Text( - 'Subject', - style: TextStyle( - fontSize: 23.0, - fontWeight: FontWeight.bold, - color: Color(0xFF1F2937), - - ), - ), - ], - ), - const SizedBox(height: 10), - - DropdownButtonFormField( - value: selectedSub, - onChanged: (SubLabel? newValue) { - setState(() { - selectedSub = newValue; - }); - }, - items: SubLabel.values.map((SubLabel subject) { - return DropdownMenuItem( - value: subject, - child: Text(subject.label - ), - ); - }).toList(), - hint: const Text('Select Subject'), - isExpanded: true, - autofocus: true, - alignment: Alignment.centerLeft, - style: TextStyle( - color: Color(0xFF1F2937), - - fontSize: 17.0), - ), - const SizedBox(height: 20), - Row( - children: [ - Icon(Icons.description, size: 30.0,), - const SizedBox(width: 10), - Text( - 'Type', - style: TextStyle( - fontSize: 23.0, - fontWeight: FontWeight.bold, - color: Color(0xFF1F2937), - - ), - ), - ], - ), - const SizedBox(height: 10), - - DropdownButtonFormField( - value: selectedMode, - onChanged: (ModeLabel? newValue) { - setState(() { - selectedMode = newValue; - }); - }, - - items: ModeLabel.values.map((ModeLabel mode) { - return DropdownMenuItem( - value: mode, - child: Text(mode.label), - ); - }).toList(), - hint: const Text('Select Type'), - isExpanded: true, - autofocus: true, - alignment: Alignment.centerLeft, - style: TextStyle(color: Color(0xFF1F2937), - fontSize: 17.0, - ), - - - - ), - const SizedBox(height: 20), - - TextField( - controller: _noteController, - cursorColor: Color(0xFF1F2937), // Set cursor color - decoration: InputDecoration( - labelText: 'Enter additional information', - labelStyle: TextStyle( - color: Color(0xFF1F2937), // Set label text color - ), - border: OutlineInputBorder( - borderSide: BorderSide( - color: Colors.grey.shade200, // Set border color - ), - borderRadius: const BorderRadius.all(Radius.circular(7.0)), - ), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide( - color: Color(0xFF1F2937), // Set border color - ), - ), - ), - ), - SizedBox(height: 20), - ElevatedButton( - onPressed: () { - _submitNoteRequest(context); - }, - child: Text( - 'Submit', - style: TextStyle(color: Colors.white, - fontSize: 18.0,), - ), - style: ElevatedButton.styleFrom( - backgroundColor: Color(0xFF1F2937), - minimumSize: const Size(130, 50), - padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 15), - ), - ), - ], - ), - ), - ), - ); - } - - void _submitNoteRequest(BuildContext context) { - // Add functionality to submit the note request - _showNoteRequestSentDialog(context); - _noteController.clear(); - } - - void _showNoteRequestSentDialog(BuildContext context) { - showDialog( - context: context, - builder: (BuildContext context) { - return AlertDialog( - backgroundColor: Colors.white, // Set background color to white - content: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - // const Padding( - // padding: EdgeInsets.all(16.0), - // child: Text( - // 'Note Request Sent', - // textAlign: TextAlign.center, - // style: TextStyle( - // color: Color(0xFF1F2937), // Set text color - // fontWeight: FontWeight.bold, - // ), - // ), - // ), - SizedBox(height: 16), - - const Padding( - padding: EdgeInsets.symmetric(horizontal: 16.0), - child: Text( - 'Your note request has been sent successfully.', - textAlign: TextAlign.center, - style: TextStyle( - color: Color(0xFF1F2937), // Set text color - fontSize: 17.0, - ), - ), - ), - const SizedBox(height: 13), - TextButton( - onPressed: () { - Navigator.of(context).pop(); - }, - style: TextButton.styleFrom( - padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0), - side: const BorderSide(color: Color(0xFF1F2937)), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(20.0), - ), - ), - child: const Text( - 'OK', - style: TextStyle( - color: Color(0xFF1F2937), - ), - ), - ), - - ], - ), - ); - }, - ); - } -} +import 'package:flutter/material.dart'; +import 'package:examtime/screens/landing_screen/dashboard.dart'; +import 'package:examtime/screens/landing_screen/navbar.dart'; +import 'package:examtime/screens/landing_screen/drawer.dart'; + +class RequestNotesPage extends StatefulWidget { + static const String routeName = '/request_notes'; + + const RequestNotesPage({Key? key}) : super(key: key); + + @override + _RequestNotesPageState createState() => _RequestNotesPageState(); +} + +enum SubLabel { + DSA('DSA'), + COA('COA'), + C('C'), + Cpp('C++'), + Java('Java'), + DS('Distributed Systems'), + CN('Computer Networks'), + DBMS('DBMS'), + ML('Machine Learning'), + OS('Operating System'); + + final String label; + const SubLabel(this.label); +} + +enum ModeLabel { + Printed('Printed'), + Handwritten('Handwritten'); + final String label; + const ModeLabel(this.label); +} + +class _RequestNotesPageState extends State { + final TextEditingController _noteController = TextEditingController(); + SubLabel? selectedSub = SubLabel.DSA; + ModeLabel? selectedMode = ModeLabel.Printed; + + @override + void dispose() { + _noteController.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return WillPopScope( + onWillPop: () async { + Navigator.pushReplacementNamed(context, DashboardPage.routeName); + return false; + }, + child: Scaffold( + appBar: CommonNavBar(), + drawer: AppDrawer(), + body: Padding( + padding: const EdgeInsets.all(20.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + SizedBox(height: 20.0), + + Row( + children: [ + Icon(Icons.book, size: 30.0,), + const SizedBox(width: 10), + Text( + 'Subject', + style: TextStyle( + fontSize: 23.0, + fontWeight: FontWeight.bold, + color: Theme.of(context).colorScheme.secondary, + ), + ), + ], + ), + const SizedBox(height: 10), + + DropdownButtonFormField( + value: selectedSub, + onChanged: (SubLabel? newValue) { + setState(() { + selectedSub = newValue; + }); + }, + items: SubLabel.values.map((SubLabel subject) { + return DropdownMenuItem( + value: subject, + child: Text(subject.label), + ); + }).toList(), + hint: const Text('Select Subject'), + isExpanded: true, + autofocus: true, + alignment: Alignment.centerLeft, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontSize: 17.0, + ), + ), + const SizedBox(height: 20), + Row( + children: [ + Icon(Icons.description, size: 30.0,), + const SizedBox(width: 10), + Text( + 'Type', + style: TextStyle( + fontSize: 23.0, + fontWeight: FontWeight.bold, + color: Theme.of(context).colorScheme.secondary, + ), + ), + ], + ), + const SizedBox(height: 10), + + DropdownButtonFormField( + value: selectedMode, + onChanged: (ModeLabel? newValue) { + setState(() { + selectedMode = newValue; + }); + }, + items: ModeLabel.values.map((ModeLabel mode) { + return DropdownMenuItem( + value: mode, + child: Text(mode.label), + ); + }).toList(), + hint: const Text('Select Type'), + isExpanded: true, + autofocus: true, + alignment: Alignment.centerLeft, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontSize: 17.0, + ), + ), + const SizedBox(height: 20), + + TextField( + controller: _noteController, + cursorColor: Theme.of(context).colorScheme.secondary, + decoration: InputDecoration( + labelText: 'Enter additional information', + labelStyle: TextStyle( + color: Theme.of(context).colorScheme.secondary, + ), + border: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.secondary, + ), + borderRadius: const BorderRadius.all(Radius.circular(7.0)), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: Theme.of(context).colorScheme.secondary, + ), + ), + ), + ), + SizedBox(height: 20), + ElevatedButton( + onPressed: () { + _submitNoteRequest(context); + }, + child: Text( + 'Submit', + style: TextStyle(color: Colors.white, fontSize: 18.0), + ), + style: ElevatedButton.styleFrom( + backgroundColor: Theme.of(context).colorScheme.primary, + minimumSize: const Size(130, 50), + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 15), + ), + ), + ], + ), + ), + ), + ); + } + + void _submitNoteRequest(BuildContext context) { + _showNoteRequestSentDialog(context); + _noteController.clear(); + } + + void _showNoteRequestSentDialog(BuildContext context) { + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + backgroundColor: Theme.of(context).colorScheme.background, + content: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + const SizedBox(height: 16), + Padding( + padding: EdgeInsets.symmetric(horizontal: 16.0), + child: Text( + 'Your note request has been sent successfully.', + textAlign: TextAlign.center, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontSize: 17.0, + ), + ), + ), + const SizedBox(height: 13), + TextButton( + onPressed: () { + Navigator.of(context).pop(); + }, + style: TextButton.styleFrom( + padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 12.0), + side: BorderSide(color: Theme.of(context).colorScheme.secondary), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(20.0), + ), + ), + child: const Text( + 'OK', + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + ), + ), + ), + ], + ), + ); + }, + ); + } +} diff --git a/app/lib/theme/theme.dart b/app/lib/theme/theme.dart new file mode 100644 index 0000000..b3e90c2 --- /dev/null +++ b/app/lib/theme/theme.dart @@ -0,0 +1,22 @@ +import 'package:flutter/material.dart'; + +ThemeData lightMode = ThemeData( + brightness: Brightness.light, + colorScheme: ColorScheme.light( + background: Colors.white, + primary: Colors.blue.shade900, + secondary: Colors.black, + + ) + + +); +ThemeData darkMode = ThemeData( + brightness: Brightness.dark, + colorScheme: ColorScheme.dark( + background: Colors.grey.shade900, + primary: Colors.blue.shade200, + secondary: Colors.white, + ) +); + diff --git a/app/lib/theme/theme_provider.dart b/app/lib/theme/theme_provider.dart new file mode 100644 index 0000000..0d78fff --- /dev/null +++ b/app/lib/theme/theme_provider.dart @@ -0,0 +1,22 @@ +import 'package:examtime/theme/theme.dart'; +import 'package:flutter/material.dart'; + +class ThemeProvider with ChangeNotifier{ + ThemeData _themeData = lightMode; + + ThemeData get themeData => _themeData; + + set themeData(ThemeData themeData) { + _themeData = themeData; + notifyListeners(); + } + + void toggleTheme() { + if(_themeData == lightMode) { + themeData = darkMode; + } else { + themeData = lightMode; + } + } + +} \ No newline at end of file diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 8d7d27f..dcd41fd 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -35,6 +35,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 + provider: cached_network_image: ^3.3.1 responsive_sizer: ^3.3.0+1 flutter_svg: ^2.0.10+1