diff --git a/.VSCodeCounter/2022-04-07_09-26-22/details.md b/.VSCodeCounter/2022-04-07_09-26-22/details.md new file mode 100644 index 0000000..6903af3 --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/details.md @@ -0,0 +1,79 @@ +# Details + +Date : 2022-04-07 09:26:22 + +Directory c:\Users\Administrator\Desktop\KOFFA + +Total : 64 files, 2703 codes, 267 comments, 391 blanks, all 3361 lines + +[summary](results.md) / details / [diff summary](diff.md) / [diff details](diff-details.md) + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | +| [README.md](/README.md) | Markdown | 4 | 0 | 5 | 9 | +| [analysis_options.yaml](/analysis_options.yaml) | YAML | 3 | 23 | 4 | 30 | +| [android/app/build.gradle](/android/app/build.gradle) | Groovy | 53 | 3 | 13 | 69 | +| [android/app/src/debug/AndroidManifest.xml](/android/app/src/debug/AndroidManifest.xml) | XML | 4 | 3 | 1 | 8 | +| [android/app/src/main/AndroidManifest.xml](/android/app/src/main/AndroidManifest.xml) | XML | 28 | 6 | 1 | 35 | +| [android/app/src/main/res/drawable-v21/launch_background.xml](/android/app/src/main/res/drawable-v21/launch_background.xml) | XML | 4 | 7 | 2 | 13 | +| [android/app/src/main/res/drawable/launch_background.xml](/android/app/src/main/res/drawable/launch_background.xml) | XML | 4 | 7 | 2 | 13 | +| [android/app/src/main/res/values-night/styles.xml](/android/app/src/main/res/values-night/styles.xml) | XML | 9 | 9 | 1 | 19 | +| [android/app/src/main/res/values/styles.xml](/android/app/src/main/res/values/styles.xml) | XML | 9 | 9 | 1 | 19 | +| [android/app/src/profile/AndroidManifest.xml](/android/app/src/profile/AndroidManifest.xml) | XML | 4 | 3 | 1 | 8 | +| [android/build.gradle](/android/build.gradle) | Groovy | 27 | 0 | 5 | 32 | +| [android/gradle.properties](/android/gradle.properties) | Properties | 3 | 0 | 1 | 4 | +| [android/gradle/wrapper/gradle-wrapper.properties](/android/gradle/wrapper/gradle-wrapper.properties) | Properties | 5 | 1 | 1 | 7 | +| [android/settings.gradle](/android/settings.gradle) | Groovy | 8 | 0 | 4 | 12 | +| [ios/Runner/AppDelegate.swift](/ios/Runner/AppDelegate.swift) | Swift | 12 | 0 | 2 | 14 | +| [ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json](/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json) | JSON | 122 | 0 | 1 | 123 | +| [ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json](/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json) | JSON | 23 | 0 | 1 | 24 | +| [ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md](/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md) | Markdown | 3 | 0 | 2 | 5 | +| [ios/Runner/Base.lproj/LaunchScreen.storyboard](/ios/Runner/Base.lproj/LaunchScreen.storyboard) | XML | 36 | 1 | 1 | 38 | +| [ios/Runner/Base.lproj/Main.storyboard](/ios/Runner/Base.lproj/Main.storyboard) | XML | 25 | 1 | 1 | 27 | +| [ios/Runner/Runner-Bridging-Header.h](/ios/Runner/Runner-Bridging-Header.h) | C++ | 1 | 0 | 1 | 2 | +| [lib/clippers/clip_shadow_path.dart](/lib/clippers/clip_shadow_path.dart) | Dart | 42 | 0 | 8 | 50 | +| [lib/clippers/custom_clippers.dart](/lib/clippers/custom_clippers.dart) | Dart | 71 | 0 | 3 | 74 | +| [lib/constants.dart](/lib/constants.dart) | Dart | 29 | 0 | 9 | 38 | +| [lib/logic.dart](/lib/logic.dart) | Dart | 10 | 0 | 1 | 11 | +| [lib/main.dart](/lib/main.dart) | Dart | 59 | 2 | 11 | 72 | +| [lib/providers/food.dart](/lib/providers/food.dart) | Dart | 31 | 0 | 6 | 37 | +| [lib/providers/foods.dart](/lib/providers/foods.dart) | Dart | 110 | 0 | 11 | 121 | +| [lib/screens/about_screen.dart](/lib/screens/about_screen.dart) | Dart | 43 | 0 | 5 | 48 | +| [lib/screens/confirmation_screen.dart](/lib/screens/confirmation_screen.dart) | Dart | 96 | 0 | 10 | 106 | +| [lib/screens/demand_screen.dart](/lib/screens/demand_screen.dart) | Dart | 76 | 0 | 5 | 81 | +| [lib/screens/families_screen.dart](/lib/screens/families_screen.dart) | Dart | 107 | 0 | 8 | 115 | +| [lib/screens/family_details.dart](/lib/screens/family_details.dart) | Dart | 103 | 0 | 8 | 111 | +| [lib/screens/home/components/middle_buttons.dart](/lib/screens/home/components/middle_buttons.dart) | Dart | 43 | 0 | 4 | 47 | +| [lib/screens/home/components/top_logo.dart](/lib/screens/home/components/top_logo.dart) | Dart | 24 | 0 | 4 | 28 | +| [lib/screens/home/home_screen.dart](/lib/screens/home/home_screen.dart) | Dart | 68 | 0 | 4 | 72 | +| [lib/screens/needy_demand_screen/components/category_row.dart](/lib/screens/needy_demand_screen/components/category_row.dart) | Dart | 48 | 0 | 5 | 53 | +| [lib/screens/needy_demand_screen/components/credits.dart](/lib/screens/needy_demand_screen/components/credits.dart) | Dart | 49 | 0 | 5 | 54 | +| [lib/screens/needy_demand_screen/components/item_card.dart](/lib/screens/needy_demand_screen/components/item_card.dart) | Dart | 111 | 10 | 6 | 127 | +| [lib/screens/needy_demand_screen/needy_demand_screen.dart](/lib/screens/needy_demand_screen/needy_demand_screen.dart) | Dart | 89 | 0 | 5 | 94 | +| [lib/screens/report_screen.dart](/lib/screens/report_screen.dart) | Dart | 113 | 0 | 8 | 121 | +| [lib/widgets/bold_title.dart](/lib/widgets/bold_title.dart) | Dart | 24 | 0 | 5 | 29 | +| [lib/widgets/bottom_buttons.dart](/lib/widgets/bottom_buttons.dart) | Dart | 62 | 0 | 5 | 67 | +| [lib/widgets/clippers.dart](/lib/widgets/clippers.dart) | Dart | 28 | 16 | 10 | 54 | +| [lib/widgets/custom_appbar.dart](/lib/widgets/custom_appbar.dart) | Dart | 25 | 0 | 5 | 30 | +| [lib/widgets/custom_background.dart](/lib/widgets/custom_background.dart) | Dart | 57 | 0 | 5 | 62 | +| [lib/widgets/custom_icon.dart](/lib/widgets/custom_icon.dart) | Dart | 75 | 0 | 5 | 80 | +| [lib/widgets/requested_item.dart](/lib/widgets/requested_item.dart) | Dart | 75 | 0 | 6 | 81 | +| [lib/widgets/top_header.dart](/lib/widgets/top_header.dart) | Dart | 40 | 0 | 5 | 45 | +| [lib/widgets/welcome_button.dart](/lib/widgets/welcome_button.dart) | Dart | 34 | 0 | 5 | 39 | +| [pubspec.yaml](/pubspec.yaml) | YAML | 41 | 58 | 17 | 116 | +| [test/widget_test.dart](/test/widget_test.dart) | Dart | 14 | 10 | 7 | 31 | +| [web/index.html](/web/index.html) | HTML | 80 | 18 | 7 | 105 | +| [web/manifest.json](/web/manifest.json) | JSON | 35 | 0 | 1 | 36 | +| [windows/flutter/generated_plugin_registrant.cc](/windows/flutter/generated_plugin_registrant.cc) | C++ | 3 | 4 | 5 | 12 | +| [windows/flutter/generated_plugin_registrant.h](/windows/flutter/generated_plugin_registrant.h) | C++ | 5 | 5 | 6 | 16 | +| [windows/runner/flutter_window.cpp](/windows/runner/flutter_window.cpp) | C++ | 45 | 4 | 13 | 62 | +| [windows/runner/flutter_window.h](/windows/runner/flutter_window.h) | C++ | 20 | 5 | 9 | 34 | +| [windows/runner/main.cpp](/windows/runner/main.cpp) | C++ | 30 | 4 | 10 | 44 | +| [windows/runner/resource.h](/windows/runner/resource.h) | C++ | 9 | 6 | 2 | 17 | +| [windows/runner/utils.cpp](/windows/runner/utils.cpp) | C++ | 53 | 2 | 10 | 65 | +| [windows/runner/utils.h](/windows/runner/utils.h) | C++ | 8 | 6 | 6 | 20 | +| [windows/runner/win32_window.cpp](/windows/runner/win32_window.cpp) | C++ | 183 | 15 | 48 | 246 | +| [windows/runner/win32_window.h](/windows/runner/win32_window.h) | C++ | 48 | 29 | 22 | 99 | + +[summary](results.md) / details / [diff summary](diff.md) / [diff details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/diff-details.md b/.VSCodeCounter/2022-04-07_09-26-22/diff-details.md new file mode 100644 index 0000000..522cbba --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/diff-details.md @@ -0,0 +1,15 @@ +# Diff Details + +Date : 2022-04-07 09:26:22 + +Directory c:\Users\Administrator\Desktop\KOFFA + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[summary](results.md) / [details](details.md) / [diff summary](diff.md) / diff details + +## Files +| filename | language | code | comment | blank | total | +| :--- | :--- | ---: | ---: | ---: | ---: | + +[summary](results.md) / [details](details.md) / [diff summary](diff.md) / diff details \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/diff.csv b/.VSCodeCounter/2022-04-07_09-26-22/diff.csv new file mode 100644 index 0000000..b7d8d75 --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/diff.csv @@ -0,0 +1,2 @@ +"filename", "language", "", "comment", "blank", "total" +"Total", "-", , 0, 0, 0 \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/diff.md b/.VSCodeCounter/2022-04-07_09-26-22/diff.md new file mode 100644 index 0000000..a8d35d2 --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/diff.md @@ -0,0 +1,19 @@ +# Diff Summary + +Date : 2022-04-07 09:26:22 + +Directory c:\Users\Administrator\Desktop\KOFFA + +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +[summary](results.md) / [details](details.md) / diff summary / [diff details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | + +[summary](results.md) / [details](details.md) / diff summary / [diff details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/diff.txt b/.VSCodeCounter/2022-04-07_09-26-22/diff.txt new file mode 100644 index 0000000..9d9aecf --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/diff.txt @@ -0,0 +1,22 @@ +Date : 2022-04-07 09:26:22 +Directory : c:\Users\Administrator\Desktop\KOFFA +Total : 0 files, 0 codes, 0 comments, 0 blanks, all 0 lines + +Languages ++----------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++----------+------------+------------+------------+------------+------------+ ++----------+------------+------------+------------+------------+------------+ + +Directories ++------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++------+------------+------------+------------+------------+------------+ ++------+------------+------------+------------+------------+------------+ + +Files ++----------+----------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++----------+----------+------------+------------+------------+------------+ +| Total | | 0 | 0 | 0 | 0 | ++----------+----------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/results.csv b/.VSCodeCounter/2022-04-07_09-26-22/results.csv new file mode 100644 index 0000000..988b590 --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/results.csv @@ -0,0 +1,66 @@ +"filename", "language", "C++", "HTML", "Dart", "YAML", "Markdown", "JSON", "Swift", "Properties", "Groovy", "XML", "comment", "blank", "total" +"c:\Users\Administrator\Desktop\KOFFA\README.md", "Markdown", 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 5, 9 +"c:\Users\Administrator\Desktop\KOFFA\analysis_options.yaml", "YAML", 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 23, 4, 30 +"c:\Users\Administrator\Desktop\KOFFA\android\app\build.gradle", "Groovy", 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 3, 13, 69 +"c:\Users\Administrator\Desktop\KOFFA\android\app\src\debug\AndroidManifest.xml", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 1, 8 +"c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\AndroidManifest.xml", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 6, 1, 35 +"c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\drawable-v21\launch_background.xml", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 2, 13 +"c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\drawable\launch_background.xml", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 7, 2, 13 +"c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\values-night\styles.xml", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 1, 19 +"c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\values\styles.xml", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 1, 19 +"c:\Users\Administrator\Desktop\KOFFA\android\app\src\profile\AndroidManifest.xml", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 1, 8 +"c:\Users\Administrator\Desktop\KOFFA\android\build.gradle", "Groovy", 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 5, 32 +"c:\Users\Administrator\Desktop\KOFFA\android\gradle.properties", "Properties", 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 4 +"c:\Users\Administrator\Desktop\KOFFA\android\gradle\wrapper\gradle-wrapper.properties", "Properties", 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 1, 1, 7 +"c:\Users\Administrator\Desktop\KOFFA\android\settings.gradle", "Groovy", 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 4, 12 +"c:\Users\Administrator\Desktop\KOFFA\ios\Runner\AppDelegate.swift", "Swift", 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 2, 14 +"c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Assets.xcassets\AppIcon.appiconset\Contents.json", "JSON", 0, 0, 0, 0, 0, 122, 0, 0, 0, 0, 0, 1, 123 +"c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Assets.xcassets\LaunchImage.imageset\Contents.json", "JSON", 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 1, 24 +"c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Assets.xcassets\LaunchImage.imageset\README.md", "Markdown", 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 5 +"c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Base.lproj\LaunchScreen.storyboard", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 38 +"c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Base.lproj\Main.storyboard", "XML", 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 27 +"c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Runner-Bridging-Header.h", "C++", 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2 +"c:\Users\Administrator\Desktop\KOFFA\lib\clippers\clip_shadow_path.dart", "Dart", 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 8, 50 +"c:\Users\Administrator\Desktop\KOFFA\lib\clippers\custom_clippers.dart", "Dart", 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 3, 74 +"c:\Users\Administrator\Desktop\KOFFA\lib\constants.dart", "Dart", 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 9, 38 +"c:\Users\Administrator\Desktop\KOFFA\lib\logic.dart", "Dart", 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 11 +"c:\Users\Administrator\Desktop\KOFFA\lib\main.dart", "Dart", 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 2, 11, 72 +"c:\Users\Administrator\Desktop\KOFFA\lib\providers\food.dart", "Dart", 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 6, 37 +"c:\Users\Administrator\Desktop\KOFFA\lib\providers\foods.dart", "Dart", 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 0, 11, 121 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\about_screen.dart", "Dart", 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 5, 48 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\confirmation_screen.dart", "Dart", 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 10, 106 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\demand_screen.dart", "Dart", 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 0, 5, 81 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\families_screen.dart", "Dart", 0, 0, 107, 0, 0, 0, 0, 0, 0, 0, 0, 8, 115 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\family_details.dart", "Dart", 0, 0, 103, 0, 0, 0, 0, 0, 0, 0, 0, 8, 111 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\home\components\middle_buttons.dart", "Dart", 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 4, 47 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\home\components\top_logo.dart", "Dart", 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 4, 28 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\home\home_screen.dart", "Dart", 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 4, 72 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\components\category_row.dart", "Dart", 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 5, 53 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\components\credits.dart", "Dart", 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 5, 54 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\components\item_card.dart", "Dart", 0, 0, 111, 0, 0, 0, 0, 0, 0, 0, 10, 6, 127 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\needy_demand_screen.dart", "Dart", 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 5, 94 +"c:\Users\Administrator\Desktop\KOFFA\lib\screens\report_screen.dart", "Dart", 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 8, 121 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\bold_title.dart", "Dart", 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 5, 29 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\bottom_buttons.dart", "Dart", 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 5, 67 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\clippers.dart", "Dart", 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 16, 10, 54 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\custom_appbar.dart", "Dart", 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 5, 30 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\custom_background.dart", "Dart", 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 5, 62 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\custom_icon.dart", "Dart", 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 5, 80 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\requested_item.dart", "Dart", 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 6, 81 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\top_header.dart", "Dart", 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 5, 45 +"c:\Users\Administrator\Desktop\KOFFA\lib\widgets\welcome_button.dart", "Dart", 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 5, 39 +"c:\Users\Administrator\Desktop\KOFFA\pubspec.yaml", "YAML", 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 58, 17, 116 +"c:\Users\Administrator\Desktop\KOFFA\test\widget_test.dart", "Dart", 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 10, 7, 31 +"c:\Users\Administrator\Desktop\KOFFA\web\index.html", "HTML", 0, 80, 0, 0, 0, 0, 0, 0, 0, 0, 18, 7, 105 +"c:\Users\Administrator\Desktop\KOFFA\web\manifest.json", "JSON", 0, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 1, 36 +"c:\Users\Administrator\Desktop\KOFFA\windows\flutter\generated_plugin_registrant.cc", "C++", 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 12 +"c:\Users\Administrator\Desktop\KOFFA\windows\flutter\generated_plugin_registrant.h", "C++", 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 16 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\flutter_window.cpp", "C++", 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 13, 62 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\flutter_window.h", "C++", 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 9, 34 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\main.cpp", "C++", 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 44 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\resource.h", "C++", 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 2, 17 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\utils.cpp", "C++", 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 10, 65 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\utils.h", "C++", 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 20 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\win32_window.cpp", "C++", 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 48, 246 +"c:\Users\Administrator\Desktop\KOFFA\windows\runner\win32_window.h", "C++", 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 22, 99 +"Total", "-", 405, 80, 1756, 44, 7, 180, 12, 8, 88, 123, 267, 391, 3361 \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/results.json b/.VSCodeCounter/2022-04-07_09-26-22/results.json new file mode 100644 index 0000000..59a71ab --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/results.json @@ -0,0 +1 @@ +{"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/utils.h":{"language":"C++","code":8,"comment":6,"blank":6},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/resource.h":{"language":"C++","code":9,"comment":6,"blank":2},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/win32_window.h":{"language":"C++","code":48,"comment":29,"blank":22},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/main.cpp":{"language":"C++","code":30,"comment":4,"blank":10},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/flutter_window.h":{"language":"C++","code":20,"comment":5,"blank":9},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/flutter/generated_plugin_registrant.h":{"language":"C++","code":5,"comment":5,"blank":6},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/flutter/generated_plugin_registrant.cc":{"language":"C++","code":3,"comment":4,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/web/index.html":{"language":"HTML","code":80,"comment":18,"blank":7},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/flutter_window.cpp":{"language":"C++","code":45,"comment":4,"blank":13},"file:///c%3A/Users/Administrator/Desktop/KOFFA/test/widget_test.dart":{"language":"Dart","code":14,"comment":10,"blank":7},"file:///c%3A/Users/Administrator/Desktop/KOFFA/pubspec.yaml":{"language":"YAML","code":41,"comment":58,"blank":17},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/welcome_button.dart":{"language":"Dart","code":34,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/top_header.dart":{"language":"Dart","code":40,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/requested_item.dart":{"language":"Dart","code":75,"comment":0,"blank":6},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/custom_icon.dart":{"language":"Dart","code":75,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/custom_background.dart":{"language":"Dart","code":57,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/custom_appbar.dart":{"language":"Dart","code":25,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/README.md":{"language":"Markdown","code":4,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/bottom_buttons.dart":{"language":"Dart","code":62,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/clippers.dart":{"language":"Dart","code":28,"comment":16,"blank":10},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/widgets/bold_title.dart":{"language":"Dart","code":24,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/report_screen.dart":{"language":"Dart","code":113,"comment":0,"blank":8},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/needy_demand_screen/needy_demand_screen.dart":{"language":"Dart","code":89,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/needy_demand_screen/components/item_card.dart":{"language":"Dart","code":111,"comment":10,"blank":6},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/needy_demand_screen/components/credits.dart":{"language":"Dart","code":49,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/home/home_screen.dart":{"language":"Dart","code":68,"comment":0,"blank":4},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/needy_demand_screen/components/category_row.dart":{"language":"Dart","code":48,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/home/components/top_logo.dart":{"language":"Dart","code":24,"comment":0,"blank":4},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/home/components/middle_buttons.dart":{"language":"Dart","code":43,"comment":0,"blank":4},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/family_details.dart":{"language":"Dart","code":103,"comment":0,"blank":8},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/families_screen.dart":{"language":"Dart","code":107,"comment":0,"blank":8},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/demand_screen.dart":{"language":"Dart","code":76,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/confirmation_screen.dart":{"language":"Dart","code":96,"comment":0,"blank":10},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/screens/about_screen.dart":{"language":"Dart","code":43,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/providers/foods.dart":{"language":"Dart","code":110,"comment":0,"blank":11},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/providers/food.dart":{"language":"Dart","code":31,"comment":0,"blank":6},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/logic.dart":{"language":"Dart","code":10,"comment":0,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/main.dart":{"language":"Dart","code":59,"comment":2,"blank":11},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/constants.dart":{"language":"Dart","code":29,"comment":0,"blank":9},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/clippers/custom_clippers.dart":{"language":"Dart","code":71,"comment":0,"blank":3},"file:///c%3A/Users/Administrator/Desktop/KOFFA/lib/clippers/clip_shadow_path.dart":{"language":"Dart","code":42,"comment":0,"blank":8},"file:///c%3A/Users/Administrator/Desktop/KOFFA/ios/Runner/Runner-Bridging-Header.h":{"language":"C++","code":1,"comment":0,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json":{"language":"JSON","code":23,"comment":0,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/win32_window.cpp":{"language":"C++","code":183,"comment":15,"blank":48},"file:///c%3A/Users/Administrator/Desktop/KOFFA/ios/Runner/AppDelegate.swift":{"language":"Swift","code":12,"comment":0,"blank":2},"file:///c%3A/Users/Administrator/Desktop/KOFFA/analysis_options.yaml":{"language":"YAML","code":3,"comment":23,"blank":4},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/gradle.properties":{"language":"Properties","code":3,"comment":0,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/settings.gradle":{"language":"Groovy","code":8,"comment":0,"blank":4},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/build.gradle":{"language":"Groovy","code":27,"comment":0,"blank":5},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/gradle/wrapper/gradle-wrapper.properties":{"language":"Properties","code":5,"comment":1,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/build.gradle":{"language":"Groovy","code":53,"comment":3,"blank":13},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/src/main/res/values-night/styles.xml":{"language":"XML","code":9,"comment":9,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json":{"language":"JSON","code":122,"comment":0,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/src/main/res/drawable-v21/launch_background.xml":{"language":"XML","code":4,"comment":7,"blank":2},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/src/main/res/drawable/launch_background.xml":{"language":"XML","code":4,"comment":7,"blank":2},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/src/main/AndroidManifest.xml":{"language":"XML","code":28,"comment":6,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/src/debug/AndroidManifest.xml":{"language":"XML","code":4,"comment":3,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/src/profile/AndroidManifest.xml":{"language":"XML","code":4,"comment":3,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/windows/runner/utils.cpp":{"language":"C++","code":53,"comment":2,"blank":10},"file:///c%3A/Users/Administrator/Desktop/KOFFA/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md":{"language":"Markdown","code":3,"comment":0,"blank":2},"file:///c%3A/Users/Administrator/Desktop/KOFFA/android/app/src/main/res/values/styles.xml":{"language":"XML","code":9,"comment":9,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/ios/Runner/Base.lproj/Main.storyboard":{"language":"XML","code":25,"comment":1,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/web/manifest.json":{"language":"JSON","code":35,"comment":0,"blank":1},"file:///c%3A/Users/Administrator/Desktop/KOFFA/ios/Runner/Base.lproj/LaunchScreen.storyboard":{"language":"XML","code":36,"comment":1,"blank":1}} \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/results.md b/.VSCodeCounter/2022-04-07_09-26-22/results.md new file mode 100644 index 0000000..d5efbdf --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/results.md @@ -0,0 +1,63 @@ +# Summary + +Date : 2022-04-07 09:26:22 + +Directory c:\Users\Administrator\Desktop\KOFFA + +Total : 64 files, 2703 codes, 267 comments, 391 blanks, all 3361 lines + +summary / [details](details.md) / [diff summary](diff.md) / [diff details](diff-details.md) + +## Languages +| language | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| Dart | 30 | 1,756 | 38 | 184 | 1,978 | +| C++ | 11 | 405 | 80 | 132 | 617 | +| JSON | 3 | 180 | 0 | 3 | 183 | +| XML | 9 | 123 | 46 | 11 | 180 | +| Groovy | 3 | 88 | 3 | 22 | 113 | +| HTML | 1 | 80 | 18 | 7 | 105 | +| YAML | 2 | 44 | 81 | 21 | 146 | +| Swift | 1 | 12 | 0 | 2 | 14 | +| Properties | 2 | 8 | 1 | 2 | 11 | +| Markdown | 2 | 7 | 0 | 7 | 14 | + +## Directories +| path | files | code | comment | blank | total | +| :--- | ---: | ---: | ---: | ---: | ---: | +| . | 64 | 2,703 | 267 | 391 | 3,361 | +| android | 12 | 158 | 48 | 33 | 239 | +| android\app | 8 | 115 | 47 | 22 | 184 | +| android\app\src | 7 | 62 | 44 | 9 | 115 | +| android\app\src\debug | 1 | 4 | 3 | 1 | 8 | +| android\app\src\main | 5 | 54 | 38 | 7 | 99 | +| android\app\src\main\res | 4 | 26 | 32 | 6 | 64 | +| android\app\src\main\res\drawable | 1 | 4 | 7 | 2 | 13 | +| android\app\src\main\res\drawable-v21 | 1 | 4 | 7 | 2 | 13 | +| android\app\src\main\res\values | 1 | 9 | 9 | 1 | 19 | +| android\app\src\main\res\values-night | 1 | 9 | 9 | 1 | 19 | +| android\app\src\profile | 1 | 4 | 3 | 1 | 8 | +| android\gradle | 1 | 5 | 1 | 1 | 7 | +| android\gradle\wrapper | 1 | 5 | 1 | 1 | 7 | +| ios | 7 | 222 | 2 | 9 | 233 | +| ios\Runner | 7 | 222 | 2 | 9 | 233 | +| ios\Runner\Assets.xcassets | 3 | 148 | 0 | 4 | 152 | +| ios\Runner\Assets.xcassets\AppIcon.appiconset | 1 | 122 | 0 | 1 | 123 | +| ios\Runner\Assets.xcassets\LaunchImage.imageset | 2 | 26 | 0 | 3 | 29 | +| ios\Runner\Base.lproj | 2 | 61 | 2 | 2 | 65 | +| lib | 29 | 1,742 | 28 | 177 | 1,947 | +| lib\clippers | 2 | 113 | 0 | 11 | 124 | +| lib\providers | 2 | 141 | 0 | 17 | 158 | +| lib\screens | 13 | 970 | 10 | 77 | 1,057 | +| lib\screens\home | 3 | 135 | 0 | 12 | 147 | +| lib\screens\home\components | 2 | 67 | 0 | 8 | 75 | +| lib\screens\needy_demand_screen | 4 | 297 | 10 | 21 | 328 | +| lib\screens\needy_demand_screen\components | 3 | 208 | 10 | 16 | 234 | +| lib\widgets | 9 | 420 | 16 | 51 | 487 | +| test | 1 | 14 | 10 | 7 | 31 | +| web | 2 | 115 | 18 | 8 | 141 | +| windows | 10 | 404 | 80 | 131 | 615 | +| windows\flutter | 2 | 8 | 9 | 11 | 28 | +| windows\runner | 8 | 396 | 71 | 120 | 587 | + +summary / [details](details.md) / [diff summary](diff.md) / [diff details](diff-details.md) \ No newline at end of file diff --git a/.VSCodeCounter/2022-04-07_09-26-22/results.txt b/.VSCodeCounter/2022-04-07_09-26-22/results.txt new file mode 100644 index 0000000..69e2163 --- /dev/null +++ b/.VSCodeCounter/2022-04-07_09-26-22/results.txt @@ -0,0 +1,130 @@ +Date : 2022-04-07 09:26:22 +Directory : c:\Users\Administrator\Desktop\KOFFA +Total : 64 files, 2703 codes, 267 comments, 391 blanks, all 3361 lines + +Languages ++------------+------------+------------+------------+------------+------------+ +| language | files | code | comment | blank | total | ++------------+------------+------------+------------+------------+------------+ +| Dart | 30 | 1,756 | 38 | 184 | 1,978 | +| C++ | 11 | 405 | 80 | 132 | 617 | +| JSON | 3 | 180 | 0 | 3 | 183 | +| XML | 9 | 123 | 46 | 11 | 180 | +| Groovy | 3 | 88 | 3 | 22 | 113 | +| HTML | 1 | 80 | 18 | 7 | 105 | +| YAML | 2 | 44 | 81 | 21 | 146 | +| Swift | 1 | 12 | 0 | 2 | 14 | +| Properties | 2 | 8 | 1 | 2 | 11 | +| Markdown | 2 | 7 | 0 | 7 | 14 | ++------------+------------+------------+------------+------------+------------+ + +Directories ++----------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| path | files | code | comment | blank | total | ++----------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| . | 64 | 2,703 | 267 | 391 | 3,361 | +| android | 12 | 158 | 48 | 33 | 239 | +| android\app | 8 | 115 | 47 | 22 | 184 | +| android\app\src | 7 | 62 | 44 | 9 | 115 | +| android\app\src\debug | 1 | 4 | 3 | 1 | 8 | +| android\app\src\main | 5 | 54 | 38 | 7 | 99 | +| android\app\src\main\res | 4 | 26 | 32 | 6 | 64 | +| android\app\src\main\res\drawable | 1 | 4 | 7 | 2 | 13 | +| android\app\src\main\res\drawable-v21 | 1 | 4 | 7 | 2 | 13 | +| android\app\src\main\res\values | 1 | 9 | 9 | 1 | 19 | +| android\app\src\main\res\values-night | 1 | 9 | 9 | 1 | 19 | +| android\app\src\profile | 1 | 4 | 3 | 1 | 8 | +| android\gradle | 1 | 5 | 1 | 1 | 7 | +| android\gradle\wrapper | 1 | 5 | 1 | 1 | 7 | +| ios | 7 | 222 | 2 | 9 | 233 | +| ios\Runner | 7 | 222 | 2 | 9 | 233 | +| ios\Runner\Assets.xcassets | 3 | 148 | 0 | 4 | 152 | +| ios\Runner\Assets.xcassets\AppIcon.appiconset | 1 | 122 | 0 | 1 | 123 | +| ios\Runner\Assets.xcassets\LaunchImage.imageset | 2 | 26 | 0 | 3 | 29 | +| ios\Runner\Base.lproj | 2 | 61 | 2 | 2 | 65 | +| lib | 29 | 1,742 | 28 | 177 | 1,947 | +| lib\clippers | 2 | 113 | 0 | 11 | 124 | +| lib\providers | 2 | 141 | 0 | 17 | 158 | +| lib\screens | 13 | 970 | 10 | 77 | 1,057 | +| lib\screens\home | 3 | 135 | 0 | 12 | 147 | +| lib\screens\home\components | 2 | 67 | 0 | 8 | 75 | +| lib\screens\needy_demand_screen | 4 | 297 | 10 | 21 | 328 | +| lib\screens\needy_demand_screen\components | 3 | 208 | 10 | 16 | 234 | +| lib\widgets | 9 | 420 | 16 | 51 | 487 | +| test | 1 | 14 | 10 | 7 | 31 | +| web | 2 | 115 | 18 | 8 | 141 | +| windows | 10 | 404 | 80 | 131 | 615 | +| windows\flutter | 2 | 8 | 9 | 11 | 28 | +| windows\runner | 8 | 396 | 71 | 120 | 587 | ++----------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ + +Files ++----------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| filename | language | code | comment | blank | total | ++----------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ +| c:\Users\Administrator\Desktop\KOFFA\README.md | Markdown | 4 | 0 | 5 | 9 | +| c:\Users\Administrator\Desktop\KOFFA\analysis_options.yaml | YAML | 3 | 23 | 4 | 30 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\build.gradle | Groovy | 53 | 3 | 13 | 69 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\src\debug\AndroidManifest.xml | XML | 4 | 3 | 1 | 8 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\AndroidManifest.xml | XML | 28 | 6 | 1 | 35 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\drawable-v21\launch_background.xml | XML | 4 | 7 | 2 | 13 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\drawable\launch_background.xml | XML | 4 | 7 | 2 | 13 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\values-night\styles.xml | XML | 9 | 9 | 1 | 19 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\src\main\res\values\styles.xml | XML | 9 | 9 | 1 | 19 | +| c:\Users\Administrator\Desktop\KOFFA\android\app\src\profile\AndroidManifest.xml | XML | 4 | 3 | 1 | 8 | +| c:\Users\Administrator\Desktop\KOFFA\android\build.gradle | Groovy | 27 | 0 | 5 | 32 | +| c:\Users\Administrator\Desktop\KOFFA\android\gradle.properties | Properties | 3 | 0 | 1 | 4 | +| c:\Users\Administrator\Desktop\KOFFA\android\gradle\wrapper\gradle-wrapper.properties | Properties | 5 | 1 | 1 | 7 | +| c:\Users\Administrator\Desktop\KOFFA\android\settings.gradle | Groovy | 8 | 0 | 4 | 12 | +| c:\Users\Administrator\Desktop\KOFFA\ios\Runner\AppDelegate.swift | Swift | 12 | 0 | 2 | 14 | +| c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Assets.xcassets\AppIcon.appiconset\Contents.json | JSON | 122 | 0 | 1 | 123 | +| c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Assets.xcassets\LaunchImage.imageset\Contents.json | JSON | 23 | 0 | 1 | 24 | +| c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Assets.xcassets\LaunchImage.imageset\README.md | Markdown | 3 | 0 | 2 | 5 | +| c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Base.lproj\LaunchScreen.storyboard | XML | 36 | 1 | 1 | 38 | +| c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Base.lproj\Main.storyboard | XML | 25 | 1 | 1 | 27 | +| c:\Users\Administrator\Desktop\KOFFA\ios\Runner\Runner-Bridging-Header.h | C++ | 1 | 0 | 1 | 2 | +| c:\Users\Administrator\Desktop\KOFFA\lib\clippers\clip_shadow_path.dart | Dart | 42 | 0 | 8 | 50 | +| c:\Users\Administrator\Desktop\KOFFA\lib\clippers\custom_clippers.dart | Dart | 71 | 0 | 3 | 74 | +| c:\Users\Administrator\Desktop\KOFFA\lib\constants.dart | Dart | 29 | 0 | 9 | 38 | +| c:\Users\Administrator\Desktop\KOFFA\lib\logic.dart | Dart | 10 | 0 | 1 | 11 | +| c:\Users\Administrator\Desktop\KOFFA\lib\main.dart | Dart | 59 | 2 | 11 | 72 | +| c:\Users\Administrator\Desktop\KOFFA\lib\providers\food.dart | Dart | 31 | 0 | 6 | 37 | +| c:\Users\Administrator\Desktop\KOFFA\lib\providers\foods.dart | Dart | 110 | 0 | 11 | 121 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\about_screen.dart | Dart | 43 | 0 | 5 | 48 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\confirmation_screen.dart | Dart | 96 | 0 | 10 | 106 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\demand_screen.dart | Dart | 76 | 0 | 5 | 81 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\families_screen.dart | Dart | 107 | 0 | 8 | 115 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\family_details.dart | Dart | 103 | 0 | 8 | 111 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\home\components\middle_buttons.dart | Dart | 43 | 0 | 4 | 47 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\home\components\top_logo.dart | Dart | 24 | 0 | 4 | 28 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\home\home_screen.dart | Dart | 68 | 0 | 4 | 72 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\components\category_row.dart | Dart | 48 | 0 | 5 | 53 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\components\credits.dart | Dart | 49 | 0 | 5 | 54 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\components\item_card.dart | Dart | 111 | 10 | 6 | 127 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\needy_demand_screen\needy_demand_screen.dart | Dart | 89 | 0 | 5 | 94 | +| c:\Users\Administrator\Desktop\KOFFA\lib\screens\report_screen.dart | Dart | 113 | 0 | 8 | 121 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\bold_title.dart | Dart | 24 | 0 | 5 | 29 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\bottom_buttons.dart | Dart | 62 | 0 | 5 | 67 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\clippers.dart | Dart | 28 | 16 | 10 | 54 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\custom_appbar.dart | Dart | 25 | 0 | 5 | 30 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\custom_background.dart | Dart | 57 | 0 | 5 | 62 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\custom_icon.dart | Dart | 75 | 0 | 5 | 80 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\requested_item.dart | Dart | 75 | 0 | 6 | 81 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\top_header.dart | Dart | 40 | 0 | 5 | 45 | +| c:\Users\Administrator\Desktop\KOFFA\lib\widgets\welcome_button.dart | Dart | 34 | 0 | 5 | 39 | +| c:\Users\Administrator\Desktop\KOFFA\pubspec.yaml | YAML | 41 | 58 | 17 | 116 | +| c:\Users\Administrator\Desktop\KOFFA\test\widget_test.dart | Dart | 14 | 10 | 7 | 31 | +| c:\Users\Administrator\Desktop\KOFFA\web\index.html | HTML | 80 | 18 | 7 | 105 | +| c:\Users\Administrator\Desktop\KOFFA\web\manifest.json | JSON | 35 | 0 | 1 | 36 | +| c:\Users\Administrator\Desktop\KOFFA\windows\flutter\generated_plugin_registrant.cc | C++ | 3 | 4 | 5 | 12 | +| c:\Users\Administrator\Desktop\KOFFA\windows\flutter\generated_plugin_registrant.h | C++ | 5 | 5 | 6 | 16 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\flutter_window.cpp | C++ | 45 | 4 | 13 | 62 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\flutter_window.h | C++ | 20 | 5 | 9 | 34 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\main.cpp | C++ | 30 | 4 | 10 | 44 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\resource.h | C++ | 9 | 6 | 2 | 17 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\utils.cpp | C++ | 53 | 2 | 10 | 65 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\utils.h | C++ | 8 | 6 | 6 | 20 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\win32_window.cpp | C++ | 183 | 15 | 48 | 246 | +| c:\Users\Administrator\Desktop\KOFFA\windows\runner\win32_window.h | C++ | 48 | 29 | 22 | 99 | +| Total | | 2,703 | 267 | 391 | 3,361 | ++----------------------------------------------------------------------------------------------------+------------+------------+------------+------------+------------+ \ No newline at end of file diff --git a/assets/images/circle.png b/assets/images/circle.png new file mode 100644 index 0000000..10d8e73 Binary files /dev/null and b/assets/images/circle.png differ diff --git a/assets/images/logo-tr.png b/assets/images/logo-tr.png new file mode 100644 index 0000000..dd065ea Binary files /dev/null and b/assets/images/logo-tr.png differ diff --git a/assets/images/qr.png b/assets/images/qr.png new file mode 100644 index 0000000..ee7b334 Binary files /dev/null and b/assets/images/qr.png differ diff --git a/assets/images/scan-frame.png b/assets/images/scan-frame.png deleted file mode 100644 index 84f59b3..0000000 Binary files a/assets/images/scan-frame.png and /dev/null differ diff --git a/lib/clippers/clip_shadow_path.dart b/lib/clippers/clip_shadow_path.dart deleted file mode 100644 index 71cbde7..0000000 --- a/lib/clippers/clip_shadow_path.dart +++ /dev/null @@ -1,49 +0,0 @@ -import 'package:flutter/material.dart'; - -@immutable -class ClipShadowPath extends StatelessWidget { - final BoxShadow shadow; - final CustomClipper clipper; - final Widget child; - - const ClipShadowPath({ - Key? key, - required this.shadow, - required this.clipper, - required this.child, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - return CustomPaint( - painter: _ClipShadowShadowPainter( - clipper: clipper, - shadow: shadow, - ), - child: ClipPath(child: child, clipper: clipper), - ); - } -} - -class _ClipShadowShadowPainter extends CustomPainter { - final BoxShadow shadow; - final CustomClipper clipper; - - _ClipShadowShadowPainter({required this.shadow, required this.clipper}); - - @override - void paint(Canvas canvas, Size size) { - var paint = shadow.toPaint() - ..maskFilter = MaskFilter.blur( - BlurStyle.normal, - shadow.spreadRadius, - ); - var clipPath = clipper.getClip(size).shift(shadow.offset); - canvas.drawPath(clipPath, paint); - } - - @override - bool shouldRepaint(CustomPainter oldDelegate) { - return true; - } -} diff --git a/lib/clippers/custom_clippers.dart b/lib/clippers/custom_clippers.dart deleted file mode 100644 index 28f424b..0000000 --- a/lib/clippers/custom_clippers.dart +++ /dev/null @@ -1,73 +0,0 @@ -import 'package:flutter/material.dart'; - -class BigClipper extends CustomClipper { - @override - Path getClip(Size size) { - Path path = Path(); - final double _xScaling = size.width / 414; - final double _yScaling = size.height / 896; - path.lineTo(229.351 * _xScaling, 114.221 * _yScaling); - path.cubicTo( - 179.68 * _xScaling, - 25.6509 * _yScaling, - 278.254 * _xScaling, - 1.35556 * _yScaling, - 334 * _xScaling, - 1.20179 * _yScaling, - ); - path.cubicTo( - 334 * _xScaling, - 1.20179 * _yScaling, - -4.98426 * _xScaling, - -56 * _yScaling, - -4.98426 * _xScaling, - -56 * _yScaling, - ); - path.cubicTo( - -4.98426 * _xScaling, - -56 * _yScaling, - -16 * _xScaling, - 220.322 * _yScaling, - -16 * _xScaling, - 220.322 * _yScaling, - ); - path.cubicTo( - -11.6605 * _xScaling, - 226.472 * _yScaling, - 10.3497 * _xScaling, - 241.449 * _yScaling, - 38.0773 * _xScaling, - 247.077 * _yScaling, - ); - path.cubicTo( - 67.6195 * _xScaling, - 253.074 * _yScaling, - 76.1316 * _xScaling, - 253.074 * _yScaling, - 119.694 * _xScaling, - 249.845 * _yScaling, - ); - path.cubicTo( - 187.29 * _xScaling, - 238.774 * _yScaling, - 279.021 * _xScaling, - 202.792 * _yScaling, - 229.351 * _xScaling, - 114.221 * _yScaling, - ); - path.cubicTo( - 229.351 * _xScaling, - 114.221 * _yScaling, - 229.351 * _xScaling, - 114.221 * _yScaling, - 229.351 * _xScaling, - 114.221 * _yScaling, - ); - return path; - } - - @override - bool shouldReclip(covariant CustomClipper oldClipper) { - throw UnimplementedError(); - } -} diff --git a/lib/constants.dart b/lib/constants.dart index cceb11f..f46f7a5 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -3,13 +3,15 @@ import 'package:flutter/material.dart'; const kBackgroundColor = Color(0xFFF1EFF1); const kPrimaryColorDarker = Color(0xff21A5B7); -const kPrimaryColor = Color(0xff88BAB2); +const kPrimaryColor = Color(0xff074B54); +const kButtonColor = Color(0xff21A5B7); const kPrimaryColorDark = Color(0xff589F93); const kPrimaryColorLight = Color(0xffA9CEC7); const kTextLightColor = Color(0xFF656565); const kWhiteColor = Color(0xFFFFFFFF); const kBlueColor = Color(0xFF21A5B7); const kBlueColorLight = Color(0xFF85C9D1); +const kErrorColor = Color.fromARGB(255, 247, 77, 77); const kDefaultPadding = 20.0; @@ -19,6 +21,7 @@ const kTitleStyle = TextStyle( color: kTextLightColor, ); const kTextStyle = TextStyle( + fontFamily: 'Cairo', fontSize: 14, fontWeight: FontWeight.bold, color: kTextLightColor, diff --git a/lib/logic.dart b/lib/logic.dart index db326b1..627cdba 100644 --- a/lib/logic.dart +++ b/lib/logic.dart @@ -1,3 +1,9 @@ +import 'package:koffa/providers/food.dart'; + +import 'dart:math'; + +import 'package:koffa/providers/foods.dart'; + String getPrefix(String name) { switch (name) { case 'حليب': @@ -8,3 +14,13 @@ String getPrefix(String name) { return 'كغ'; } } + +List generateRandomFoodList() { + List generatedList = FoodList().foods; + + for (var i = 0; i < 12; i++) { + generatedList[i].count = Random().nextInt(8) + 1; + } + + return generatedList..shuffle(); +} diff --git a/lib/providers/foods.dart b/lib/providers/foods.dart index b17bcc5..836adb3 100644 --- a/lib/providers/foods.dart +++ b/lib/providers/foods.dart @@ -110,6 +110,15 @@ class FoodList with ChangeNotifier { notifyListeners(); } + bool get isItEmpty { + for (var food in foods) { + if (food.count != 0) { + return false; + } + } + return true; + } + void clear() { initial = _credits; for (var food in foods) { diff --git a/lib/screens/about_screen.dart b/lib/screens/about_screen.dart index cc467bf..fb1a4c3 100644 --- a/lib/screens/about_screen.dart +++ b/lib/screens/about_screen.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import '../constants.dart'; -import '../widgets/custom_background.dart'; import '../widgets/custom_icon.dart'; class AboutScreen extends StatelessWidget { @@ -11,37 +10,50 @@ class AboutScreen extends StatelessWidget { @override Widget build(BuildContext context) { - return CustomBackground( - image: 'assets/icons/info.png', - child: SingleChildScrollView( + return AlertDialog( + insetPadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 20), + titlePadding: const EdgeInsets.all(25), + contentPadding: const EdgeInsets.symmetric(horizontal: 15), + actionsPadding: EdgeInsets.zero, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + actionsAlignment: MainAxisAlignment.end, + title: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Image.asset( + 'assets/icons/info.png', + width: 25, + ), + const SizedBox(width: 10), + const Text( + 'حول التطبيق', + style: kTitleStyle, + ), + ], + ), + content: SingleChildScrollView( child: Column( - children: [ - const SizedBox(height: 25), - const Text( - 'حول التطبيق', - style: kTitleStyle, - ), - const SizedBox(height: 15), - const Text( + children: const [ + SizedBox(height: 5), + Text( kAppDesciption, style: kTextStyle, ), - Align( - alignment: Alignment.centerLeft, - child: CustomIcon( - image: 'assets/icons/back.png', - height: 50, - width: 60, - isGradient: true, - iconSize: 35, - onTap: () { - Navigator.of(context).pop(); - }, - ), - ), ], ), ), + actions: [ + CustomIcon( + image: 'assets/icons/back.png', + height: 50, + width: 60, + isGradient: true, + iconSize: 35, + onTap: () { + Navigator.of(context).pop(); + }, + ), + ], ); } } diff --git a/lib/screens/confirmation_screen.dart b/lib/screens/confirmation_screen.dart index 7dce119..ba39291 100644 --- a/lib/screens/confirmation_screen.dart +++ b/lib/screens/confirmation_screen.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import '../widgets/bold_title.dart'; import '../widgets/bottom_buttons.dart'; -import '../widgets/clippers.dart'; +import '../widgets/custom_appbar.dart'; import '/constants.dart'; import 'needy_demand_screen/needy_demand_screen.dart'; @@ -21,12 +21,20 @@ class ConfirmationScreen extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - const Align(alignment: Alignment.topLeft, child: TopLogo()), - const Padding( - padding: EdgeInsets.symmetric(horizontal: 45, vertical: 5), - child: Middle(), + const CustomAppBar( + height: 90, + child: Center( + child: BoldTitle( + text: 'تأكيد الهوية', + ), + ), + ), + const Expanded( + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 45, vertical: 5), + child: Middle(), + ), ), - const Spacer(), BottomButtons( isHomeButton: false, textButtonWidth: 135, @@ -56,6 +64,7 @@ class Middle extends StatelessWidget { Widget build(BuildContext context) { return Column( crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, children: [ const BoldTitle( text: 'إمسح الكود', @@ -71,7 +80,7 @@ class Middle extends StatelessWidget { ), const SizedBox(height: 20), Image.asset( - 'assets/images/scan-frame.png', + 'assets/images/qr.png', width: double.infinity, height: 248, alignment: Alignment.topCenter, @@ -80,26 +89,3 @@ class Middle extends StatelessWidget { ); } } - -class TopLogo extends StatelessWidget { - const TopLogo({ - Key? key, - }) : super(key: key); - - @override - Widget build(BuildContext context) { - return Stack( - alignment: Alignment.topLeft, - children: const [ - ClipperSmallTop(), - Positioned( - top: 17, - left: 30, - child: BoldTitle( - text: 'تأكيد الهوية', - ), - ), - ], - ); - } -} diff --git a/lib/screens/family_details.dart b/lib/screens/family_details.dart index f5780cd..1ac0f4a 100644 --- a/lib/screens/family_details.dart +++ b/lib/screens/family_details.dart @@ -1,8 +1,13 @@ +import 'dart:math'; + import 'package:flutter/material.dart'; import '../constants.dart'; +import '../providers/food.dart' as type; import '../widgets/bold_title.dart'; import '../widgets/bottom_buttons.dart'; +import '../widgets/custom_icon.dart'; +import '/logic.dart'; class FamilyDetails extends StatelessWidget { const FamilyDetails({Key? key}) : super(key: key); @@ -12,6 +17,7 @@ class FamilyDetails extends StatelessWidget { @override Widget build(BuildContext context) { final index = ModalRoute.of(context)?.settings.arguments; + final randomGeneratedList = generateRandomFoodList(); return SafeArea( child: Scaffold( body: Column( @@ -27,9 +33,9 @@ class FamilyDetails extends StatelessWidget { ), Expanded( child: ListView.builder( - itemCount: 6, + itemCount: Random().nextInt(11) + 1, itemBuilder: (BuildContext context, int index) { - return FoodItem(index: index); + return FoodItem(item: randomGeneratedList[index]); }, ), ), @@ -51,8 +57,8 @@ class FamilyDetails extends StatelessWidget { ], ), child: BottomButtons( - isTextButton: false, - textButtonWidth: 200, + text: 'تأكيد التسليم', + textButtonWidth: 150, vertpadd: 5, horpadd: 10, onTapBack: () { @@ -62,6 +68,38 @@ class FamilyDetails extends StatelessWidget { Navigator.of(context).pop(); Navigator.of(context).pushReplacementNamed('/'); }, + onTapText: () { + showDialog( + context: context, + builder: (_) => AlertDialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15)), + alignment: Alignment.center, + title: const Icon( + Icons.check_circle_rounded, + color: kBlueColor, + size: 60, + ), + content: const Text( + 'تم تأكيد التسليم بنجاح', + style: kTextStyle, + textAlign: TextAlign.center, + ), + actions: [ + CustomIcon( + height: 40, + width: 120, + isGradient: true, + isIcon: false, + text: 'إغلاق', + onTap: () { + Navigator.of(context).pop(); + }, + ), + ], + ), + ); + }, ), ), ), @@ -72,10 +110,10 @@ class FamilyDetails extends StatelessWidget { class FoodItem extends StatelessWidget { const FoodItem({ Key? key, - required this.index, + required this.item, }) : super(key: key); - final int index; + final type.FoodItem item; @override Widget build(BuildContext context) { @@ -90,15 +128,15 @@ class FoodItem extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - 'المادة الغذائية ${index + 1}', + item.name, style: const TextStyle( fontSize: 16, color: Color(0xff858585), fontWeight: FontWeight.bold), ), - const Text( - '- - -', - style: TextStyle( + Text( + '${item.count} ${getPrefix(item.name)}', + style: const TextStyle( fontSize: 16, color: Color(0xff858585), fontWeight: FontWeight.bold), diff --git a/lib/screens/home/components/circle_logo.dart b/lib/screens/home/components/circle_logo.dart new file mode 100644 index 0000000..0e68e02 --- /dev/null +++ b/lib/screens/home/components/circle_logo.dart @@ -0,0 +1,14 @@ +import 'package:flutter/material.dart'; + +class CircleLogo extends StatelessWidget { + const CircleLogo({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return CircleAvatar( + radius: 90, + backgroundColor: const Color(0xff3C9EAB), + child: Image.asset('assets/images/logo-tr.png', width: 150), + ); + } +} diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index d401afb..268ef6e 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -1,70 +1,112 @@ import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; +import '../../constants.dart'; import '../../widgets/custom_icon.dart'; +import '../../widgets/welcome_button.dart'; import '../about_screen.dart'; +import '../confirmation_screen.dart'; +import '../demand_screen.dart'; import '../report_screen.dart'; -import 'components/middle_buttons.dart'; -import 'components/top_logo.dart'; +import 'components/circle_logo.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { + final appBar = AppBar( + backgroundColor: Colors.transparent, + elevation: 0, + actions: [ + const SizedBox(width: 15), + IconButton( + onPressed: () { + showDialog( + context: context, + builder: (_) => const ReportScreen(), + ); + }, + icon: Image.asset( + 'assets/icons/edit.png', + width: 30, + color: kWhiteColor, + ), + ), + const Spacer(), + IconButton( + onPressed: () { + showDialog( + context: context, + builder: (_) => const AboutScreen(), + ); + }, + icon: Image.asset( + 'assets/icons/info.png', + width: 30, + color: kWhiteColor, + ), + ), + const SizedBox(width: 15), + ], + ); + final netHeight = MediaQuery.of(context).size.height - + MediaQuery.of(context).padding.top - + appBar.preferredSize.height; + return SafeArea( child: Scaffold( - body: Column( - children: [ - const Expanded(flex: 3, child: TopLogo()), - const Expanded(flex: 2, child: MiddleButtons()), - SizedBox( - width: double.infinity, - child: Stack( - alignment: Alignment.bottomRight, - children: [ - Image.asset( - 'assets/images/clippersmall.png', - width: 200, - ), - Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - children: [ - CustomIcon( - image: 'assets/icons/info.png', - height: 60, - onTap: () { - Navigator.of(context) - .pushNamed(AboutScreen.routeName); - }, - ), - CustomIcon( - image: 'assets/icons/edit.png', - height: 60, - onTap: () { - Navigator.of(context) - .pushNamed(ReportScreen.routeName); - }, - ), - const Spacer(), - CustomIcon( - image: 'assets/icons/logout-white.png', - height: 60, - isGradient: true, - onTap: () { - SystemChannels.platform - .invokeMethod('SystemNavigator.pop'); - }, - ) - ], + backgroundColor: const Color(0xff074B54), + appBar: appBar, + body: SingleChildScrollView( + child: SizedBox( + height: netHeight, + child: Column( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Stack( + clipBehavior: Clip.none, + alignment: Alignment.topCenter, + children: [ + Container( + width: double.infinity, + height: (netHeight) * 0.8, + decoration: const BoxDecoration( + color: kWhiteColor, + borderRadius: + BorderRadius.vertical(top: Radius.circular(30))), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.center, + children: const [ + WelcomeButton( + text: 'جمـعـية', + route: DemandScreen.routeName, + ), + SizedBox(height: 25), + WelcomeButton( + text: 'محتاج', + route: ConfirmationScreen.routeName, + ), + ], + ), + ), + const Positioned( + child: CircleLogo(), + top: -90, ), - ), - ], - ), + ], + ), + ], ), - ], + ), + ), + floatingActionButton: const CustomIcon( + height: 62, + width: 72, + isShadow: true, + image: 'assets/icons/logout.png', ), + floatingActionButtonLocation: FloatingActionButtonLocation.endFloat, ), ); } diff --git a/lib/screens/needy_demand_screen/needy_demand_screen.dart b/lib/screens/needy_demand_screen/needy_demand_screen.dart index fd219d4..5f705ac 100644 --- a/lib/screens/needy_demand_screen/needy_demand_screen.dart +++ b/lib/screens/needy_demand_screen/needy_demand_screen.dart @@ -3,6 +3,7 @@ import 'package:provider/provider.dart'; import '../../providers/foods.dart'; import '../../widgets/bottom_buttons.dart'; +import '../../widgets/custom_icon.dart'; import '../confirmation_screen.dart'; import '/constants.dart'; import 'components/category_row.dart'; @@ -84,7 +85,55 @@ class NeedyDemandScreen extends StatelessWidget { onTapHome: () { Navigator.of(context).pushReplacementNamed('/'); }, - onTapText: Provider.of(context).clear, + onTapText: () { + final foods = Provider.of(context, listen: false); + var empty = true; + for (var food in foods.foods) { + if (food.count != 0) { + empty = false; + } + } + + showDialog( + context: context, + builder: (_) => AlertDialog( + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(15)), + alignment: Alignment.center, + title: empty + ? Icon( + Icons.shopping_bag_outlined, + color: Colors.red.shade400, + size: 60, + ) + : const Icon( + Icons.check_circle_rounded, + color: kBlueColor, + size: 60, + ), + content: Text( + empty + ? 'القفة فارغة, الرجاءاختيار المكونات' + : ' تم تأكيد الطلب بنجاح.', + style: kTextStyle, + textAlign: TextAlign.center, + ), + actions: [ + CustomIcon( + height: 40, + width: 120, + isGradient: true, + isIcon: false, + text: 'إغلاق', + onTap: () { + Navigator.of(context).pop(); + }, + ), + ], + ), + ); + Provider.of(context, listen: false).clear(); + }, ), ), ), diff --git a/lib/screens/report_screen.dart b/lib/screens/report_screen.dart index ce54a57..601b2a8 100644 --- a/lib/screens/report_screen.dart +++ b/lib/screens/report_screen.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import '../constants.dart'; -import '../widgets/custom_background.dart'; import '../widgets/custom_icon.dart'; class ReportScreen extends StatelessWidget { @@ -11,87 +10,94 @@ class ReportScreen extends StatelessWidget { @override Widget build(BuildContext context) { - return CustomBackground( - image: 'assets/icons/edit.png', - child: SingleChildScrollView( - child: Column( - children: [ - const SizedBox(height: 25), - const Text( - 'تعليق أو إبلاغ عن مشكلة', - style: kTitleStyle, - ), - const SizedBox(height: 15), - Form( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const TextLabel(text: 'البريد الإلكتروني'), - TextFormField( - style: const TextStyle(height: 1.2), - textDirection: TextDirection.ltr, - decoration: InputDecoration( - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(17), - ), - isDense: true, - hintText: 'example@mail.com', - hintTextDirection: TextDirection.ltr, - hintStyle: const TextStyle( - fontWeight: FontWeight.bold, - fontFamily: 'Cairo', - color: Colors.grey, - ), - ), + return AlertDialog( + insetPadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 20), + titlePadding: const EdgeInsets.all(25), + contentPadding: const EdgeInsets.symmetric(horizontal: 15), + actionsPadding: EdgeInsets.zero, + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(20)), + actionsAlignment: MainAxisAlignment.end, + title: Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Image.asset( + 'assets/icons/edit.png', + width: 25, + ), + const SizedBox(width: 10), + const Text( + 'تعليق أو إبلاغ', + style: kTitleStyle, + ), + ], + ), + content: SizedBox( + width: 700, + child: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const TextLabel(text: 'البريد الإلكتروني'), + TextField( + style: const TextStyle(height: 1.2), + textDirection: TextDirection.ltr, + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(17), + ), + isDense: true, + hintText: 'example@mail.com', + hintTextDirection: TextDirection.ltr, + hintStyle: const TextStyle( + fontWeight: FontWeight.bold, + fontFamily: 'Cairo', + color: Colors.grey, ), - const SizedBox(height: 20), - const TextLabel(text: 'تعليق أو إبلاغ'), - TextFormField( - textAlign: TextAlign.start, - maxLines: 12, - style: const TextStyle(height: 1.2), - decoration: InputDecoration( - border: OutlineInputBorder( - borderRadius: BorderRadius.circular(17), - ), - hintText: 'أدخل نص', - hintStyle: const TextStyle( - fontWeight: FontWeight.bold, - fontFamily: 'Cairo', - color: Colors.grey, - ), - ), + ), + ), + const SizedBox(height: 20), + const TextLabel(text: 'تعليق أو إبلاغ'), + TextField( + textAlign: TextAlign.start, + maxLines: 12, + style: const TextStyle(height: 1.2), + decoration: InputDecoration( + border: OutlineInputBorder( + borderRadius: BorderRadius.circular(17), ), - const SizedBox(height: 30), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - CustomIcon( - isIcon: false, - height: 55, - width: 135, - isGradient: true, - text: 'إرسال', - onTap: () {}, - ), - CustomIcon( - iconSize: 35, - image: 'assets/icons/back.png', - isGradient: true, - height: 55, - width: 70, - onTap: () { - Navigator.of(context).pop(); - }, - ), - ], + hintText: 'أدخل نص', + hintStyle: const TextStyle( + fontWeight: FontWeight.bold, + fontFamily: 'Cairo', + color: Colors.grey, ), - ], + ), ), - ), - ], + const SizedBox(height: 30), + ], + ), ), ), + actions: [ + CustomIcon( + isIcon: false, + height: 55, + width: 135, + isGradient: true, + text: 'إرسال', + onTap: () {}, + ), + CustomIcon( + iconSize: 35, + image: 'assets/icons/back.png', + isGradient: true, + height: 55, + width: 70, + onTap: () { + Navigator.of(context).pop(); + }, + ), + ], ); } } @@ -113,6 +119,7 @@ class TextLabel extends StatelessWidget { style: const TextStyle( fontWeight: FontWeight.bold, color: kTextLightColor, + fontFamily: 'Cairo', ), ), ); diff --git a/lib/widgets/custom_background.dart b/lib/widgets/custom_background.dart index f084ada..7b05446 100644 --- a/lib/widgets/custom_background.dart +++ b/lib/widgets/custom_background.dart @@ -1,6 +1,5 @@ import 'package:flutter/material.dart'; -import 'clippers.dart'; import 'custom_icon.dart'; class CustomBackground extends StatelessWidget { @@ -15,47 +14,39 @@ class CustomBackground extends StatelessWidget { @override Widget build(BuildContext context) { - return Scaffold( - body: Stack( - alignment: Alignment.topLeft, - children: [ - const ClipperBig(), - const Positioned( - bottom: 0, - right: 0, - child: ClipperSmall(), - ), - Container( - height: double.infinity, - width: double.infinity, - padding: const EdgeInsets.all(15), - margin: const EdgeInsets.only( - right: 20, left: 20, bottom: 20, top: 70), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(10), - boxShadow: const [ - BoxShadow( - color: Color.fromARGB(31, 121, 121, 121), - offset: Offset(3, 2), - blurRadius: 10, - spreadRadius: 3, - ), - ], - ), - child: child), - Positioned( - top: 40, - right: 35, - child: CustomIcon( - image: image, - height: 50, - width: 80, - isShadow: true, + return Stack( + alignment: Alignment.topCenter, + children: [ + Container( + height: double.infinity, + width: double.infinity, + padding: const EdgeInsets.all(15), + margin: + const EdgeInsets.only(right: 20, left: 20, bottom: 20, top: 70), + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(10), + boxShadow: const [ + BoxShadow( + color: Color.fromARGB(31, 121, 121, 121), + offset: Offset(3, 2), + blurRadius: 10, + spreadRadius: 3, + ), + ], ), - ) - ], - ), + child: child), + Positioned( + top: 40, + right: 35, + child: CustomIcon( + image: image, + height: 50, + width: 80, + isShadow: true, + ), + ) + ], ); } } diff --git a/lib/widgets/custom_icon.dart b/lib/widgets/custom_icon.dart index 966d645..1622f03 100644 --- a/lib/widgets/custom_icon.dart +++ b/lib/widgets/custom_icon.dart @@ -57,12 +57,7 @@ class CustomIcon extends StatelessWidget { ), decoration: BoxDecoration( borderRadius: BorderRadius.circular(50), - gradient: isGradient - ? const LinearGradient( - colors: [kBlueColor, kBlueColorLight], - ) - : null, - color: isGradient ? null : color, + color: isGradient ? kButtonColor : color, boxShadow: isShadow ? const [ BoxShadow( diff --git a/lib/widgets/requested_item.dart b/lib/widgets/requested_item.dart index 3d73d1b..4964fa1 100644 --- a/lib/widgets/requested_item.dart +++ b/lib/widgets/requested_item.dart @@ -1,3 +1,5 @@ +import 'dart:math'; + import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; @@ -27,7 +29,7 @@ class RequestedItem extends StatelessWidget { alignment: Alignment.centerRight, padding: const EdgeInsets.symmetric(horizontal: 30), child: Text( - '${foodItem.count} ${getPrefix(foodItem.name)}', + '${foodItem.count + Random().nextInt(15) + 1} ${getPrefix(foodItem.name)}', style: const TextStyle( color: kTextLightColor, fontWeight: FontWeight.bold, @@ -50,6 +52,13 @@ class RequestedItem extends StatelessWidget { fontSize: 17), ), decoration: BoxDecoration( + boxShadow: const [ + BoxShadow( + color: Color.fromARGB(31, 121, 121, 121), + blurRadius: 2, + spreadRadius: 1, + ), + ], borderRadius: BorderRadius.circular(20), color: kWhiteColor, ), @@ -63,7 +72,6 @@ class RequestedItem extends StatelessWidget { return CustomIcon( textColor: item.bought ? kWhiteColor : kBlueColor, color: item.bought ? kBlueColor : kWhiteColor, - isIcon: false, height: 45, width: 100, diff --git a/lib/widgets/welcome_button.dart b/lib/widgets/welcome_button.dart index afb3491..d7ebb26 100644 --- a/lib/widgets/welcome_button.dart +++ b/lib/widgets/welcome_button.dart @@ -20,6 +20,7 @@ class WelcomeButton extends StatelessWidget { }, child: Text(text), style: ElevatedButton.styleFrom( + minimumSize: const Size(210, 55), primary: kWhiteColor, onPrimary: kTextLightColor, elevation: 5,