didvan-app/lib/views/home/new_statistic/stock/metal.dart

149 lines
5.3 KiB
Dart

import 'package:didvan/config/theme_data.dart';
import 'package:didvan/constants/app_icons.dart';
import 'package:didvan/models/new_statistic/metal_model.dart';
import 'package:didvan/views/widgets/didvan/card.dart';
import 'package:didvan/views/widgets/didvan/divider.dart';
import 'package:didvan/views/widgets/didvan/text.dart';
import 'package:flutter/material.dart';
class MetalCard extends StatelessWidget {
final MetalContent metalContent;
const MetalCard({super.key, required this.metalContent});
Color _diffColor(context) => metalContent.data.dt == 'high'
? Theme.of(context).colorScheme.success
: Theme.of(context).colorScheme.error;
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: DidvanCard(
padding: const EdgeInsets.all(8),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
decoration: BoxDecoration(
color: Colors.grey.withOpacity(0.3),
borderRadius: const BorderRadius.all(Radius.circular(4))),
child: Center(
child: DidvanText(
metalContent.title,
style: Theme.of(context).textTheme.bodyLarge,
))),
const DidvanDivider(
verticalPadding: 8,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const DidvanText("قیمت پایانی امروز" " (ریال) "),
DidvanText(metalContent.data.p)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const DidvanText("قیمت پایانی روز گذشته" " (ریال) "),
DidvanText(metalContent.data.y)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const DidvanText("میزان تغییر" " (ریال) "),
Row(
children: [
Icon(
metalContent.data.dt == 'high'
? DidvanIcons.angle_up_regular
: DidvanIcons.angle_down_regular,
size: 14,
color: _diffColor(context),
),
DidvanText(
metalContent.data.d,
color: _diffColor(context),
),
],
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
const DidvanText("میزان تغییر" " (درصد) "),
Row(
children: [
Icon(
metalContent.data.dt == 'high'
? DidvanIcons.angle_up_regular
: DidvanIcons.angle_down_regular,
size: 14,
color: _diffColor(context),
),
DidvanText(
"${metalContent.data.dp}%",
color: _diffColor(context),
),
],
),
],
),
const DidvanDivider(
verticalPadding: 8,
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
DidvanText("خرید حقیقی" " (میلیون سهم) ",
color: Theme.of(context).colorScheme.success),
DidvanText(
metalContent.data.b1,
color: Theme.of(context).colorScheme.success,
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
DidvanText(
"فروش حقیقی" " (میلیون سهم) ",
color: Theme.of(context).colorScheme.error,
),
DidvanText(
metalContent.data.s1,
color: Theme.of(context).colorScheme.error,
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
DidvanText(
"خرید حقوقی" " (میلیون سهم) ",
color: Theme.of(context).colorScheme.success,
),
DidvanText(
metalContent.data.b2,
color: Theme.of(context).colorScheme.success,
)
],
),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
DidvanText("خرید حقیقی" " (میلیون سهم) ",
color: Theme.of(context).colorScheme.error),
DidvanText(metalContent.data.s2,
color: Theme.of(context).colorScheme.error)
],
),
],
),
),
);
}
}