From 3c355d8acf6b88bcadbce6271a935d61ea699141 Mon Sep 17 00:00:00 2001 From: jayesh Date: Tue, 11 Jun 2024 19:47:58 +0530 Subject: [PATCH] fixed stock pecentage change --- lib/view/MainScreen/HomeScreen.dart | 36 ++++++------- .../stockDetails/stock_details_screen.dart | 12 +++-- pubspec.lock | 52 +++++++++++++++---- 3 files changed, 68 insertions(+), 32 deletions(-) diff --git a/lib/view/MainScreen/HomeScreen.dart b/lib/view/MainScreen/HomeScreen.dart index d8d2085..d398b50 100644 --- a/lib/view/MainScreen/HomeScreen.dart +++ b/lib/view/MainScreen/HomeScreen.dart @@ -1,10 +1,6 @@ // import 'package:flutter/material.dart'; -import 'dart:developer'; - -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_html/flutter_html.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_svg/svg.dart'; import 'package:gap/gap.dart'; @@ -15,11 +11,8 @@ import 'package:traderscircuit/Utils/Common/comonGlassmorphicContainer.dart'; import 'package:traderscircuit/Utils/Common/sized_box.dart'; import 'package:traderscircuit/Utils/text.dart'; import 'package:traderscircuit/controller/contact_us_controller.dart'; - -import 'package:traderscircuit/model/HomeModel/home_model.dart'; - import 'package:traderscircuit/controller/products_controller.dart'; - +import 'package:traderscircuit/model/HomeModel/home_model.dart'; import 'package:traderscircuit/resources/routes/route_name.dart'; import 'package:traderscircuit/view/MainScreen/ExploreUnseen.dart'; import 'package:traderscircuit/view/MainScreen/MainScreen.dart'; @@ -39,7 +32,7 @@ class HomeScreen extends StatefulWidget { } class _HomeScreenState extends State { - GlobalKey _scaffoldKey1 = GlobalKey(); + final GlobalKey _scaffoldKey1 = GlobalKey(); RxString userName = "User".obs; HomeModel homeModel = HomeModel(); @@ -69,8 +62,13 @@ class _HomeScreenState extends State { } String calculatePercentageChange(double openPrice, double currentPrice) { - final percentageChange = ((currentPrice - openPrice) / openPrice) * 100; - + double closePrice = 0; + if (currentPrice.toString().contains("-")) { + closePrice = openPrice - currentPrice; + } else { + closePrice = openPrice + currentPrice; + } + final percentageChange = ((closePrice - openPrice) / openPrice) * 100; return percentageChange.toStringAsFixed(2); } @@ -111,7 +109,7 @@ class _HomeScreenState extends State { SizedBox( width: 10.w, ), - Icon( + const Icon( Icons.search, color: Colors.white, ), @@ -174,7 +172,7 @@ class _HomeScreenState extends State { fontFamily: 'hiragino', fontWeight: FontWeight.w500), ), - SizedBox( + const SizedBox( height: 10, ), !homeModel.data!.isUpstoxTokenRefreshed! @@ -208,7 +206,7 @@ class _HomeScreenState extends State { homeModel.data!.indexLiveData!.data! .nSEINDEXNifty50!.ohlc!.open!, homeModel.data!.indexLiveData!.data! - .nSEINDEXNifty50!.lastPrice!, + .nSEINDEXNifty50!.netChange!, ), ), sizedBoxWidth(10.w), @@ -240,7 +238,7 @@ class _HomeScreenState extends State { homeModel.data!.indexLiveData!.data! .nSEINDEXNiftyBank!.ohlc!.open!, homeModel.data!.indexLiveData!.data! - .nSEINDEXNiftyBank!.lastPrice!, + .nSEINDEXNiftyBank!.netChange!, ), ), ], @@ -284,7 +282,7 @@ class _HomeScreenState extends State { 'assets/images/svg/Vector (2).svg'), sizedBoxWidth(10.w), ProfileObj!.data!.isSubscriptionTaken == true - ? SizedBox() + ? const SizedBox() : InkWell( child: text18W500('UNLOCK NOW!'), onTap: () async { @@ -418,7 +416,7 @@ class _HomeScreenState extends State { child: text16W400_DADADA( 'The Beauty and Power of Video')), // sizedBoxWidth(10.w), - SizedBox(width: 4), + const SizedBox(width: 4), InkWell( onTap: () { Get.toNamed(RouteName.contentbytes); @@ -817,7 +815,7 @@ Widget commoncontainer({ sizedBoxWidth(5.w), text16W600(amount), sizedBoxWidth(5.w), - rate.contains("-") + rate.contains("-") || percentageChange.contains("-") ? SvgPicture.asset( 'assets/images/svg/Line 587.svg', height: 15.h, @@ -837,7 +835,7 @@ Widget commoncontainer({ rate.contains("-") ? "$rate ($percentageChange%)" : "+$rate ($percentageChange%)", - clr: rate.contains("-") + clr: rate.contains("-") || percentageChange.contains("-") ? const Color(0xFFFF0000) : rate == "0.0" ? Colors.grey diff --git a/lib/view/MainScreen/stockDetails/stock_details_screen.dart b/lib/view/MainScreen/stockDetails/stock_details_screen.dart index 6be3406..cbae427 100644 --- a/lib/view/MainScreen/stockDetails/stock_details_screen.dart +++ b/lib/view/MainScreen/stockDetails/stock_details_screen.dart @@ -95,7 +95,7 @@ class _StockDetailsScreenState extends State { netChange = dynamicData['net_change'].toString(); _calculatePercentageChange( stockDetailsModel!.data!.stockData!.ohlc!.open!, - stockDetailsModel!.data!.stockData!.lastPrice!); + stockDetailsModel!.data!.stockData!.netChange!); isLoading.value = false; }); @@ -109,7 +109,13 @@ class _StockDetailsScreenState extends State { } void _calculatePercentageChange(double openPrice, double currentPrice) { - final percentageChange = ((currentPrice - openPrice) / openPrice) * 100; + double closePrice = 0; + if (currentPrice.toString().contains("-")) { + closePrice = openPrice - currentPrice; + } else { + closePrice = openPrice + currentPrice; + } + final percentageChange = ((closePrice - openPrice) / openPrice) * 100; percentageDifference = percentageChange.toStringAsFixed(2); } @@ -237,7 +243,7 @@ class _StockDetailsScreenState extends State { netChange = dynamicData['net_change'].toString(); _calculatePercentageChange( stockDetailsModel!.data!.stockData!.ohlc!.open!, - stockDetailsModel!.data!.stockData!.lastPrice!); + stockDetailsModel!.data!.stockData!.netChange!); isLoading.value = false; }); }); diff --git a/pubspec.lock b/pubspec.lock index fe70e15..e8e65be 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -728,6 +728,30 @@ packages: url: "https://pub.dev" source: hosted version: "0.4.9" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: @@ -804,26 +828,26 @@ packages: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" mime: dependency: transitive description: @@ -868,10 +892,10 @@ packages: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_drawing: dependency: transitive description: @@ -1273,10 +1297,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.6.1" timeago: dependency: "direct main" description: @@ -1446,6 +1470,14 @@ packages: url: "https://github.com/kishan06/videoPlayerKB.git" source: git version: "0.0.2" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" wakelock: dependency: transitive description: