Merge pull request #1 from kishan06/priyanka

blog main, feedback and rateus api integration done
This commit is contained in:
priyankahadpad
2024-04-12 03:47:17 -07:00
committed by GitHub
18 changed files with 1842 additions and 907 deletions

View File

@@ -3,409 +3,409 @@
"packages": [
{
"name": "_fe_analyzer_shared",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "analyzer",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/analyzer-2.8.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-2.8.0",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "args",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/args-2.4.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.4.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "async",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/async-2.10.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.10.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "boolean_selector",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "build",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build-2.0.3",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build-2.0.3",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "build_config",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_config-0.4.7",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_config-0.4.7",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "build_daemon",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_daemon-2.1.10",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_daemon-2.1.10",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "build_resolvers",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_resolvers-2.0.6",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_resolvers-2.0.6",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "build_runner",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner-1.12.2",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner-1.12.2",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "build_runner_core",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner_core-6.1.12",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner_core-6.1.12",
"packageUri": "lib/",
"languageVersion": "2.11"
},
{
"name": "built_collection",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_collection-5.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/built_collection-5.1.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "built_value",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_value-8.4.3",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/built_value-8.4.3",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "change_app_package_name",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/change_app_package_name-1.1.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/change_app_package_name-1.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "characters",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/characters-1.2.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "checked_yaml",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/checked_yaml-2.0.2",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.2",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "cli_util",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/cli_util-0.3.5",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/cli_util-0.3.5",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "clock",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/clock-1.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "code_builder",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/code_builder-3.7.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-3.7.0",
"packageUri": "lib/",
"languageVersion": "2.7"
},
{
"name": "collection",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/collection-1.17.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.17.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "convert",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/convert-3.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/convert-3.1.1",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "crypto",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/crypto-3.0.2",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/crypto-3.0.2",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "dart_style",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/dart_style-2.2.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/dart_style-2.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "fake_async",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fake_async-1.3.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "file",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/file-6.1.4",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/file-6.1.4",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "fixnum",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fixnum-1.1.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/fixnum-1.1.0",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "flutter",
"rootUri": "file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter",
"rootUri": "file:///C:/Flutter_SDK/flutter/packages/flutter",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "flutter_lints",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-2.0.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "flutter_test",
"rootUri": "file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter_test",
"rootUri": "file:///C:/Flutter_SDK/flutter/packages/flutter_test",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "glob",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/glob-2.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.1",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{
"name": "graphs",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/graphs-1.0.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "http_multi_server",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/http_multi_server-3.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "http_parser",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_parser-4.0.2",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "io",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/io-1.0.4",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "js",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/js-0.6.5",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.6.5",
"packageUri": "lib/",
"languageVersion": "2.16"
},
{
"name": "json_annotation",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_annotation-4.6.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.6.0",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "json_serializable",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_serializable-6.3.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.3.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "lints",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/lints-2.0.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/lints-2.0.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "logging",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/logging-1.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/logging-1.1.1",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "matcher",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/matcher-0.12.13",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.13",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "material_color_utilities",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.2.0",
"packageUri": "lib/",
"languageVersion": "2.13"
},
{
"name": "meta",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/meta-1.8.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.8.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "mime",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/mime-1.0.4",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/mime-1.0.4",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "package_config",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/package_config-2.1.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "path",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/path-1.8.2",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.8.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "pedantic",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pedantic-1.11.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pedantic-1.11.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "plugin_platform_interface",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.4",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "pool",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pool-1.5.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "pub_semver",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pub_semver-2.1.3",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.1.3",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "pubspec_parse",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.2.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "shelf",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf-1.4.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/shelf-1.4.0",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "shelf_web_socket",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.3",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-1.0.3",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "sky_engine",
"rootUri": "file:///Users/macbookpro/flutteroldversion/flutter/bin/cache/pkg/sky_engine",
"rootUri": "file:///C:/Flutter_SDK/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "source_gen",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_gen-1.0.5",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-1.0.5",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "source_helper",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_helper-1.3.2",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_helper-1.3.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "source_span",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_span-1.9.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.9.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "stack_trace",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stack_trace-1.11.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "stream_channel",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_channel-2.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "stream_transform",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_transform-2.1.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stream_transform-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "string_scanner",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/string_scanner-1.2.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.2.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "term_glyph",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/term_glyph-1.2.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "test_api",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/test_api-0.4.16",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.4.16",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "timing",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/timing-1.0.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/timing-1.0.1",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "typed_data",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/typed_data-1.3.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.3.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "vector_math",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/vector_math-2.1.4",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "watcher",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/watcher-1.0.2",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/watcher-1.0.2",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "web_socket_channel",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/web_socket_channel-2.3.0",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket_channel-2.3.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "yaml",
"rootUri": "file:///Users/macbookpro/.pub-cache/hosted/pub.dev/yaml-3.1.1",
"rootUri": "file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
@@ -416,7 +416,7 @@
"languageVersion": "2.17"
}
],
"generated": "2024-04-08T07:22:52.056049Z",
"generated": "2024-04-11T06:11:34.892808Z",
"generator": "pub",
"generatorVersion": "2.19.6"
}

View File

@@ -1,277 +1,277 @@
_fe_analyzer_shared
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0/lib/
analyzer
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/analyzer-2.8.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/analyzer-2.8.0/lib/
args
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/args-2.4.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/args-2.4.0/lib/
async
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/async-2.10.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/async-2.10.0/lib/
boolean_selector
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/
build
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build-2.0.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build-2.0.3/lib/
build_config
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_config-0.4.7/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_config-0.4.7/lib/
build_daemon
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_daemon-2.1.10/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_daemon-2.1.10/lib/
build_resolvers
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_resolvers-2.0.6/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_resolvers-2.0.6/lib/
build_runner
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner-1.12.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner-1.12.2/lib/
build_runner_core
2.11
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner_core-6.1.12/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/build_runner_core-6.1.12/lib/
built_collection
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_collection-5.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_collection-5.1.1/lib/
built_value
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_value-8.4.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/built_value-8.4.3/lib/
change_app_package_name
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/change_app_package_name-1.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/change_app_package_name-1.1.0/lib/
characters
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/characters-1.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/characters-1.2.1/lib/
checked_yaml
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/checked_yaml-2.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/checked_yaml-2.0.2/lib/
cli_util
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/cli_util-0.3.5/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/cli_util-0.3.5/lib/
clock
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/clock-1.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/
code_builder
2.7
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/code_builder-3.7.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/code_builder-3.7.0/lib/
collection
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/collection-1.17.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/collection-1.17.0/lib/
convert
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/convert-3.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/convert-3.1.1/lib/
crypto
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/crypto-3.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/crypto-3.0.2/lib/
dart_style
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/dart_style-2.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/dart_style-2.2.1/lib/
fake_async
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fake_async-1.3.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/
file
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/file-6.1.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/file-6.1.4/lib/
fixnum
2.19
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fixnum-1.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/fixnum-1.1.0/lib/
flutter_lints
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/flutter_lints-2.0.1/lib/
glob
2.15
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/glob-2.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/glob-2.1.1/lib/
graphs
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/graphs-1.0.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/graphs-1.0.0/lib/
http_multi_server
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_multi_server-3.2.1/lib/
http_parser
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_parser-4.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib/
io
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/io-1.0.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/io-1.0.4/lib/
js
2.16
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/js-0.6.5/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/js-0.6.5/lib/
json_annotation
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_annotation-4.6.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_annotation-4.6.0/lib/
json_serializable
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_serializable-6.3.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/json_serializable-6.3.1/lib/
lints
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/lints-2.0.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/lints-2.0.1/lib/
logging
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/logging-1.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/logging-1.1.1/lib/
matcher
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/matcher-0.12.13/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/matcher-0.12.13/lib/
material_color_utilities
2.13
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/
meta
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/meta-1.8.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/meta-1.8.0/lib/
mime
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/mime-1.0.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/mime-1.0.4/lib/
package_config
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/package_config-2.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/package_config-2.1.0/lib/
path
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/path-1.8.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/path-1.8.2/lib/
pedantic
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pedantic-1.11.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pedantic-1.11.1/lib/
plugin_platform_interface
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib/
pool
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pool-1.5.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pool-1.5.1/lib/
pub_semver
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pub_semver-2.1.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pub_semver-2.1.3/lib/
pubspec_parse
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/pubspec_parse-1.2.1/lib/
shelf
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf-1.4.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf-1.4.0/lib/
shelf_web_socket
2.17
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.3/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/shelf_web_socket-1.0.3/lib/
source_gen
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_gen-1.0.5/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_gen-1.0.5/lib/
source_helper
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_helper-1.3.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_helper-1.3.2/lib/
source_span
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_span-1.9.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/source_span-1.9.1/lib/
stack_trace
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stack_trace-1.11.0/lib/
stream_channel
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_channel-2.1.1/lib/
stream_transform
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_transform-2.1.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/stream_transform-2.1.0/lib/
string_scanner
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/
term_glyph
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/
test_api
2.18
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/test_api-0.4.16/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/test_api-0.4.16/lib/
timing
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/timing-1.0.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/timing-1.0.1/lib/
typed_data
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/typed_data-1.3.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/typed_data-1.3.1/lib/
vector_math
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/vector_math-2.1.4/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/
watcher
2.14
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/watcher-1.0.2/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/watcher-1.0.2/lib/
web_socket_channel
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/web_socket_channel-2.3.0/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/web_socket_channel-2.3.0/lib/
yaml
2.12
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/yaml-3.1.1/
file:///Users/macbookpro/.pub-cache/hosted/pub.dev/yaml-3.1.1/lib/
icdevicemanager_flutter
2.17
file:///Users/macbookpro/Desktop/Flutter%20Projects%20/GSFV8/
file:///Users/macbookpro/Desktop/Flutter%20Projects%20/GSFV8/lib/
file:///C:/Flutter%20Project/GSF/
file:///C:/Flutter%20Project/GSF/lib/
sky_engine
2.12
file:///Users/macbookpro/flutteroldversion/flutter/bin/cache/pkg/sky_engine/
file:///Users/macbookpro/flutteroldversion/flutter/bin/cache/pkg/sky_engine/lib/
file:///C:/Flutter_SDK/flutter/bin/cache/pkg/sky_engine/
file:///C:/Flutter_SDK/flutter/bin/cache/pkg/sky_engine/lib/
flutter
2.17
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter/
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter/lib/
file:///C:/Flutter_SDK/flutter/packages/flutter/
file:///C:/Flutter_SDK/flutter/packages/flutter/lib/
flutter_test
2.17
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter_test/
file:///Users/macbookpro/flutteroldversion/flutter/packages/flutter_test/lib/
file:///C:/Flutter_SDK/flutter/packages/flutter_test/
file:///C:/Flutter_SDK/flutter/packages/flutter_test/lib/
_fe_analyzer_shared
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/_fe_analyzer_shared-31.0.0/lib/
analyzer
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-2.8.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/analyzer-2.8.0/lib/
args
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.4.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/args-2.4.0/lib/
async
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.10.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.10.0/lib/
boolean_selector
2.17
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/lib/
build
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build-2.0.3/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build-2.0.3/lib/
build_config
2.11
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_config-0.4.7/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_config-0.4.7/lib/
build_daemon
2.11
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_daemon-2.1.10/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_daemon-2.1.10/lib/
build_resolvers
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_resolvers-2.0.6/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_resolvers-2.0.6/lib/
build_runner
2.11
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner-1.12.2/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner-1.12.2/lib/
build_runner_core
2.11
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner_core-6.1.12/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/build_runner_core-6.1.12/lib/
built_collection
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/built_collection-5.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/built_collection-5.1.1/lib/
built_value
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/built_value-8.4.3/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/built_value-8.4.3/lib/
change_app_package_name
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/change_app_package_name-1.1.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/change_app_package_name-1.1.0/lib/
characters
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.2.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.2.1/lib/
checked_yaml
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.2/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/checked_yaml-2.0.2/lib/
cli_util
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/cli_util-0.3.5/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/cli_util-0.3.5/lib/
clock
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1/lib/
code_builder
2.7
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-3.7.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/code_builder-3.7.0/lib/
collection
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.17.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.17.0/lib/
convert
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/convert-3.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/convert-3.1.1/lib/
crypto
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/crypto-3.0.2/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/crypto-3.0.2/lib/
dart_style
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/dart_style-2.2.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/dart_style-2.2.1/lib/
fake_async
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1/lib/
file
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/file-6.1.4/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/file-6.1.4/lib/
fixnum
2.19
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/fixnum-1.1.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/fixnum-1.1.0/lib/
flutter_lints
2.17
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-2.0.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-2.0.1/lib/
glob
2.15
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/glob-2.1.1/lib/
graphs
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-1.0.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/graphs-1.0.0/lib/
http_multi_server
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/http_multi_server-3.2.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/http_multi_server-3.2.1/lib/
http_parser
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.0.2/lib/
io
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.4/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/io-1.0.4/lib/
js
2.16
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.6.5/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/js-0.6.5/lib/
json_annotation
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.6.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/json_annotation-4.6.0/lib/
json_serializable
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.3.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/json_serializable-6.3.1/lib/
lints
2.17
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/lints-2.0.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/lints-2.0.1/lib/
logging
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/logging-1.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/logging-1.1.1/lib/
matcher
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.13/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.13/lib/
material_color_utilities
2.13
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.2.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.2.0/lib/
meta
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.8.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.8.0/lib/
mime
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/mime-1.0.4/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/mime-1.0.4/lib/
package_config
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.1.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/package_config-2.1.0/lib/
path
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.8.2/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.8.2/lib/
pedantic
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pedantic-1.11.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pedantic-1.11.1/lib/
plugin_platform_interface
2.17
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.4/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.4/lib/
pool
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pool-1.5.1/lib/
pub_semver
2.17
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.1.3/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pub_semver-2.1.3/lib/
pubspec_parse
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.2.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/pubspec_parse-1.2.1/lib/
shelf
2.17
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/shelf-1.4.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/shelf-1.4.0/lib/
shelf_web_socket
2.17
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-1.0.3/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/shelf_web_socket-1.0.3/lib/
source_gen
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-1.0.5/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_gen-1.0.5/lib/
source_helper
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_helper-1.3.2/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_helper-1.3.2/lib/
source_span
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.9.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.9.1/lib/
stack_trace
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.11.0/lib/
stream_channel
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.1/lib/
stream_transform
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stream_transform-2.1.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/stream_transform-2.1.0/lib/
string_scanner
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.2.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.2.0/lib/
term_glyph
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/lib/
test_api
2.18
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.4.16/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.4.16/lib/
timing
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/timing-1.0.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/timing-1.0.1/lib/
typed_data
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.3.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.3.1/lib/
vector_math
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/lib/
watcher
2.14
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/watcher-1.0.2/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/watcher-1.0.2/lib/
web_socket_channel
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket_channel-2.3.0/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/web_socket_channel-2.3.0/lib/
yaml
2.12
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.1/
file:///C:/Users/WDI-/AppData/Local/Pub/Cache/hosted/pub.dev/yaml-3.1.1/lib/
2

View File

@@ -0,0 +1,160 @@
class BlogModel {
bool? success;
String? message;
Result? result;
BlogModel({this.success, this.message, this.result});
BlogModel.fromJson(Map<String, dynamic> json) {
success = json['success'];
message = json['message'];
result =
json['result'] != null ? new Result.fromJson(json['result']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['success'] = this.success;
data['message'] = this.message;
if (this.result != null) {
data['result'] = this.result!.toJson();
}
return data;
}
}
class Result {
List<Category>? category;
Result({this.category});
Result.fromJson(Map<String, dynamic> json) {
if (json['category'] != null) {
category = <Category>[];
json['category'].forEach((v) {
category!.add(new Category.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.category != null) {
data['category'] = this.category!.map((v) => v.toJson()).toList();
}
return data;
}
}
class Category {
int? id;
String? categoryName;
String? isActive;
Null? deletedAt;
String? createdAt;
String? updatedAt;
List<Articles>? articles;
Category(
{this.id,
this.categoryName,
this.isActive,
this.deletedAt,
this.createdAt,
this.updatedAt,
this.articles});
Category.fromJson(Map<String, dynamic> json) {
id = json['id'];
categoryName = json['category_name'];
isActive = json['is_active'];
deletedAt = json['deleted_at'];
createdAt = json['created_at'];
updatedAt = json['updated_at'];
if (json['articles'] != null) {
articles = <Articles>[];
json['articles'].forEach((v) {
articles!.add(new Articles.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['category_name'] = this.categoryName;
data['is_active'] = this.isActive;
data['deleted_at'] = this.deletedAt;
data['created_at'] = this.createdAt;
data['updated_at'] = this.updatedAt;
if (this.articles != null) {
data['articles'] = this.articles!.map((v) => v.toJson()).toList();
}
return data;
}
}
class Articles {
int? id;
int? categoryId;
String? articleName;
String? shortText;
String? description;
String? imageUpload;
String? videoUrl;
String? tags;
String? thumbnailPath;
String? isActive;
Null? deletedAt;
String? createdAt;
String? updatedAt;
Articles(
{this.id,
this.categoryId,
this.articleName,
this.shortText,
this.description,
this.imageUpload,
this.videoUrl,
this.tags,
this.thumbnailPath,
this.isActive,
this.deletedAt,
this.createdAt,
this.updatedAt});
Articles.fromJson(Map<String, dynamic> json) {
id = json['id'];
categoryId = json['category_id'];
articleName = json['article_name'];
shortText = json['short_text'];
description = json['description'];
imageUpload = json['image_upload'];
videoUrl = json['video_url'];
tags = json['tags'];
thumbnailPath = json['thumbnail_path'];
isActive = json['is_active'];
deletedAt = json['deleted_at'];
createdAt = json['created_at'];
updatedAt = json['updated_at'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['category_id'] = this.categoryId;
data['article_name'] = this.articleName;
data['short_text'] = this.shortText;
data['description'] = this.description;
data['image_upload'] = this.imageUpload;
data['video_url'] = this.videoUrl;
data['tags'] = this.tags;
data['thumbnail_path'] = this.thumbnailPath;
data['is_active'] = this.isActive;
data['deleted_at'] = this.deletedAt;
data['created_at'] = this.createdAt;
data['updated_at'] = this.updatedAt;
return data;
}
}

View File

@@ -0,0 +1,73 @@
class GetFeedbackModel {
bool? success;
String? message;
List<Result>? result;
GetFeedbackModel({this.success, this.message, this.result});
GetFeedbackModel.fromJson(Map<String, dynamic> json) {
success = json['success'];
message = json['message'];
if (json['result'] != null) {
result = <Result>[];
json['result'].forEach((v) {
result!.add(new Result.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['success'] = this.success;
data['message'] = this.message;
if (this.result != null) {
data['result'] = this.result!.map((v) => v.toJson()).toList();
}
return data;
}
}
class Result {
int? id;
int? userId;
String? message;
int? reaction;
String? isActive;
Null? deletedAt;
String? createdAt;
String? updatedAt;
Result(
{this.id,
this.userId,
this.message,
this.reaction,
this.isActive,
this.deletedAt,
this.createdAt,
this.updatedAt});
Result.fromJson(Map<String, dynamic> json) {
id = json['id'];
userId = json['user_id'];
message = json['message'];
reaction = json['reaction'];
isActive = json['is_active'];
deletedAt = json['deleted_at'];
createdAt = json['created_at'];
updatedAt = json['updated_at'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['user_id'] = this.userId;
data['message'] = this.message;
data['reaction'] = this.reaction;
data['is_active'] = this.isActive;
data['deleted_at'] = this.deletedAt;
data['created_at'] = this.createdAt;
data['updated_at'] = this.updatedAt;
return data;
}
}

View File

@@ -0,0 +1,93 @@
class SearchModel {
bool? success;
String? message;
List<Result>? result;
SearchModel({this.success, this.message, this.result});
SearchModel.fromJson(Map<String, dynamic> json) {
success = json['success'];
message = json['message'];
if (json['result'] != null) {
result = <Result>[];
json['result'].forEach((v) {
result!.add(new Result.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['success'] = this.success;
data['message'] = this.message;
if (this.result != null) {
data['result'] = this.result!.map((v) => v.toJson()).toList();
}
return data;
}
}
class Result {
int? id;
int? categoryId;
String? articleName;
String? shortText;
String? description;
String? imageUpload;
String? videoUrl;
String? tags;
String? thumbnailPath;
String? isActive;
Null? deletedAt;
String? createdAt;
String? updatedAt;
Result(
{this.id,
this.categoryId,
this.articleName,
this.shortText,
this.description,
this.imageUpload,
this.videoUrl,
this.tags,
this.thumbnailPath,
this.isActive,
this.deletedAt,
this.createdAt,
this.updatedAt});
Result.fromJson(Map<String, dynamic> json) {
id = json['id'];
categoryId = json['category_id'];
articleName = json['article_name'];
shortText = json['short_text'];
description = json['description'];
imageUpload = json['image_upload'];
videoUrl = json['video_url'];
tags = json['tags'];
thumbnailPath = json['thumbnail_path'];
isActive = json['is_active'];
deletedAt = json['deleted_at'];
createdAt = json['created_at'];
updatedAt = json['updated_at'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['category_id'] = this.categoryId;
data['article_name'] = this.articleName;
data['short_text'] = this.shortText;
data['description'] = this.description;
data['image_upload'] = this.imageUpload;
data['video_url'] = this.videoUrl;
data['tags'] = this.tags;
data['thumbnail_path'] = this.thumbnailPath;
data['is_active'] = this.isActive;
data['deleted_at'] = this.deletedAt;
data['created_at'] = this.createdAt;
data['updated_at'] = this.updatedAt;
return data;
}
}

View File

@@ -1,4 +1,4 @@
enum ResponseStatus { success, failed, expired, error }
enum ResponseStatus { success, failed, expired, error, SUCCESS }
class ResponseModel {
final ResponseStatus responseStatus;

View File

@@ -0,0 +1,79 @@
import 'dart:async';
import 'dart:convert';
import 'package:get/get.dart';
import 'package:gsp_app/repository/endpoints.dart';
import 'package:http/http.dart' as http;
import 'package:rxdart/rxdart.dart';
import '../../api/base_manager.dart';
import '../../api/network_api.dart';
import '../../modals/blog_model.dart';
import '../../modals/search_blogModel.dart';
SearchModel? searchArticle;
BlogModel? blogcategory;
class BlogService {
// final String baseUrl = "https://gsf.wdipl.com/api";
Future<ResponseData<dynamic>> blogSearchAndFilter(updata,
{required StreamController<SearchModel> streamController}) async {
final response = await NetworkApi()
.postApi(url: 'https://thegsf.co/api/search', data: updata);
if (response.status == ResponseStatus.SUCCESS) {
if (response.data["Result"] == "No Data found") {
if (!streamController.isClosed) {
streamController.sink
.add(SearchModel(message: "", success: false, result: []));
searchArticle = SearchModel(message: "", success: false, result: []);
}
return response;
}
searchArticle = SearchModel.fromJson(response.data);
if (!streamController.isClosed) streamController.sink.add(searchArticle!);
}
return response;
}
Future<ResponseData<dynamic>> FetchCategory() async {
final response =
await NetworkApi().getApi('https://thegsf.co/api/getNewsArticle');
if (response.status == ResponseStatus.SUCCESS) {
blogcategory = BlogModel.fromJson(response.data);
}
return response;
}
}
// class CategoryViewModel extends GetxController {
// var categories = <Category>[].obs;
// var searchModel = <SearchModel>[].obs;
// // var searchList = <>[].obs;
// @override
// void onInit() {
// super.onInit();
// fetchCategories();
// }
// Future<List<BlogModel>> fetchCategories() async {
// final response = await http.get(
// Uri.parse(Endpoints.getBlog),
// );
// print('response of faq ${response.body}');
// final jsonData = jsonDecode(response.body);
// final List<dynamic> categoryList = jsonData['result']['category'] as List;
// categories.assignAll(
// categoryList.map<Category>((json) => Category.fromJson(json)).toList());
// return categoryList
// .map<BlogModel>((json) => BlogModel.fromJson(json))
// .toList();
// }
// }

View File

@@ -0,0 +1,35 @@
import '../../api/ResponseManager.dart';
import '../../api/network_api.dart';
import '../../modals/feedbackGetModel.dart';
GetFeedbackModel? getFeedback;
class FeedbackServices {
Future<ResponseData<dynamic>> feedbackApi(var data) async {
// SharedPreferences prefs = await SharedPreferences.getInstance();
final response = await NetworkApi().postApi(
url: 'https://gsf.betadelivery.com/api/updateFeedback', data: data);
if (response.data['success'] == true) {
return ResponseData<dynamic>(
response.data['message'], ResponseStatus.SUCCESS);
} else {
return ResponseData<dynamic>(
response.data['message'], ResponseStatus.FAILED);
}
}
Future<ResponseData<dynamic>> getFeedbackApi() async {
final response = await NetworkApi()
.getApi('https://gsf.betadelivery.com/api/getFeedback');
if (response.data['success'] == true) {
getFeedback = GetFeedbackModel.fromJson(response.data);
return ResponseData<dynamic>(
response.data['message'], ResponseStatus.SUCCESS);
} else {
return ResponseData<dynamic>(
response.data['message'], ResponseStatus.FAILED);
}
}
}

View File

@@ -0,0 +1,17 @@
import '../../api/ResponseManager.dart';
import '../../api/network_api.dart';
class RateUsServices {
Future<ResponseData<dynamic>> postRateUs(updata) async {
final response = await NetworkApi().postApi(
url: 'https://gsf.betadelivery.com/api/updateRateUs', data: updata);
if (response.data['success'] == true) {
return ResponseData<dynamic>(
response.data['message'], ResponseStatus.SUCCESS);
} else {
return ResponseData<dynamic>(
response.data['message'], ResponseStatus.FAILED);
}
}
}

View File

@@ -1,16 +1,45 @@
// ignore_for_file: prefer_const_literals_to_create_immutables
import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
import 'package:get/get.dart';
import 'package:gsp_app/repository/services/blog_services.dart';
import 'package:intl/intl.dart';
import '../../../modals/blog_model.dart';
import '../../../modals/search_blogModel.dart';
import '../../components/appbar.dart';
import '../../theme.dart';
class BlogDetails extends StatelessWidget {
const BlogDetails({Key? key}) : super(key: key);
BlogDetails({
required this.articleId,
required this.tages,
required this.imageUpload,
required this.description,
required this.formattedtime,
});
// SearchModel? searchArticle;
String? tages;
String? imageUpload;
int? articleId;
String? description;
String? formattedtime;
@override
Widget build(BuildContext context) {
// var updatedAtTime = articles.updatedAt;
// DateTime updatedAt = DateTime.parse(updatedAtTime!);
// Duration difference = DateTime.now().difference(updatedAt);
// String formattedDifference = DateFormat().add_Hm().format(updatedAt);
// for (var i = 0; i < searchArticle!.result!.length; i++) {
// tages = searchArticle!.result![i].tags;
// imageUpload = searchArticle!.result![i].imageUpload;
// articleId = searchArticle!.result![i].id;
// }
return Scaffold(
backgroundColor: ColorConstants.kBlack,
appBar: PreferredSize(
@@ -22,9 +51,9 @@ class BlogDetails extends StatelessWidget {
Padding(
padding: const EdgeInsets.symmetric(horizontal: 15.0),
child: Row(
children: const [
children: [
Text(
'Philosophy',
tages!,
style: TextStyle(
fontSize: 18,
color: ColorConstants.kWhite,
@@ -33,7 +62,7 @@ class BlogDetails extends StatelessWidget {
),
Spacer(),
Text(
'2 days ago',
formattedtime!,
style: TextStyle(
fontSize: 18,
color: ColorConstants.kWhite,
@@ -44,111 +73,119 @@ class BlogDetails extends StatelessWidget {
),
),
const SizedBox(height: 10),
Image.asset(
'assets/image/blog/philosophyCard.jpg',
Image.network(
imageUpload!,
// 'assets/image/blog/philosophyCard.jpg',
// height: 400,
width: Get.size.width,
fit: BoxFit.fitWidth,
),
const SizedBox(height: 30),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20),
child: ListView.builder(
shrinkWrap: true,
itemCount: 8,
itemBuilder: (context, index) {
if (index == 7) {
return Padding(
padding: const EdgeInsets.only(bottom: 20.0),
child: Row(
children: [
InkWell(
onTap: () {
print('Previous');
},
child: Row(
children: [
Icon(
Icons.keyboard_arrow_left_rounded,
size: 25,
color: ColorConstants.kPrimaryColor,
),
SizedBox(width: 8),
Text(
'Previous',
style: TextStyle(
fontSize: 16,
color: ColorConstants.kPrimaryColor),
),
],
),
),
Spacer(),
InkWell(
onTap: () {
print('Next');
},
child: Row(
children: [
Text(
'Next',
style: TextStyle(
fontSize: 16,
color: ColorConstants.kPrimaryColor),
),
SizedBox(width: 8),
Icon(
Icons.keyboard_arrow_right_rounded,
size: 25,
color: ColorConstants.kPrimaryColor,
),
],
),
),
],
),
);
}
return Padding(
padding: const EdgeInsets.only(bottom: 22.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
decoration: const BoxDecoration(
color: ColorConstants.kPrimaryColor,
shape: BoxShape.circle,
),
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'${index + 1}',
style: const TextStyle(
fontSize: 16,
color: ColorConstants.kBlack,
fontFamily: 'SFPRO',
fontWeight: FontWeight.w800,
),
),
),
),
const SizedBox(width: 10),
Expanded(
child: Text(
'The next time you find yourself continuously running things over in your mind, take note of how it affects your mood.',
style: TextStyle(
fontSize: 14,
color: Color(0xffD9D9D9),
),
),
),
],
),
);
}),
),
),
Column(
children: [
Html(data: description)
],
)
// Expanded(
// child: Padding(
// padding: const EdgeInsets.symmetric(horizontal: 20),
// child: ListView.builder(
// shrinkWrap: true,
// itemCount: 8,
// itemBuilder: (context, index) {
// if (index == 7) {
// return Padding(
// padding: const EdgeInsets.only(bottom: 20.0),
// child: Row(
// children: [
// InkWell(
// onTap: () {
// print('Previous');
// },
// child: Row(
// children: [
// Icon(
// Icons.keyboard_arrow_left_rounded,
// size: 25,
// color: ColorConstants.kPrimaryColor,
// ),
// SizedBox(width: 8),
// Text(
// 'Previous',
// style: TextStyle(
// fontSize: 16,
// color: ColorConstants.kPrimaryColor),
// ),
// ],
// ),
// ),
// Spacer(),
// InkWell(
// onTap: () {
// print('Next');
// },
// child: Row(
// children: [
// Text(
// 'Next',
// style: TextStyle(
// fontSize: 16,
// color: ColorConstants.kPrimaryColor),
// ),
// SizedBox(width: 8),
// Icon(
// Icons.keyboard_arrow_right_rounded,
// size: 25,
// color: ColorConstants.kPrimaryColor,
// ),
// ],
// ),
// ),
// ],
// ),
// );
// }
// return Padding(
// padding: const EdgeInsets.only(bottom: 22.0),
// child: Row(
// mainAxisAlignment: MainAxisAlignment.start,
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Container(
// decoration: const BoxDecoration(
// color: ColorConstants.kPrimaryColor,
// shape: BoxShape.circle,
// ),
// child: Padding(
// padding: const EdgeInsets.all(8.0),
// child: Text(
// '${index + 1}',
// style: const TextStyle(
// fontSize: 16,
// color: ColorConstants.kBlack,
// fontFamily: 'SFPRO',
// fontWeight: FontWeight.w800,
// ),
// ),
// ),
// ),
// const SizedBox(width: 10),
// Expanded(
// child: Text(
// 'The next time you find yourself continuously running things over in your mind, take note of how it affects your mood.',
// style: TextStyle(
// fontSize: 14,
// color: Color(0xffD9D9D9),
// ),
// ),
// ),
// ],
// ),
// );
// }),
// ),
// ),
],
),
);

View File

@@ -1,10 +1,16 @@
// ignore_for_file: prefer_const_constructors
import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:gsp_app/modals/blog_model.dart';
import 'package:gsp_app/repository/services/blog_services.dart';
import 'package:gsp_app/views/components/page_animation.dart';
import 'package:intl/intl.dart';
import '../../../modals/search_blogModel.dart';
import '../../components/appbar.dart';
import '../../theme.dart';
import 'blog_inner.dart';
@@ -16,278 +22,526 @@ class BlogMain extends StatefulWidget {
State<BlogMain> createState() => _BlogMainState();
}
List<String> tabTitles = [
'All',
'About Getsetfit',
'Workout',
'Functional Training'
];
class _BlogMainState extends State<BlogMain> with TickerProviderStateMixin {
// final CategoryViewModel categoryViewModel = Get.put(CategoryViewModel());
StreamController<SearchModel> blogsController = StreamController();
@override
Widget build(BuildContext context) {
TabController tabController = TabController(length: 4, vsync: this);
return Scaffold(
backgroundColor: ColorConstants.kBlack,
appBar: PreferredSize(
preferredSize: const Size.fromHeight(60),
child: CustomAppBars(titleHead: 'Blog'),
),
body: Padding(
padding: const EdgeInsets.symmetric(horizontal: 15.0),
child: Column(
children: [
SizedBox(
height: 35,
child: TabBar(
isScrollable: true,
labelPadding:
const EdgeInsets.symmetric(horizontal: 20, vertical: 0),
labelColor: ColorConstants.kBlack,
unselectedLabelColor: Colors.white,
labelStyle: const TextStyle(
color: ColorConstants.kBlack,
fontFamily: 'SFPRO',
fontSize: 16,
),
unselectedLabelStyle: const TextStyle(
fontWeight: FontWeight.normal,
fontFamily: 'SFPRO',
color: ColorConstants.kWhite,
),
indicator: BoxDecoration(
color: ColorConstants.kWhite,
borderRadius: BorderRadius.circular(50),
),
controller: tabController,
tabs: const <Widget>[
Tab(
text: 'All',
),
Tab(
text: 'About Getsetfit',
),
Tab(
text: 'Workout',
),
Tab(
text: 'Functional Training',
),
],
),
),
SizedBox(height: 15),
CupertinoSearchTextField(
decoration: BoxDecoration(
color: Color(0xff212121),
borderRadius: BorderRadius.circular(30),
),
padding: EdgeInsetsDirectional.fromSTEB(10, 15, 10, 15),
// prefixInsets
prefixInsets: EdgeInsetsDirectional.fromSTEB(10, 10, 0, 10),
itemSize: 25,
style: TextStyle(
fontSize: 16,
color: ColorConstants.kWhite,
),
),
SizedBox(height: 30),
Expanded(
// height: Get.size.height - 230,
child: TabBarView(
controller: tabController,
body: FutureBuilder<void>(
future: BlogService().FetchCategory(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(child: CircularProgressIndicator());
} else if (snapshot.hasError) {
return Center(child: Text('Error: ${snapshot.error}'));
} else {
final tabController = blogcategory!.result!.category!.isNotEmpty
? TabController(
length: blogcategory!.result!.category!.length, vsync: this)
: null;
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 15.0),
child: Column(
children: [
allWidgetTab(),
allWidgetTab(),
allWidgetTab(),
allWidgetTab(),
if (blogcategory!.result!.category!.isNotEmpty) ...[
SizedBox(
height: 35,
child: TabBar(
isScrollable: true,
labelPadding: const EdgeInsets.symmetric(
horizontal: 20, vertical: 0),
labelColor: ColorConstants.kBlack,
unselectedLabelColor: Colors.white,
labelStyle: const TextStyle(
color: ColorConstants.kBlack,
fontFamily: 'SFPRO',
fontSize: 16,
),
unselectedLabelStyle: const TextStyle(
fontWeight: FontWeight.normal,
fontFamily: 'SFPRO',
color: ColorConstants.kWhite,
),
indicator: BoxDecoration(
color: ColorConstants.kWhite,
borderRadius: BorderRadius.circular(50),
),
controller: tabController,
tabs: List.generate(
blogcategory!.result!.category!.length,
(index) => Tab(
text: blogcategory!
.result!.category![index].categoryName,
))),
),
SizedBox(height: 15),
Expanded(
child: TabBarView(
controller: tabController,
children: List.generate(
blogcategory!.result!.category!.length,
(index) => NewsBody(
categoryIndex: blogcategory!
.result!.category![index].id,
))),
)
]
],
),
),
],
),
);
}
},
),
);
}
allWidgetTab() {
// Widget allWidgetTab(Category category) {
// return Column(
// crossAxisAlignment: CrossAxisAlignment.start,
// children: [
// Text(
// 'Top News',
// style: TextStyle(
// fontSize: 22,
// color: Color(0xff858585),
// fontFamily: 'SFPRO',
// fontWeight: FontWeight.w700,
// ),
// ),
// SizedBox(height: 15),
// (category.articles != null && category.articles!.isNotEmpty)
// ? SizedBox(
// height: 280,
// child: ListView.builder(
// itemCount: category.articles!.length,
// scrollDirection: Axis.horizontal,
// itemBuilder: (context, index) {
// var updatedAtTime = category.articles![index].updatedAt;
// DateTime updatedAt = DateTime.parse(updatedAtTime!);
// Duration difference =
// DateTime.now().difference(updatedAt);
// String formattedDifference =
// DateFormat().add_Hm().format(updatedAt);
// return philosophyCard(
// ArticleName: category.articles![index].shortText ?? '',
// shortText: category.articles![index].articleName ?? '',
// image_upload:
// category.articles![index].thumbnailPath ?? '',
// updatedAtTime: formattedDifference,
// articleid: category.articles![index],
// );
// }),
// )
// : Center(child: Text('No Articles found')),
// SizedBox(height: 10),
// Expanded(
// child: ListView.builder(
// itemCount: category.articles!.length,
// physics: ScrollPhysics(),
// shrinkWrap: true,
// itemBuilder: (context, index) => cardList(
// articleName: category.articles![index].articleName ?? '',
// thumbnailimg: category.articles![index].thumbnailPath ?? '',
// updatedTime: category.articles![index].updatedAt ?? '',
// articleid: category.articles![index],
// ),
// ),
// )
// ],
// );
// }
}
class NewsBody extends StatefulWidget {
NewsBody({super.key, required this.categoryIndex});
int? categoryIndex;
@override
State<NewsBody> createState() => _NewsBodyState();
}
class _NewsBodyState extends State<NewsBody> {
TextEditingController searchController = TextEditingController();
StreamController<SearchModel> blogsController = StreamController();
@override
void initState() {
var updata = {"article_name": null, "category_id": widget.categoryIndex};
BlogService()
.blogSearchAndFilter(updata, streamController: blogsController);
super.initState();
}
@override
void dispose() {
// TODO: implement dispose
blogsController.close();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'Top News',
style: TextStyle(
fontSize: 22,
color: Color(0xff858585),
fontFamily: 'SFPRO',
fontWeight: FontWeight.w700,
),
),
SizedBox(height: 15),
SizedBox(
height: 280,
child: ListView.builder(
itemCount: 2,
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) => philosophyCard(),
),
),
SizedBox(height: 10),
Expanded(
child: ListView.builder(
itemCount: 10,
physics: ScrollPhysics(),
shrinkWrap: true,
itemBuilder: (context, index) => cardList(),
),
)
CupertinoSearchTextField(
controller: searchController,
decoration: BoxDecoration(
color: Color(0xff212121),
borderRadius: BorderRadius.circular(30),
),
padding: EdgeInsetsDirectional.fromSTEB(10, 15, 10, 15),
prefixInsets: EdgeInsetsDirectional.fromSTEB(10, 10, 0, 10),
itemSize: 25,
style: TextStyle(
fontSize: 16,
color: ColorConstants.kWhite,
),
onChanged: (value) {
BlogService().blogSearchAndFilter({
"article_name": value,
"category_id": widget.categoryIndex,
}, streamController: blogsController);
}),
StreamBuilder<SearchModel>(
stream: blogsController.stream,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
// Display shimmer effect while waiting for data
return Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: const [
Center(child: CircularProgressIndicator()),
],
),
);
} else if (snapshot.hasError) {
// Handle error state
return Center(
child: Text(
'${snapshot.error} occured',
style: TextStyle(fontSize: 18),
),
);
} else {
return (searchArticle?.result != null &&
searchArticle!.result!.isNotEmpty)
? Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(height: 20),
Text(
'Top News',
style: TextStyle(
fontSize: 22,
color: Color(0xff858585),
fontFamily: 'SFPRO',
fontWeight: FontWeight.w700,
),
),
SizedBox(height: 15),
SizedBox(
height: 280,
child: ListView.builder(
itemCount: searchArticle!.result!.length,
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
var updatedAtTime =
searchArticle!.result![index].updatedAt;
DateTime updatedAt =
DateTime.parse(updatedAtTime!);
Duration difference =
DateTime.now().difference(updatedAt);
String formattedDifference =
DateFormat().add_Hm().format(updatedAt);
return philosophyCard(
ArticleName: searchArticle!
.result![index].shortText ??
'',
shortText: searchArticle!
.result![index].articleName ??
'',
image_upload: searchArticle!
.result![index].thumbnailPath ??
'',
updatedAtTime: formattedDifference,
categoryId:
searchArticle!.result![index].id ?? 0,
InnerimageUpload: searchArticle!
.result![index].imageUpload ??
'',
Innertages:
searchArticle!.result![index].tags,
InnerDescription: searchArticle!
.result![index].description,
Innerformattedtime: formattedDifference,
// articleid: widget.category.articles![index],
);
}),
),
SizedBox(height: 10),
Expanded(
child: ListView.builder(
itemCount: searchArticle?.result!.length,
physics: ScrollPhysics(),
shrinkWrap: true,
itemBuilder: (context, index) {
var updatedAtTime = searchArticle!
.result![index].updatedAt;
DateTime updatedAt =
DateTime.parse(updatedAtTime!);
Duration difference =
DateTime.now().difference(updatedAt);
String formattedDifference = DateFormat()
.add_Hm()
.format(updatedAt);
return cardList(
articleName: searchArticle!
.result![index].articleName ??
'',
thumbnailimg: searchArticle!
.result![index].thumbnailPath ??
'',
updatedTime: formattedDifference,
categoryId:
searchArticle!.result![index].id ??
0,
InnerimageUpload: searchArticle!
.result![index].imageUpload ??
'',
Innertages:
searchArticle!.result![index].tags,
InnerDescription: searchArticle!
.result![index].description,
Innerformattedtime: formattedDifference,
// articleid: widget.category.articles![index],
);
}))
],
),
)
: Expanded(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Center(child: Text('No Articles found')),
],
),
);
}
}),
],
);
}
}
philosophyCard() {
return OpenContainerWrappers(
closeBuild: Padding(
padding: const EdgeInsets.only(right: 20.0),
child: SizedBox(
width: Get.size.width * 0.8,
child: Column(
children: [
Container(
height: 190,
// width: Get.size.width * 0.8,
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/image/blog/philosophyCard.jpg'),
fit: BoxFit.fitWidth,
alignment: Alignment.topCenter,
),
borderRadius: BorderRadius.circular(20),
philosophyCard({
required String shortText,
required String ArticleName,
required String image_upload,
required String updatedAtTime,
required int categoryId,
required InnerimageUpload,
required Innertages,
required InnerDescription,
required Innerformattedtime,
}) {
return OpenContainerWrappers(
closeBuild: Padding(
padding: const EdgeInsets.only(right: 20.0),
child: SizedBox(
width: Get.size.width * 0.8,
child: Column(
children: [
Container(
height: 190,
// width: Get.size.width * 0.8,
decoration: BoxDecoration(
image: DecorationImage(
image: NetworkImage(image_upload),
fit: BoxFit.fitWidth,
alignment: Alignment.topCenter,
),
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Align(
alignment: Alignment.topRight,
child: Container(
decoration: BoxDecoration(
color: ColorConstants.kBlack,
borderRadius: BorderRadius.circular(15),
),
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 12.0, vertical: 7),
child: Text(
'Philosophy',
style: TextStyle(
fontSize: 14,
color: Color(0xffD9D9D9),
fontFamily: 'SFPRO',
),
borderRadius: BorderRadius.circular(20),
),
child: Padding(
padding: const EdgeInsets.all(10.0),
child: Align(
alignment: Alignment.topRight,
child: Container(
decoration: BoxDecoration(
color: ColorConstants.kBlack,
borderRadius: BorderRadius.circular(15),
),
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 12.0, vertical: 7),
child: Text(
'Philosophy',
style: TextStyle(
fontSize: 14,
color: Color(0xffD9D9D9),
fontFamily: 'SFPRO',
),
),
),
),
),
),
SizedBox(height: 10),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0),
child: Column(
children: [
Row(
children: const [
Text(
'Trending',
style: TextStyle(
fontSize: 14,
color: Color(0xff919191),
fontFamily: 'SFPRO',
),
),
SizedBox(height: 10),
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0),
child: Column(
children: [
Row(
children: [
Text(
shortText,
style: TextStyle(
fontSize: 14,
color: Color(0xff919191),
fontFamily: 'SFPRO',
),
Spacer(),
Text(
'2 days ago',
style: TextStyle(
fontSize: 14,
color: Color(0xff919191),
fontFamily: 'SFPRO',
),
),
],
),
SizedBox(height: 10),
Text(
'8 Steps To Help You Stop Overthinking Everything',
style: TextStyle(
fontSize: 18,
color: ColorConstants.kWhite,
fontFamily: 'SFPRO',
),
Spacer(),
Text(
updatedAtTime,
style: TextStyle(
fontSize: 14,
color: Color(0xff919191),
fontFamily: 'SFPRO',
),
),
],
),
SizedBox(height: 10),
Text(
ArticleName,
style: TextStyle(
fontSize: 18,
color: ColorConstants.kWhite,
fontFamily: 'SFPRO',
),
],
),
),
],
),
)
),
)
],
),
),
),
openBuild: BlogDetails(
articleId: categoryId,
imageUpload: InnerimageUpload,
tages: Innertages,
description: InnerDescription,
formattedtime: Innerformattedtime,
));
}
cardList({
required String thumbnailimg,
required String articleName,
required String updatedTime,
required int categoryId,
required InnerimageUpload,
required Innertages,
required InnerDescription,
required Innerformattedtime,
// required Articles articleid,
}) {
return OpenContainerWrappers(
closeBuild: Container(
color: ColorConstants.kBlack,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 15),
child: InkWell(
// onTap: (() => Get.to(() => BlogDetails())),
child: Row(
children: [
Expanded(
flex: 0,
child: Container(
width: 60,
height: 60,
decoration: BoxDecoration(
shape: BoxShape.circle,
border: Border.all(
width: 1,
color: const Color(0xff707070),
),
),
child: Image.network(thumbnailimg, fit: BoxFit.fill),
// Image.asset(
// 'assets/image/avatar.png',
// ),
),
),
const SizedBox(width: 10),
Expanded(
// flex: 2,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
articleName,
// 'What is the difference between fat loss and weight loss? What is it you want?',
style: TextStyle(
fontSize: 16,
color: Color(0xffD9D9D9),
fontFamily: 'SFPRO',
),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
SizedBox(height: 8),
Text(
updatedTime,
// 'May 03, 2022 11:33 AM IST',
style: TextStyle(
fontSize: 14,
color: Color(0xff858585),
fontFamily: 'SFPRO'),
)
],
),
),
],
),
),
),
openBuild: BlogDetails());
}
cardList() {
return OpenContainerWrappers(
closeBuild: Container(
color: ColorConstants.kBlack,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 15),
child: InkWell(
// onTap: (() => Get.to(() => BlogDetails())),
child: Row(
children: [
Expanded(
flex: 0,
child: Container(
width: 60,
height: 60,
decoration: BoxDecoration(
border: Border.all(
width: 1,
color: const Color(0xff707070),
),
borderRadius: BorderRadius.circular(100),
),
child: Image.asset(
'assets/image/avatar.png',
),
),
),
const SizedBox(width: 10),
Expanded(
// flex: 2,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: const [
Text(
'What is the difference between fat loss and weight loss? What is it you want?',
style: TextStyle(
fontSize: 16,
color: Color(0xffD9D9D9),
fontFamily: 'SFPRO',
),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
SizedBox(height: 8),
Text(
'May 03, 2022 11:33 AM IST',
style: TextStyle(
fontSize: 14,
color: Color(0xff858585),
fontFamily: 'SFPRO'),
)
],
),
),
],
),
),
),
),
openBuild: BlogDetails());
}
),
openBuild: BlogDetails(
articleId: categoryId,
imageUpload: InnerimageUpload,
tages: Innertages,
description: InnerDescription,
formattedtime: Innerformattedtime,
));
}

View File

@@ -1,19 +1,122 @@
import 'dart:developer';
import 'package:another_flushbar/flushbar.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:gsp_app/repository/services/feedbackServices.dart';
import 'package:gsp_app/views/pages/blog/blog_main.dart';
import 'package:gsp_app/views/pages/home/home.dart';
import '../../../api/ResponseManager.dart';
import '../../components/appbar.dart';
import '../../theme.dart';
class FeedBack extends StatelessWidget {
class FeedBack extends StatefulWidget {
const FeedBack({Key? key}) : super(key: key);
@override
State<FeedBack> createState() => _FeedBackState();
}
class _FeedBackState extends State<FeedBack> {
String? message;
int? reaction;
RxBool active = false.obs;
RxBool active1 = false.obs;
@override
void initState() {
// TODO: implement initState
// _textarea.text = getFeedback!.message;
if (getFeedback!.result != null && getFeedback!.result!.isNotEmpty) {
int lastIndex = getFeedback!.result!.length - 1;
reaction = getFeedback!.result![lastIndex].reaction;
if (reaction == 0) {
active.value = true;
active1.value = false;
} else if (reaction == 1) {
active.value = false;
active1.value = true;
}
}
super.initState();
}
@override
Widget build(BuildContext context) {
RxBool active = false.obs;
RxBool active1 = false.obs;
RxBool feedActive = true.obs;
int lastIndex = getFeedback!.result!.length - 1;
for (int i = lastIndex; i <= lastIndex; i++) {
reaction = getFeedback!.result![i].reaction;
message = getFeedback!.result![i].message;
// Your code here
}
// RxBool feedActive = true.obs;
GlobalKey<FormState> _formkey = GlobalKey<FormState>();
final TextEditingController _textarea = TextEditingController();
// RxString getapidata = ''.obs;
// RxString getapidata2 = ''.obs;
_feedbackbutton() async {
if (!active.value && !active1.value) {
print("Please select a smile container before submitting.");
Flushbar(
backgroundColor: Colors.red,
message: 'select a feedback!',
duration: Duration(seconds: 3),
).show(context);
return;
}
var data = '';
if (active.value == true) {
data = '0';
} else if (active1.value == true) {
data = '1';
}
final isValid = _formkey.currentState?.validate();
if (isValid!) {
Map<String, String> updata = {
"user_id": '',
"message": _textarea.text,
"reaction": data,
};
final resp = await FeedbackServices().feedbackApi(updata);
if (resp.status == ResponseStatus.SUCCESS) {
// btnController.reset();
Get.to(() => Home());
print('data---$data');
Flushbar(
backgroundColor: Colors.green,
message: 'Your feedback is sent successfully!',
duration: Duration(seconds: 3),
).show(context);
// setState(() {
// // _formkey = GlobalKey<FormState>();
// });
// _textarea.clear();
} else if (resp.status == ResponseStatus.FAILED) {
if (resp.data["success"] == false) {
log("failed error msg is :- ${resp.data} ");
Get.snackbar("Error", resp.data["message"],
margin: EdgeInsets.all(8),
snackStyle: SnackStyle.FLOATING,
snackPosition: SnackPosition.BOTTOM);
} else {
Get.snackbar("Error", "connection failed",
margin: EdgeInsets.all(8),
snackStyle: SnackStyle.FLOATING,
snackPosition: SnackPosition.BOTTOM);
}
}
}
}
return Scaffold(
backgroundColor: ColorConstants.kBlack,
appBar: PreferredSize(
@@ -23,169 +126,186 @@ class FeedBack extends StatelessWidget {
body: SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0),
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 30),
child: Row(
children: [
Expanded(
flex: 1,
child: GestureDetector(
onTap: () {
active.value = !active.value;
active1.value = false;
},
child: Obx(
() => active.value
? SvgPicture.asset(
'assets/image/feedback/sad_active.svg',
)
: SvgPicture.asset(
'assets/image/feedback/sad_unactive.svg',
),
),
),
),
Expanded(
child: Form(
key: _formkey,
child: Column(
children: [
Padding(
padding: const EdgeInsets.symmetric(horizontal: 30),
child: Row(
children: [
Expanded(
flex: 1,
child: GestureDetector(
onTap: () {
active1.value = !active1.value;
active.value = false;
// active.value =false;
active.value = !active.value;
active1.value = false;
print('activevaluebad---${active.value}');
},
child: Obx(
() => active1.value
? SvgPicture.asset(
'assets/image/feedback/happy_active.svg',
)
: SvgPicture.asset(
'assets/image/feedback/happy_unactive.svg',
),
child: Obx(() {
// var data = isActive == '1';
return
// data == active.value
active.value
? SvgPicture.asset(
'assets/image/feedback/sad_active.svg',
)
: SvgPicture.asset(
'assets/image/feedback/sad_unactive.svg',
);
}),
),
),
Expanded(
flex: 1,
child: GestureDetector(
onTap: () {
active1.value = !active1.value;
active.value = false;
print('active1valueGood---${active1.value}');
},
child: Obx(() {
// var data1 = isActive == '0';
// print('data of good emoji$data1');
return
// data1 == active1.value
active1.value
? SvgPicture.asset(
'assets/image/feedback/happy_active.svg',
)
: SvgPicture.asset(
'assets/image/feedback/happy_unactive.svg',
);
}),
)),
],
),
),
const SizedBox(height: 30),
TextFormField(
style: const TextStyle(
color: Color(0xffffffff),
fontFamily: 'Helvetica',
fontSize: 16,
fontWeight: FontWeight.w400,
),
maxLines: 12,
decoration: InputDecoration(
fillColor: const Color(0xff212121),
hintText: getFeedback!.result!.isNotEmpty
? message
: "Type your feedback...",
contentPadding: const EdgeInsets.only(
top: 20,
bottom: 20,
left: 20,
right: 25,
),
hintStyle: TextStyle(
fontSize: 16,
color: const Color(0xffffffff).withOpacity(0.6),
fontFamily: 'Helvetica',
),
filled: true,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
errorStyle: const TextStyle(
fontSize: 16.0,
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
isDense: true,
),
controller: _textarea,
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter your feedback';
}
return null;
},
onSaved: (name) {},
),
const SizedBox(height: 30),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
InkWell(
onTap: () {},
child: Container(
width: Get.width * 0.3,
height: 50,
decoration: BoxDecoration(
color: const Color(0xff212121),
borderRadius: BorderRadius.circular(30),
),
child: const Center(
child: Text(
'Later',
style: TextStyle(
fontSize: 16,
color: Color(0xff6A6A6A),
fontWeight: FontWeight.w500,
fontFamily: 'Poppins',
),
),
)),
),
),
),
// const Spacer(),
InkWell(
onTap: () {
_feedbackbutton();
},
child: Container(
width: Get.width * 0.3,
height: 50,
decoration: BoxDecoration(
color: ColorConstants.kPrimaryColor,
borderRadius: BorderRadius.circular(30),
),
child: const Center(
child: Text(
'Submit',
style: TextStyle(
fontSize: 16,
color: Color(0xff000000),
fontWeight: FontWeight.w500,
fontFamily: 'Poppins',
),
),
),
),
),
],
),
),
const SizedBox(height: 30),
TextFormField(
style: const TextStyle(
color: Color(0xffffffff),
fontFamily: 'Helvetica',
fontSize: 16,
fontWeight: FontWeight.w400,
),
maxLines: 12,
decoration: InputDecoration(
fillColor: const Color(0xff212121),
hintText: "Type your feedback...",
contentPadding: const EdgeInsets.only(
top: 20,
bottom: 20,
left: 20,
right: 25,
),
hintStyle: TextStyle(
fontSize: 16,
color: const Color(0xffffffff).withOpacity(0.6),
fontFamily: 'Helvetica',
),
filled: true,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
errorStyle: const TextStyle(
fontSize: 16.0,
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(20),
borderSide: const BorderSide(
width: 1,
color: Colors.transparent,
),
),
isDense: true,
),
controller: _textarea,
validator: (value) {
if (value == null || value.isEmpty) {
return 'Please enter your feedback';
}
return null;
},
onSaved: (name) {},
),
const SizedBox(height: 30),
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
InkWell(
onTap: () {},
child: Container(
width: Get.width * 0.3,
height: 50,
decoration: BoxDecoration(
color: const Color(0xff212121),
borderRadius: BorderRadius.circular(30),
),
child: const Center(
child: Text(
'Later',
style: TextStyle(
fontSize: 16,
color: Color(0xff6A6A6A),
fontWeight: FontWeight.w500,
fontFamily: 'Poppins',
),
),
),
),
),
// const Spacer(),
InkWell(
onTap: () {},
child: Container(
width: Get.width * 0.3,
height: 50,
decoration: BoxDecoration(
color: ColorConstants.kPrimaryColor,
borderRadius: BorderRadius.circular(30),
),
child: const Center(
child: Text(
'Submit',
style: TextStyle(
fontSize: 16,
color: Color(0xff000000),
fontWeight: FontWeight.w500,
fontFamily: 'Poppins',
),
),
),
),
),
],
),
const SizedBox(height: 50),
],
const SizedBox(height: 50),
],
),
),
),
),

View File

@@ -14,6 +14,7 @@ import 'package:gsp_app/views/pages/splash.dart';
import 'package:workmanager/workmanager.dart';
// import 'package:flutter_background_service_android/flutter_background_service_android.dart';
import '../../../repository/services/feedbackServices.dart';
import '/api/base_manager.dart' as cresponse;
import 'package:animations/animations.dart';
@@ -280,15 +281,16 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
bool? showMoodOMeterAfterAppTour;
var bannerMoodOMeterFutureGroup = FutureGroup();
@override
void initState() {
bannerMoodOMeterFutureGroup.add(MoodOMeterService().getMoodOMeter());
bannerMoodOMeterFutureGroup.add(ManageBannerService().fetchManageBanner());
bannerMoodOMeterFutureGroup.add(FeedbackServices().getFeedbackApi());
QuizeApis().showQuiz();
bannerMoodOMeterFutureGroup.close();
// print('CURRENT POSITION OF USER ${appDataController.selfPosition.value}');
// print('feeadback api hit --- $feedbackGetGrp');
_animationController = AnimationController(
duration: const Duration(milliseconds: 600),
vsync: this,
@@ -653,7 +655,7 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
body: showMoodOMeterAfterAppTour ?? false
? HomePageSkeleton()
: FutureBuilder<dynamic>(
: FutureBuilder(
future: bannerMoodOMeterFutureGroup
.future, //MoodOMeterService().getMoodOMeter(),
builder: (context, snapshot) {
@@ -1130,6 +1132,7 @@ class _BannerContentState extends State<BannerContent> {
int _current = 0;
late List<Widget> bannerContent;
var shortClipNLikesFutureGrp = FutureGroup();
final box = GetStorage();
RxBool showPodcast = true.obs;
List<dynamic> list = [

View File

@@ -8,6 +8,7 @@ import 'package:get_storage/get_storage.dart';
import 'package:gsp_app/modals/manage_banner_model.dart';
import 'package:gsp_app/repository/response_data.dart';
import 'package:gsp_app/repository/services/cj/manage_banner_service.dart';
import 'package:gsp_app/repository/services/feedbackServices.dart';
import 'package:gsp_app/view_model/app_data_controller.dart';
import 'package:gsp_app/views/pages/bioMaker/add_scale.dart';
import 'package:gsp_app/views/pages/signIn/sign_in.dart';
@@ -41,6 +42,7 @@ class _HomePageState extends State<HomePage> {
void initState() {
listenDynamicLinks();
callingBannerApiForHomeScreen();
super.initState();
}
@@ -94,6 +96,15 @@ class _HomePageState extends State<HomePage> {
});
}
// void callingFeedbackApi() {
// FeedbackServices().getFeedbackApi().then((resData) {
// if (resData == ResponseStatus.SUCCESS) {
// //MANAGE BANNER SUCCESS
// getFeedback = resData.data;
// }
// });
// }
void callingBannerApiForHomeScreen() {
print("calling custom Banner api");
ManageBannerService().fetchManageBanner().then((resModel) {

View File

@@ -1,6 +1,12 @@
import 'dart:developer';
import 'package:another_flushbar/flushbar.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import '../../../api/ResponseManager.dart';
import '../../../repository/services/rate_usServices.dart';
import '../../components/appbar.dart';
import '../../components/btn.dart';
import '../../theme.dart';
@@ -12,10 +18,54 @@ class Ratings extends StatefulWidget {
State<Ratings> createState() => _RatingsState();
}
var _rating = 0;
class _RatingsState extends State<Ratings> {
var _rating = 0;
@override
Widget build(BuildContext context) {
_RateUsbutton() async {
if (_rating == 0) {
Flushbar(
backgroundColor: Colors.red,
message: 'Rate your experience!',
duration: Duration(seconds: 3),
).show(context);
return;
}
Map<String, String> updata = {
"rate_us": _rating.toString(),
};
final resp = await RateUsServices().postRateUs(updata);
if (resp.status == ResponseStatus.SUCCESS) {
// btnController.reset();
// Get.to(() => BlogMain());
Flushbar(
backgroundColor: Colors.green,
message: 'Your feedback is sent successfully!',
duration: Duration(seconds: 3),
).show(context);
setState(() {
_rating = 0;
});
// _textarea.clear();
} else if (resp.status == ResponseStatus.FAILED) {
if (resp.data["success"] == false) {
log("failed error msg is :- ${resp.data} ");
Get.snackbar("Error", resp.data["message"],
margin: EdgeInsets.all(8),
snackStyle: SnackStyle.FLOATING,
snackPosition: SnackPosition.BOTTOM);
} else {
Get.snackbar("Error", "connection failed",
margin: EdgeInsets.all(8),
snackStyle: SnackStyle.FLOATING,
snackPosition: SnackPosition.BOTTOM);
}
}
}
return Scaffold(
backgroundColor: ColorConstants.kBlack,
appBar: PreferredSize(
@@ -59,6 +109,7 @@ class _RatingsState extends State<Ratings> {
onPressed: () {
setState(() {
_rating = index + 1;
print('rating------$_rating');
});
},
icon: index < _rating
@@ -79,7 +130,11 @@ class _RatingsState extends State<Ratings> {
const SizedBox(height: 20),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0),
child: FullWdtBtn(btnText: 'Submit', onTap: () {}),
child: FullWdtBtn(
btnText: 'Submit',
onTap: () {
_RateUsbutton();
}),
),
const Spacer(
flex: 2,

View File

@@ -50,24 +50,24 @@ class _SettingsState extends State<Settings> {
Get.to(() => const Accounts());
},
),
// const SizedBox(height: 10),
// accountsTab(
// 'Rate Us',
// () {
// Get.to(
// () => const Ratings(),
// );
// },
// ),
// const SizedBox(height: 10),
// accountsTab(
// 'Feedback',
// () {
// Get.to(
// () => const FeedBack(),
// );
// },
// ),
const SizedBox(height: 10),
accountsTab(
'Rate Us',
() {
Get.to(
() => const Ratings(),
);
},
),
const SizedBox(height: 10),
accountsTab(
'Feedback',
() {
Get.to(
() => const FeedBack(),
);
},
),
const SizedBox(height: 10),
Row(
children: [

View File

@@ -21,6 +21,7 @@ import '../../view_model/home_controller.dart';
import '../../repository/services/complete_profile_service.dart';
import '../../repository/services/edit_profile_service.dart';
import '../theme.dart';
import 'blog/blog_main.dart';
import 'contact_us.dart';
import 'faq/about_gsf.dart';
import 'faq/about_gsf_accordian.dart';
@@ -192,14 +193,15 @@ class _AppDrawerState extends State<AppDrawer> {
),
false),
const SizedBox(height: 15),
// menuWidget(
// 'news_articles',
// 'News & Articles',
// () => Get.to(
// () => const BlogMain(),
// ),
// ),
// const SizedBox(height: 15),
menuWidget(
'news_articles',
'News & Articles',
() => Get.to(
() => const BlogMain(),
),
false
),
const SizedBox(height: 15),
// menuWidget(
// 'instagram',
// 'GSF Instagram Handle',

View File

@@ -3,7 +3,7 @@ description: A new Flutter project.
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
publish_to: "none" # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
@@ -30,7 +30,6 @@ dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.2
@@ -53,12 +52,12 @@ dependencies:
fl_chart: ^0.55.2
vimeo_video_player:
get_storage: ^2.0.3
animations: ^2.0.2
animations: ^2.0.2
lottie:
just_audio: ^0.9.30
audio_video_progress_bar:
rxdart: ^0.27.7
dropdown_button2:
dropdown_button2:
connectivity_plus: ^4.0.2
local_auth: ^2.1.3
shared_preferences: ^2.0.16
@@ -104,7 +103,7 @@ dependencies:
flutter_custom_tabs: ^1.0.4
pedometer: ^4.0.1
syncfusion_flutter_charts: ^20.2.36
syncfusion_flutter_pdfviewer: any
syncfusion_flutter_pdfviewer: any
flutter_cache_manager: ^3.3.1
animated_horizontal_calendar: ^0.0.3
firebase_crashlytics: any
@@ -118,14 +117,12 @@ dependencies:
flutter_bloc: ^8.1.2
video_player: ^2.6.1
flutter_isolate: ^2.0.2
injectable: ^1.4.1
injectable: ^1.4.1
# flutter_launcher_icons: ^0.12.0
# dependency_overrides:
# win32: '4.0.0' # Use a compatible version
dev_dependencies:
flutter_test:
sdk: flutter
@@ -155,7 +152,6 @@ flutter_icons:
# The following section is specific to Flutter.
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
@@ -163,31 +159,31 @@ flutter:
# To add assets to your application, add an assets section, like this:
assets:
- assets/image/
- assets/image/profile/
- assets/image/feedback_img/
- assets/image/menuicon/
- assets/image/sidebarIcons/
- assets/image/profileIcons/
- assets/image/podcast/
- assets/image/faq/
- assets/image/feedback/
- assets/image/blog/
- assets/image/setting/
- assets/image/courses/
- assets/audio/
- assets/image/quiz_imgs/
- assets/image/mood_icons/active/
- assets/image/mood_icons/inactive/
- assets/image/badges/
- assets/image/arrows/
- assets/image/filter_leaderboard/
- assets/image/filter_leaderboard/filters/
- assets/image/filter_leaderboard/gender/
- assets/image/filter_leaderboard/date_range/
- assets/image/filter_leaderboard/group_level/
- assets/image/overview_guide/
- assets/lottie/
- assets/image/
- assets/image/profile/
- assets/image/feedback_img/
- assets/image/menuicon/
- assets/image/sidebarIcons/
- assets/image/profileIcons/
- assets/image/podcast/
- assets/image/faq/
- assets/image/feedback/
- assets/image/blog/
- assets/image/setting/
- assets/image/courses/
- assets/audio/
- assets/image/quiz_imgs/
- assets/image/mood_icons/active/
- assets/image/mood_icons/inactive/
- assets/image/badges/
- assets/image/arrows/
- assets/image/filter_leaderboard/
- assets/image/filter_leaderboard/filters/
- assets/image/filter_leaderboard/gender/
- assets/image/filter_leaderboard/date_range/
- assets/image/filter_leaderboard/group_level/
- assets/image/overview_guide/
- assets/lottie/
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
@@ -219,8 +215,8 @@ flutter:
weight: 700
- asset: assets/fonts/Poppins-ExtraBold.ttf
weight: 800
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - asset: fonts/Schyler-Italic.ttf
# style: italic
- family: SFPRO
fonts:
- asset: assets/fonts/FontsFree-Net-SFProText-Light-1.ttf