Merge pull request #625 from cake-tech/CW-122-Rework-filter-on-the-transactions-list-screen

[CW-122] rework filter on the transactions list screen
This commit is contained in:
Omar Hatem
2022-12-28 20:50:17 +02:00
committed by GitHub
42 changed files with 314 additions and 284 deletions
+4 -12
View File
@@ -1,4 +1,5 @@
import 'dart:ui';
import 'package:cake_wallet/src/widgets/section_divider.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/palette.dart';
@@ -76,10 +77,7 @@ class BaseAlertDialog extends StatelessWidget {
),
)),
),
Container(
width: 1,
color: Theme.of(context).dividerColor,
),
const SectionDivider(),
Expanded(
child: TextButton(
onPressed: actionRight,
@@ -140,10 +138,7 @@ class BaseAlertDialog extends StatelessWidget {
isDividerExists
? Padding(
padding: EdgeInsets.only(top: 16, bottom: 8),
child: Container(
height: 1,
color: Theme.of(context).dividerColor,
),
child: const SectionDivider(),
)
: Offstage(),
Padding(
@@ -152,10 +147,7 @@ class BaseAlertDialog extends StatelessWidget {
)
],
),
Container(
height: 1,
color: Theme.of(context).dividerColor,
),
const SectionDivider(),
actionButtons(context)
],
),
@@ -1,8 +1,8 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class StandartListRow extends StatelessWidget {
StandartListRow(
class ListRow extends StatelessWidget {
ListRow(
{required this.title,
required this.value,
this.titleFontSize = 14,
+13
View File
@@ -0,0 +1,13 @@
import 'package:flutter/material.dart';
class SectionDivider extends StatelessWidget {
const SectionDivider();
@override
Widget build(BuildContext context) {
return Container(
height: 1,
color: Theme.of(context).dividerColor,
);
}
}
+44 -57
View File
@@ -2,42 +2,42 @@ import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class StandardCheckbox extends StatefulWidget {
StandardCheckbox({
Key? key,
required this.value,
this.caption = '',
required this.onChanged})
: super(key: key);
class StandardCheckbox extends StatelessWidget {
StandardCheckbox(
{required this.value,
this.caption = '',
this.gradientBackground = false,
this.borderColor,
this.iconColor,
required this.onChanged});
final bool value;
final String caption;
final bool gradientBackground;
final Color? borderColor;
final Color? iconColor;
final Function(bool) onChanged;
@override
StandardCheckboxState createState() =>
StandardCheckboxState(value, caption, onChanged);
}
class StandardCheckboxState extends State<StandardCheckbox> {
StandardCheckboxState(this.value, this.caption, this.onChanged);
bool value;
String caption;
Function(bool) onChanged;
void changeValue(bool newValue) {
setState(() => value = newValue);
}
@override
Widget build(BuildContext context) {
final baseGradient = LinearGradient(colors: [
Theme.of(context).primaryTextTheme.subtitle1!.color!,
Theme.of(context).primaryTextTheme.subtitle1!.decorationColor!,
], begin: Alignment.centerLeft, end: Alignment.centerRight);
final boxBorder = Border.all(
color: borderColor ?? Theme.of(context).primaryTextTheme.caption!.color!, width: 1.0);
final checkedBoxDecoration = BoxDecoration(
gradient: gradientBackground ? baseGradient : null,
border: gradientBackground ? null : boxBorder,
borderRadius: BorderRadius.all(Radius.circular(8.0)));
final uncheckedBoxDecoration =
BoxDecoration(border: boxBorder, borderRadius: BorderRadius.all(Radius.circular(8.0)));
return GestureDetector(
onTap: () {
value = !value;
onChanged(value);
setState(() {});
},
onTap: () => onChanged(!value),
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
@@ -45,38 +45,25 @@ class StandardCheckboxState extends State<StandardCheckbox> {
Container(
height: 24.0,
width: 24.0,
decoration: BoxDecoration(
border: Border.all(
color: Theme.of(context)
.primaryTextTheme!
.caption!
.color!,
width: 1.0),
borderRadius: BorderRadius.all(
Radius.circular(8.0)),
color: Theme.of(context).backgroundColor),
decoration: value ? checkedBoxDecoration : uncheckedBoxDecoration,
child: value
? Icon(
Icons.check,
color: Colors.blue,
size: 20.0,
)
: Offstage(),
? Icon(
Icons.check,
color: iconColor ?? Colors.blue,
size: 20.0,
)
: Offstage(),
),
if (caption.isNotEmpty) Padding(
padding: EdgeInsets.only(left: 10),
child: Text(
caption,
style: TextStyle(
fontSize: 16.0,
color: Theme.of(context)
.primaryTextTheme!
.headline6!
.color!),
)
)
if (caption.isNotEmpty)
Padding(
padding: EdgeInsets.only(left: 10),
child: Text(
caption,
style: TextStyle(
fontSize: 16.0, color: Theme.of(context).primaryTextTheme!.headline6!.color!),
))
],
),
);
}
}
}
+3 -3
View File
@@ -1,6 +1,6 @@
import 'package:cake_wallet/palette.dart';
import 'package:cake_wallet/src/widgets/standart_list_card.dart';
import 'package:cake_wallet/src/widgets/standart_list_status_row.dart';
import 'package:cake_wallet/src/widgets/standard_list_card.dart';
import 'package:cake_wallet/src/widgets/standard_list_status_row.dart';
import 'package:flutter/material.dart';
class StandardListRow extends StatelessWidget {
@@ -217,7 +217,7 @@ class SectionStandardList extends StatelessWidget {
return Container();
}
if (row is StandartListStatusRow || row is TradeDatailsStandartListCard) {
if (row is StandardListStatusRow || row is TradeDetailsStandardListCard) {
return Container();
}
@@ -2,8 +2,8 @@ import 'package:cake_wallet/palette.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/theme_base.dart';
class TradeDatailsStandartListCard extends StatelessWidget {
TradeDatailsStandartListCard(
class TradeDetailsStandardListCard extends StatelessWidget {
TradeDetailsStandardListCard(
{required this.id,
required this.create,
required this.pair,
@@ -3,8 +3,8 @@ import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator_icon.da
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class StandartListStatusRow extends StatelessWidget {
StandartListStatusRow({required this.title, required this.value});
class StandardListStatusRow extends StatelessWidget {
StandardListStatusRow({required this.title, required this.value});
final String title;
final String value;
@@ -1,17 +1,17 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class StandartSwitch extends StatefulWidget {
const StandartSwitch({required this.value, required this.onTaped});
class StandardSwitch extends StatefulWidget {
const StandardSwitch({required this.value, required this.onTaped});
final bool value;
final VoidCallback onTaped;
@override
StandartSwitchState createState() => StandartSwitchState();
StandardSwitchState createState() => StandardSwitchState();
}
class StandartSwitchState extends State<StandartSwitch> {
class StandardSwitchState extends State<StandardSwitch> {
@override
Widget build(BuildContext context) {
return GestureDetector(