fixed stock pecentage change

This commit is contained in:
jayesh
2024-06-11 19:47:58 +05:30
parent eeb5655963
commit 3c355d8acf
3 changed files with 68 additions and 32 deletions

View File

@@ -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<HomeScreen> {
GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
final GlobalKey<ScaffoldState> _scaffoldKey1 = GlobalKey<ScaffoldState>();
RxString userName = "User".obs;
HomeModel homeModel = HomeModel();
@@ -69,8 +62,13 @@ class _HomeScreenState extends State<HomeScreen> {
}
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<HomeScreen> {
SizedBox(
width: 10.w,
),
Icon(
const Icon(
Icons.search,
color: Colors.white,
),
@@ -174,7 +172,7 @@ class _HomeScreenState extends State<HomeScreen> {
fontFamily: 'hiragino',
fontWeight: FontWeight.w500),
),
SizedBox(
const SizedBox(
height: 10,
),
!homeModel.data!.isUpstoxTokenRefreshed!
@@ -208,7 +206,7 @@ class _HomeScreenState extends State<HomeScreen> {
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<HomeScreen> {
homeModel.data!.indexLiveData!.data!
.nSEINDEXNiftyBank!.ohlc!.open!,
homeModel.data!.indexLiveData!.data!
.nSEINDEXNiftyBank!.lastPrice!,
.nSEINDEXNiftyBank!.netChange!,
),
),
],
@@ -284,7 +282,7 @@ class _HomeScreenState extends State<HomeScreen> {
'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<HomeScreen> {
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

View File

@@ -95,7 +95,7 @@ class _StockDetailsScreenState extends State<StockDetailsScreen> {
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<StockDetailsScreen> {
}
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<StockDetailsScreen> {
netChange = dynamicData['net_change'].toString();
_calculatePercentageChange(
stockDetailsModel!.data!.stockData!.ohlc!.open!,
stockDetailsModel!.data!.stockData!.lastPrice!);
stockDetailsModel!.data!.stockData!.netChange!);
isLoading.value = false;
});
});

View File

@@ -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: