Merge pull request #1 from kishan06/priyanka
blog main, feedback and rateus api integration done
This commit is contained in:
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
160
gsf/lib/modals/blog_model.dart
Normal file
160
gsf/lib/modals/blog_model.dart
Normal 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;
|
||||
}
|
||||
}
|
||||
73
gsf/lib/modals/feedbackGetModel.dart
Normal file
73
gsf/lib/modals/feedbackGetModel.dart
Normal 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;
|
||||
}
|
||||
}
|
||||
93
gsf/lib/modals/search_blogModel.dart
Normal file
93
gsf/lib/modals/search_blogModel.dart
Normal 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;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
enum ResponseStatus { success, failed, expired, error }
|
||||
enum ResponseStatus { success, failed, expired, error, SUCCESS }
|
||||
|
||||
class ResponseModel {
|
||||
final ResponseStatus responseStatus;
|
||||
|
||||
79
gsf/lib/repository/services/blog_services.dart
Normal file
79
gsf/lib/repository/services/blog_services.dart
Normal 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();
|
||||
// }
|
||||
// }
|
||||
35
gsf/lib/repository/services/feedbackServices.dart
Normal file
35
gsf/lib/repository/services/feedbackServices.dart
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
17
gsf/lib/repository/services/rate_usServices.dart
Normal file
17
gsf/lib/repository/services/rate_usServices.dart
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// );
|
||||
// }),
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
@@ -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,
|
||||
));
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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: [
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user