v4.23.2 Release Candidate (#2039)
* v4.23.2 Release Candidate * adjust bottom nav bar height * Adjust gradient and padding * fix blur
Omar Hatem committed
Feb 20, 2025 at 20:24 UTC
e8fdf33a79a858f4f79c292d9ffd36e6b5e8c7b1
9 files changed
+98
-189
assets/text/Monerocom_Release_Notes.txt
+1
-2
@@ -1,4 +1,3 @@
1
-Added passphrase support
2
-Added decentralized cross-chain exchange, Chainflip
1
+Ledger fixes
2
UI enhancements
3
Bug fixes
\ No newline at end of file
assets/text/Release_Notes.txt
+3
-3
@@ -1,5 +1,5 @@
1
-Added Zano wallet support
2
-Added Monero/Wownero passphrase support
3
-Added decentralized cross-chain exchange, Chainflip
1
+Zano enhancements
2
+Ethereum enhancements
3
+Ledger fixes
4
UI enhancements
5
Bug fixes
\ No newline at end of file
lib/src/screens/dashboard/pages/navigation_dock.dart
+78
-168
@@ -18,176 +18,38 @@ class NavigationDock extends StatelessWidget {
18
19
@override
20
Widget build(BuildContext context) {
21
- return dashboardViewModel.settingsStore.currentTheme.type == ThemeType.bright
22
- ? Positioned(
23
- child: Observer(
24
- builder: (_) {
25
- return Container(
26
- alignment: Alignment.bottomCenter,
27
- height: 150,
28
- decoration: BoxDecoration(
29
- gradient: LinearGradient(
30
- begin: Alignment.topCenter,
31
- end: Alignment.bottomCenter,
32
- colors: <Color>[
33
- Theme.of(context)
34
- .extension<DashboardPageTheme>()!
35
- .thirdGradientBackgroundColor
36
- .withAlpha(10),
37
- Theme.of(context)
38
- .extension<DashboardPageTheme>()!
39
- .thirdGradientBackgroundColor
40
- .withAlpha(75),
41
- Theme.of(context)
42
- .extension<DashboardPageTheme>()!
43
- .thirdGradientBackgroundColor
44
- .withAlpha(150),
45
- Theme.of(context)
46
- .extension<DashboardPageTheme>()!
47
- .thirdGradientBackgroundColor,
48
- Theme.of(context)
49
- .extension<DashboardPageTheme>()!
50
- .thirdGradientBackgroundColor
51
- ],
52
- ),
53
- ),
21
+ return Positioned(
22
+ child: Observer(
23
+ builder: (_) {
24
+ return Container(
25
+ height: 150,
26
+ alignment: Alignment.bottomCenter,
27
+ decoration: BoxDecoration(
28
+ gradient: LinearGradient(
29
+ begin: Alignment.topCenter,
30
+ end: Alignment.bottomCenter,
31
+ colors: _getColors(context),
32
+ ),
33
+ ),
34
+ child: Container(
35
+ margin: const EdgeInsets.only(left: 16, right: 16, bottom: 16),
36
+ child: ClipRRect(
37
+ borderRadius: BorderRadius.circular(50),
38
+ child: BackdropFilter(
39
+ filter: ImageFilter.blur(sigmaX: 50, sigmaY: 50),
40
child: Container(
55
- margin: const EdgeInsets.only(left: 16, right: 16, bottom: 16),
56
- child: ClipRRect(
57
- borderRadius: BorderRadius.circular(50),
58
- child: BackdropFilter(
59
- filter: ImageFilter.blur(sigmaX: 50, sigmaY: 50),
60
- child: Container(
61
- height: 75,
62
- decoration: BoxDecoration(
63
- borderRadius: BorderRadius.circular(50.0),
64
- border: Border.all(
65
- color:
66
- Theme.of(context).extension<BalancePageTheme>()!.cardBorderColor,
67
- width: 1,
68
- ),
69
- color: Theme.of(context)
70
- .extension<SyncIndicatorTheme>()!
71
- .syncedBackgroundColor,
72
- ),
73
- child: Container(
74
- padding: EdgeInsets.symmetric(horizontal: 10),
75
- child: Row(
76
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
77
- children: MainActions.all
78
- .where((element) =>
79
- element.canShow?.call(dashboardViewModel) ?? true)
80
- .map(
81
- (action) => Expanded(
82
- child: Semantics(
83
- button: true,
84
- enabled:
85
- (action.isEnabled?.call(dashboardViewModel) ?? true),
86
- child: ActionButton(
87
- key: ValueKey(
88
- 'dashboard_page_${action.name(context)}_action_button_key'),
89
- image: Image.asset(
90
- action.image,
91
- height: 24,
92
- width: 24,
93
- color:
94
- action.isEnabled?.call(dashboardViewModel) ?? true
95
- ? Theme.of(context)
96
- .extension<DashboardPageTheme>()!
97
- .mainActionsIconColor
98
- : Theme.of(context)
99
- .extension<BalancePageTheme>()!
100
- .labelTextColor,
101
- ),
102
- title: action.name(context),
103
- onClick: () async =>
104
- await action.onTap(context, dashboardViewModel),
105
- textColor:
106
- action.isEnabled?.call(dashboardViewModel) ?? true
107
- ? null
108
- : Theme.of(context)
109
- .extension<BalancePageTheme>()!
110
- .labelTextColor,
111
- ),
112
- ),
113
- ),
114
- )
115
- .toList(),
116
- ),
117
- ),
118
- ),
41
+ decoration: BoxDecoration(
42
+ borderRadius: BorderRadius.circular(50.0),
43
+ border: Border.all(
44
+ color: Theme.of(context).extension<BalancePageTheme>()!.cardBorderColor,
45
+ width: 1,
46
),
47
+ color:
48
+ Theme.of(context).extension<SyncIndicatorTheme>()!.syncedBackgroundColor,
49
),
121
- ),
122
- );
123
- },
124
- ),
125
- )
126
- : Positioned(
127
- child: Observer(
128
- builder: (_) {
129
- return Container(
130
- alignment: Alignment.bottomCenter,
131
- height: 150,
132
- decoration: BoxDecoration(
133
- gradient: LinearGradient(
134
- begin: Alignment.topCenter,
135
- end: Alignment.bottomCenter,
136
- colors: <Color>[
137
- Theme.of(context)
138
- .extension<DashboardPageTheme>()!
139
- .thirdGradientBackgroundColor
140
- .withAlpha(5),
141
- Theme.of(context)
142
- .extension<DashboardPageTheme>()!
143
- .thirdGradientBackgroundColor
144
- .withAlpha(50),
145
- Theme.of(context)
146
- .extension<DashboardPageTheme>()!
147
- .thirdGradientBackgroundColor
148
- .withAlpha(125),
149
- Theme.of(context)
150
- .extension<DashboardPageTheme>()!
151
- .thirdGradientBackgroundColor
152
- .withAlpha(150),
153
- Theme.of(context)
154
- .extension<DashboardPageTheme>()!
155
- .thirdGradientBackgroundColor
156
- .withAlpha(200),
157
- Theme.of(context)
158
- .extension<DashboardPageTheme>()!
159
- .thirdGradientBackgroundColor,
160
- Theme.of(context)
161
- .extension<DashboardPageTheme>()!
162
- .thirdGradientBackgroundColor
163
- ],
164
- ),
165
- ),
166
- child: Container(
167
- margin: const EdgeInsets.only(left: 16, right: 16, bottom: 16),
50
child: Container(
169
- height: 75,
170
- decoration: BoxDecoration(
171
- borderRadius: BorderRadius.circular(50.0),
172
- border: Border.all(
173
- color: Theme.of(context).extension<BalancePageTheme>()!.cardBorderColor,
174
- width: 1,
175
- ),
176
- color: Theme.of(context)
177
- .extension<SyncIndicatorTheme>()!
178
- .syncedBackgroundColor,
179
- // boxShadow: [
180
- // BoxShadow(
181
- // color: Theme.of(context)
182
- // .extension<BalancePageTheme>()!
183
- // .cardBorderColor
184
- // .withAlpha(50),
185
- // spreadRadius: dashboardViewModel.getShadowSpread(),
186
- // blurRadius: dashboardViewModel.getShadowBlur())
187
- // ],
188
- ),
189
- child: Container(
190
- padding: EdgeInsets.symmetric(horizontal: 10),
51
+ padding: EdgeInsets.symmetric(horizontal: 10),
52
+ child: IntrinsicHeight(
53
child: Row(
54
mainAxisAlignment: MainAxisAlignment.spaceBetween,
55
children: MainActions.all
@@ -229,9 +91,57 @@ class NavigationDock extends StatelessWidget {
91
),
92
),
93
),
232
- );
233
- },
94
+ ),
95
+ ),
96
),
97
);
98
+ },
99
+ ),
100
+ );
101
+ }
102
+
103
+ List<Color> _getColors(BuildContext context) {
104
+ final isBright = dashboardViewModel.settingsStore.currentTheme.type == ThemeType.bright;
105
+ return isBright
106
+ ? <Color>[
107
+ Theme.of(context)
108
+ .extension<DashboardPageTheme>()!
109
+ .thirdGradientBackgroundColor
110
+ .withAlpha(10),
111
+ Theme.of(context)
112
+ .extension<DashboardPageTheme>()!
113
+ .thirdGradientBackgroundColor
114
+ .withAlpha(75),
115
+ Theme.of(context)
116
+ .extension<DashboardPageTheme>()!
117
+ .thirdGradientBackgroundColor
118
+ .withAlpha(150),
119
+ Theme.of(context).extension<DashboardPageTheme>()!.thirdGradientBackgroundColor,
120
+ Theme.of(context).extension<DashboardPageTheme>()!.thirdGradientBackgroundColor
121
+ ]
122
+ : <Color>[
123
+ Theme.of(context)
124
+ .extension<DashboardPageTheme>()!
125
+ .thirdGradientBackgroundColor
126
+ .withAlpha(5),
127
+ Theme.of(context)
128
+ .extension<DashboardPageTheme>()!
129
+ .thirdGradientBackgroundColor
130
+ .withAlpha(50),
131
+ Theme.of(context)
132
+ .extension<DashboardPageTheme>()!
133
+ .thirdGradientBackgroundColor
134
+ .withAlpha(125),
135
+ Theme.of(context)
136
+ .extension<DashboardPageTheme>()!
137
+ .thirdGradientBackgroundColor
138
+ .withAlpha(150),
139
+ Theme.of(context)
140
+ .extension<DashboardPageTheme>()!
141
+ .thirdGradientBackgroundColor
142
+ .withAlpha(200),
143
+ Theme.of(context).extension<DashboardPageTheme>()!.thirdGradientBackgroundColor,
144
+ Theme.of(context).extension<DashboardPageTheme>()!.thirdGradientBackgroundColor
145
+ ];
146
}
147
}
lib/src/screens/dashboard/widgets/action_button.dart
+1
-1
@@ -31,7 +31,7 @@ class ActionButton extends StatelessWidget {
31
},
32
child: Container(
33
color: Colors.transparent,
34
- padding: EdgeInsets.only(top: 5, bottom: 5, left: 0, right: 0),
34
+ padding: EdgeInsets.only(top: 5, bottom: 4, left: 0, right: 0),
35
alignment: alignment,
36
child: Column(
37
mainAxisSize: MainAxisSize.max,
scripts/android/app_env.sh
+4
-4
@@ -15,15 +15,15 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
15
APP_ANDROID_TYPE=$1
16
17
MONERO_COM_NAME="Monero.com"
18
-MONERO_COM_VERSION="1.20.0"
19
-MONERO_COM_BUILD_NUMBER=113
18
+MONERO_COM_VERSION="1.20.2"
19
+MONERO_COM_BUILD_NUMBER=114
20
MONERO_COM_BUNDLE_ID="com.monero.app"
21
MONERO_COM_PACKAGE="com.monero.app"
22
MONERO_COM_SCHEME="monero.com"
23
24
CAKEWALLET_NAME="Cake Wallet"
25
-CAKEWALLET_VERSION="4.23.0"
26
-CAKEWALLET_BUILD_NUMBER=246
25
+CAKEWALLET_VERSION="4.23.2"
26
+CAKEWALLET_BUILD_NUMBER=247
27
CAKEWALLET_BUNDLE_ID="com.cakewallet.cake_wallet"
28
CAKEWALLET_PACKAGE="com.cakewallet.cake_wallet"
29
CAKEWALLET_SCHEME="cakewallet"
scripts/ios/app_env.sh
+4
-4
@@ -13,13 +13,13 @@ TYPES=($MONERO_COM $CAKEWALLET $HAVEN)
13
APP_IOS_TYPE=$1
14
15
MONERO_COM_NAME="Monero.com"
16
-MONERO_COM_VERSION="1.20.1"
17
-MONERO_COM_BUILD_NUMBER=111
16
+MONERO_COM_VERSION="1.20.2"
17
+MONERO_COM_BUILD_NUMBER=112
18
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
19
20
CAKEWALLET_NAME="Cake Wallet"
21
-CAKEWALLET_VERSION="4.23.1"
22
-CAKEWALLET_BUILD_NUMBER=295
21
+CAKEWALLET_VERSION="4.23.2"
22
+CAKEWALLET_BUILD_NUMBER=296
23
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
24
25
HAVEN_NAME="Haven"
scripts/linux/app_env.sh
+2
-2
@@ -14,8 +14,8 @@ if [ -n "$1" ]; then
14
fi
15
16
CAKEWALLET_NAME="Cake Wallet"
17
-CAKEWALLET_VERSION="1.13.0"
18
-CAKEWALLET_BUILD_NUMBER=46
17
+CAKEWALLET_VERSION="1.13.2"
18
+CAKEWALLET_BUILD_NUMBER=47
19
20
if ! [[ " ${TYPES[*]} " =~ " ${APP_LINUX_TYPE} " ]]; then
21
echo "Wrong app type."
scripts/macos/app_env.sh
+4
-4
@@ -16,13 +16,13 @@ if [ -n "$1" ]; then
16
fi
17
18
MONERO_COM_NAME="Monero.com"
19
-MONERO_COM_VERSION="1.10.0"
20
-MONERO_COM_BUILD_NUMBER=43
19
+MONERO_COM_VERSION="1.10.2"
20
+MONERO_COM_BUILD_NUMBER=44
21
MONERO_COM_BUNDLE_ID="com.cakewallet.monero"
22
23
CAKEWALLET_NAME="Cake Wallet"
24
-CAKEWALLET_VERSION="1.16.0"
25
-CAKEWALLET_BUILD_NUMBER=104
24
+CAKEWALLET_VERSION="1.16.2"
25
+CAKEWALLET_BUILD_NUMBER=105
26
CAKEWALLET_BUNDLE_ID="com.fotolockr.cakewallet"
27
28
if ! [[ " ${TYPES[*]} " =~ " ${APP_MACOS_TYPE} " ]]; then
scripts/windows/build_exe_installer.iss
+1
-1
@@ -1,5 +1,5 @@
1
#define MyAppName "Cake Wallet"
2
-#define MyAppVersion "0.4.0"
2
+#define MyAppVersion "0.4.2"
3
#define MyAppPublisher "Cake Labs LLC"
4
#define MyAppURL "https://cakewallet.com/"
5
#define MyAppExeName "CakeWallet.exe"